


Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!//_zm_weap_quantum_bomb.gsc
function init()
{
...
quantum_bomb_register_result("random_weapon_powerup", &quantum_bomb_random_weapon_powerup_result, 60);
...
}
function quantum_bomb_random_weapon_powerup_result(position, player)
{
keys = array::randomize( GetArrayKeys( level.zombie_weapons ) );
if (IsDefined(level.CustomRandomWeaponWeights))
{
keys = player [[level.CustomRandomWeaponWeights]](keys);
}
w_weapon = keys[0];
for ( i = 0; i < keys.size; i++ )
{
if ( zm_weapons::get_is_in_box( keys[i] ) )
{
w_weapon = keys[i];
break;
}
}
if(zm_weapons::can_upgrade_weapon(w_weapon) && !RandomInt(4))
w_weapon = zm_weapons::get_upgrade_weapon(w_weapon);
level.zombie_powerups["random_weapon"].weapon = w_weapon;
dw_weapon = w_weapon.dualWieldWeapon;
if ( dw_weapon != level.weaponNone )
level.zombie_powerups["random_weapon"].model_name = dw_weapon.worldmodel;
else
level.zombie_powerups["random_weapon"].model_name = w_weapon.worldmodel;
level thread zm_powerups::specific_powerup_drop("random_weapon", position);
}
//_zm_powerup_random_weapon.gsc
#using scripts\codescripts\struct;
#using scripts\shared\ai\zombie_death;
#using scripts\shared\array_shared;
#using scripts\shared\clientfield_shared;
#using scripts\shared\flag_shared;
#using scripts\shared\flagsys_shared;
#using scripts\shared\laststand_shared;
#using scripts\shared\system_shared;
#using scripts\shared\util_shared;
#using scripts\zm\_zm_blockers;
#using scripts\zm\_zm_devgui;
#using scripts\zm\_zm_magicbox;
#using scripts\zm\_zm_melee_weapon;
#using scripts\zm\_zm_pers_upgrades;
#using scripts\zm\_zm_pers_upgrades_functions;
#using scripts\zm\_zm_powerups;
#using scripts\zm\_zm_score;
#using scripts\zm\_zm_spawner;
#using scripts\zm\_zm_utility;
#using scripts\zm\_zm_weapons;
#namespace zm_powerup_random_weapon;
//REGISTER_SYSTEM( "zm_powerup_random_weapon", &__init__, undefined )
/*function autoexec __init__sytem__()
{
system::register("zm_powerup_random_weapon", &__init__, undefined, undefined);
}*/
function init()
{
zm_powerups::register_powerup("random_weapon", &give_random_weapon, &setup_random_weapon);
if(tolower(getdvarstring("g_gametype")) != "zcleansed")
{
zm_powerups::add_zombie_powerup("random_weapon", "zombie_pickup_minigun", &"", &zm_powerups::func_should_never_drop, 1, 0, 0);
zm_powerups::powerup_set_statless_powerup("random_weapon");
zm_powerups::powerup_set_player_specific("random_weapon", 1);
}
}
function give_random_weapon(e_player)
{
w_weapon = level.zombie_powerups["random_weapon"].weapon;
e_player notify(#"hash_31471387");
e_player zm_weapons::weapon_give(w_weapon, 0, 0, 1);
wait(0.1);
}
//make sure no missing tags on weapon models
function setup_random_weapon()
{
self useweaponmodel( level.zombie_powerups["random_weapon"].weapon, level.zombie_powerups["random_weapon"].model_name );
}
//_zm_powerup_random_weapon.csc
#using scripts\codescripts\struct;
#using scripts\shared\clientfield_shared;
#using scripts\shared\system_shared;
#using scripts\zm\_zm_powerups;
#insert scripts\shared\shared.gsh;
#namespace zm_powerup_random_weapon;
REGISTER_SYSTEM( "zm_powerup_random_weapon", &__init__, undefined )
/*function autoexec __init__sytem__()
{
system::register("zm_powerup_random_weapon", &__init__, undefined, undefined);
}*/
function __init__()
{
zm_powerups::include_zombie_powerup("random_weapon");
zm_powerups::add_zombie_powerup("random_weapon");
}
//nsz_powerup_weapon.csc/zm_powerup_random_weapon.csc
//change "weapon" with "random_weapon" so hacker scripts know it's not hackable
function __init__()
{
zm_powerups::include_zombie_powerup( "random_weapon" );
zm_powerups::add_zombie_powerup( "random_weapon" );
}
//nsz_powerup_weapon.gsc/zm_powerup_random_weapon.gsc
zm_powerups::register_powerup( "random_weapon", &grab_weapon, &setup_weapon );
if( ToLower( GetDvarString( "g_gametype" ) ) != "zcleansed" )
{
zm_powerups::add_zombie_powerup( "random_weapon", "tag_origin", "", &zm_powerups::func_should_never_drop, POWERUP_ONLY_AFFECTS_GRABBER, !POWERUP_ANY_TEAM, !POWERUP_ZOMBIE_GRABBABLE );
zm_powerups::powerup_set_statless_powerup("random_weapon");
zm_powerups::powerup_set_player_specific("random_weapon", 1);
}
//nsz_powerup_weapon.gsc/zm_powerup_random_weapon.gsc
//remove weapon_lookup_table function above this, func_should_drop_weapon below this
function setup_weapon( player )
{
//level.weapon_lookup_table = array::randomize( level.weapon_lookup_table );
keys = array::randomize( GetArrayKeys( level.zombie_weapons ) );
if (IsDefined(level.CustomRandomWeaponWeights))
{
keys = player [[level.CustomRandomWeaponWeights]](keys);
}
weapon_to_give = keys[0];
//pap_triggers = zm_pap_util::get_triggers();
for ( i = 0; i < keys.size; i++ )
{
if ( zm_weapons::get_is_in_box( keys[i] ) )
//if ( zm_magicbox::treasure_chest_CanPlayerReceiveWeapon( player, keys[i], pap_triggers ) )
{
weapon_to_give = keys[i];
break;
}
}
//w_weapon = zm_magicbox::treasure_chest_ChooseWeightedRandomWeapon();
if(zm_weapons::can_upgrade_weapon(weapon_to_give) && !RandomInt(4))
weapon_to_give = zm_weapons::get_upgrade_weapon(weapon_to_give);
//weapon_to_give = level.weapon_lookup_table[0];
world_gun = GetWeaponWorldModel(weapon_to_give);
//self SetModel( world_gun );
self useweaponmodel( weapon_to_give, world_gun );
self.weapon_to_give = weapon_to_give;
)
//nsz_powerup_weapon.gsc/zm_powerup_random_weapon.gsc
//replace GiveWeapon call with zm_weapons::weapon_give, other no. of weapons/Mule Kick checks are unnecessary
function grab_weapon( player )
{
weaps = player getweaponslistprimaries();
gun = self.weapon_to_give;
if( player does_player_have(gun) )
return;
player zm_weapons::weapon_give( gun, zm_weapons::is_weapon_upgraded(gun) );
}