this is what i made while back for my custom town survival. could be cleaner.. weapon is located next to upstairs box.
https://github.com/whydoesanyonecare/custom-wall-weapon-script/blob/main/M16_wall_weapon_town.gsc
this is what i made while back for my custom town survival. could be cleaner.. weapon is located next to upstairs box.
https://github.com/whydoesanyonecare/custom-wall-weapon-script/blob/main/M16_wall_weapon_town.gsc
Sweetcolt764403 Here is hotfix which skip cz75 dual wield if it comes out from box or Random Guns task.
update: fixed box not giving weapons
update 2: added few more task and some junk like heathbar and hitmarks to this hotfix.

If you want to use this script without hassle before the issue has been fixed here is guide.
Download and copy this file to %localappdata%\Plutonium\storage\t5\maps that will replace the original game file without touching game files.
if you do not have these folders create them.
bhfff You get zom folder scripts loaded for solo if you press first online and then go back and press solo.

Added new perk tombstone for Mod of the dead, nuketown, origins and buried.
This perk work like original tombstone and is only available if more then one player is in the game.
perk shader:

Cxrrupt2 Since you have not done gsc before and the code you used as base is old i wanted to show how you could make it lil bit better.
You have used "thread" which allow running code after it even if the old function is not done running. Because of this you can use same "wallweaponmonitorbox" and "playchalkfx" functions for all weapons.
Also with loops you should add endons like "level endon("end_game");" which stops the loop running after game ended otherwise the loop can cause issues like crashing.
#include maps\mp\_utility;
#include maps\mp\zombies\_zm_utility;
#include common_scripts\utility;
#include maps\mp\gametypes_zm\_hud_util;
#include maps\mp\zombies\_zm_weapons;
#include maps\mp\zombies\_zm_magicbox;
init()
{
if(getdvar("mapname") == "zm_transit") //run only in any transit map
{
//precaching fx effects might cause issues if game has them already precached
//caused error with other script of mine
level._effect["wall_b23r"] = loadfx( "maps/zombie/fx_zmb_wall_buy_berreta93r" );
level._effect["wall_m16"] = loadfx( "maps/zombie/fx_zmb_wall_buy_m16" );
level._effect["wall_mp5k"] = loadfx( "maps/zombie/fx_zmb_wall_buy_mp5k" );
flag_wait( "initial_blackscreen_passed" );
thread wallweaponmonitorbox(( 1126.7, 865.359, 10 ), ( 0, 270, 0 ), "m16_zm", 1200, 600 );
thread playchalkfx("wall_m16", ( 1126.7, 865.359, 10 ), ( 0, 270, 0 ));
thread wallweaponmonitorbox(( 611, -997, 177.2 ), ( 0, 270, 0 ), "mp5k_zm", 1200, 600 );
thread playchalkfx("wall_mp5k", ( 611, -995, 177 ), ( 0, 270, 0 ));
thread wallweaponmonitorbox(( 2428, 438, -5 ), ( 0, 180, 0 ), "fiveseven_zm", 1200, 600 );
thread playchalkfx("wall_b23r", ( 2428, 438, -5 ), ( 0, 180, 0 ));
}
}
playchalkfx(effect, origin, angles)
{
level endon("end_game");
for(;;)
{
fx = SpawnFX(level._effect[ effect ], origin,AnglesToForward(angles),AnglesToUp(angles));
TriggerFX(fx);
level waittill("connected", player);
fx Delete();
}
}
wallweaponmonitorbox(origin, angles, weapon, cost, ammo )
{
level endon("end_game");
name = get_weapon_display_name( weapon );
trigger = spawn("trigger_radius", origin, 0, 35, 80);
trigger SetCursorHint("HINT_NOICON");
trigger SetHintString("Hold ^3&&1^7 For Buy " + name + " [Cost: " + cost + "] Ammo [Cost: " + ammo + "] Upgraded Ammo [Cost: 4500]");
for(;;)
{
trigger waittill("trigger", player);
if(player usebuttonpressed() && !player maps\mp\zombies\_zm_laststand::player_is_in_laststand() && player can_buy_weapon())
{
if( !player has_weapon_or_upgrade(weapon) && player.score >= cost )
{
player playsound( "zmb_cha_ching" );
player.score -= cost;
player thread weapon_give( weapon, 0, 1 );
if(!isdefined(model))
{
play_sound_at_pos( "weapon_show", origin, player );
model = spawn("script_model", origin);
model.angles = angles;
model setmodel(getweaponmodel( weapon ));
}
wait 3;
}
else
{
if(player has_upgrade(weapon) && player.score >= 4500)
{
if(player ammo_give(get_upgrade_weapon(weapon)))
{
player.score -= 4500;
player playsound("zmb_cha_ching");
wait 3;
}
}
else if(player hasweapon(weapon) && player.score >= ammo)
{
if(player ammo_give(weapon))
{
player.score -= ammo;
player playsound("zmb_cha_ching");
wait 3;
}
}
}
}
wait .05;
}
}
JezuzLizard Idea was to keep it compiled until its ready to be posted. But since you love to share shit code lets leave it there.
Dss0 Is connection with ip ever going to be supported?
@DR-qnda thank you that helps alot. i think it is fixable without making the box unmoveable.
chasef7 I had same issue with my custom perk machine scripts. If player reload or does some activity while trying to buy perk it will some times break everything like yours did. Hope that help.
UserMCBG minigun is unlimited ammo weapon and you can give it to player in maps which has it.
Save it as you like with .gsc extension and copy it to %localappdata%/plutonium/storage/t5/scripts/sp
init()
{
if ( GetDvar( #"zombiemode" ) == "1" )
{
level thread onPlayerConnect();
}
}
onPlayerConnect()
{
level endon("end_game");
for(;;)
{
if(isDefined(level.player_too_many_weapons_monitor) && level.player_too_many_weapons_monitor)
level.player_too_many_weapons_monitor = 0;
level waittill("connected", player);
player thread onPlayerSpawned();
}
}
onPlayerSpawned()
{
self endon("disconnect");
level endon("end_game");
self waittill("spawned_player");
wait 4;
self giveweapon("minigun_zm");
self switchtoweapon("minigun_zm");
}
@DR-qnda fixed and updated compiled file link. test it out and report if it has more issues.
later on going to update the github page and add the auto compiler.
Fixed some problems with call of the dead.
@DR-qnda both are basically same but the new version doesnt use plutoniums replacefunc and because this it should work on any version of bo2 zombies. the first version only works only on plutonium.
SantiTheII It is open source you can learn how i made it by reading the code.
@IssamGamer Some mods work like gsc or iwi stuff, but i think full custom maps are not working yet. i can be wrong.
@lResxt line 374 has the time and 600 is 30 seconds.
line 502 has task timer because some task last 30 seconds.
both these should be modified because of some tasks might cause crash while active same time.