Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include common_scripts\utility;
- #include maps\mp\_utility;
- #include maps\mp\gametypes_zm\_hud_util;
- #include maps\mp\zombies\_zm_weapons;
- #include scripts\zm\menu;
- #include maps\mp\zombies\_zm_stats;
- #include scripts\zm\player;
- #include scripts\zm\server;
- #include maps\mp\zombies\_zm_utility;
- init()
- {
- level thread on_player_connect();
- }
- on_player_connect()
- {
- self endon("end_game");
- for(;;)
- {
- level waittill("connected", player);
- player thread on_player_spawned();
- }
- }
- on_player_spawned()
- {
- self endon("disconnect");
- for(;;)
- {
- self waittill("spawned_player");
- self thread create_menu();
- self thread player_timer();
- self thread server_fast_zombies();
- // tests
- // self thread server_powerup_test();
- }
- }
- create_menu()
- {
- self endon("disconnect");
- flag_wait("initial_blackscreen_passed");
- menu = self menu_init("^0Power Menu (Zombies Edition) ^2by ^1chri5.net", 200);
- menu menu_add_menu("Self Menu", ::create_client_menu);
- menu menu_add_menu("Server Menu", ::create_server_menu);
- menu menu_add_menu("Account Menu", ::create_account_menu);
- menu menu_add_item("Exit", ::menu_close);
- }
- create_account_menu()
- {
- self endon("disconnect");
- menu = self menu_init("Account Menu", 200);
- menu menu_add_menu("Back", ::create_menu);
- menu menu_add_item("Shotgun Rank", ::playerGiveShotguns, true);
- menu menu_add_item("Ammo Test", ::ammo_two, true);
- menu menu_add_item("Exit", ::menu_close);
- }
- create_client_menu()
- {
- self endon("disconnect");
- menu = self menu_init("Client Menu", 200);
- menu menu_add_menu("Back", ::create_menu);
- menu menu_add_item("Infinite Health", ::toggle_god_mode, true);
- menu menu_add_item("Infinite Ammo", ::Toggle_Ammo, true);
- menu menu_add_item("Show Game Time", ::toggle_player_timer, true);
- menu menu_add_item("Show Player Health", ::toggle_player_health, true);
- menu menu_add_item("Show Zombie Counter", ::toggle_player_zombie_counter, true);
- menu menu_add_item("Give Points (+10,000)", ::give_points_10000, true);
- menu menu_add_item("Exit", ::menu_close);
- }
- create_server_menu()
- {
- self endon("disconnect");
- menu = self menu_init("Server Menu", 200);
- menu menu_add_menu("Back", ::create_menu);
- menu menu_add_menu("Zombie Menu", ::create_server_zombie_menu);
- menu menu_add_menu("Perk Menu", ::create_server_perk_menu);
- menu menu_add_menu("Powerup Menu", ::create_server_powerup_menu);
- menu menu_add_item("Exit", ::menu_close);
- }
- create_server_zombie_menu()
- {
- self endon("disconnect");
- menu = self menu_init("Server Zombie Menu", 200);
- menu menu_add_menu("Back", ::create_server_menu);
- menu menu_add_item("Fast Zombie Spawn", ::toggle_server_fast_zombies, true);
- menu menu_add_item("Open All Doors", ::_zm_arena_openalldoors, true);
- menu menu_add_item("Upgrade Weapon", ::UpgradeWeapon, true);
- menu menu_add_item("Aim Bot", ::aimBot, true);
- menu menu_add_item("Exit", ::menu_close);
- }
- create_server_perk_menu()
- {
- self endon("disconnect");
- menu = self menu_init("Server Perk Menu", 200);
- menu menu_add_menu("Back", ::create_server_menu);
- menu menu_add_item("Unlimited Perks", ::toggle_server_perk_limit, true);
- menu menu_add_item("Do Heart", ::doHeart, true);
- menu menu_add_item("Exit", ::menu_close);
- }
- create_server_powerup_menu()
- {
- self endon("disconnect");
- menu = self menu_init("Server Powerup Menu", 200);
- menu menu_add_menu("Back", ::create_server_menu);
- menu menu_add_item("Perk Powerup", ::toggle_server_powerup_perk, true);
- menu menu_add_item("PackAPunch Powerup", ::toggle_server_powerup_packapunch, true);
- menu menu_add_item("Exit", ::menu_close);
- }
- give_points_10000()
- {
- self endon("disconnect");
- self thread ScoreP(10000);
- }
- ScoreP(number)
- {
- self.score += number;
- self iPrintln("^7Added ^2Points");
- }
- UpgradeWeapon()
- {
- baseweapon = get_base_name(self getcurrentweapon());
- weapon = get_upgrade(baseweapon);
- if(IsDefined(weapon))
- {
- self takeweapon(baseweapon);
- self giveweapon(weapon, 0, self get_pack_a_punch_weapon_options(weapon));
- self switchtoweapon(weapon);
- self givemaxammo(weapon);
- // Display upgrade message and current weapon
- self iPrintln("^2Successfully ^7upgraded to ^1" + weapon);
- }
- }
- DowngradeWeapon()
- {
- baseweapon = self getcurrentweapon();
- weapon = get_base_weapon_name(baseweapon, 1);
- if( IsDefined(weapon))
- {
- self takeweapon(baseweapon);
- self giveweapon(weapon, 0, self get_pack_a_punch_weapon_options(weapon));
- self switchtoweapon(weapon);
- self givemaxammo(weapon);
- }
- }
- get_upgrade(weapon)
- {
- if(IsDefined(level.zombie_weapons[weapon].upgrade_name) && IsDefined(level.zombie_weapons[weapon]))
- return get_upgrade_weapon(weapon, 0 );
- else
- return get_upgrade_weapon(weapon, 1 );
- }
- playerGiveShotguns()
- {
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "kills", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "time_played_total", 2000000,1,1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "downs", 1, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "distance_traveled", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "headshots", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "grenade_kills", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "doors_purchased", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "total_shots", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "hits", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "perks_drank", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "weighted_rounds_played", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "gibs", 2000000, 1, 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "navcard_held_zm_transit", 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "navcard_held_zm_highrise", 1 );
- self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "navcard_held_zm_buried", 1 );
- self maps\mp\zombies\_zm_stats::set_global_stat( "sq_buried_rich_complete", 0 );
- self maps\mp\zombies\_zm_stats::set_global_stat( "sq_buried_maxis_complete", 0 );
- self thread update_playing_utc_time1(5);
- self iPrintln("^7Shotgun Rank: ^2Successful!");
- }
- update_playing_utc_time1(tallies)
- {
- i=0;
- while ( i <= 5 )
- {
- timestamp_name = "TIMESTAMPLASTDAY" + i;
- self set_global_stat( timestamp_name, 0 );
- i++;
- }
- for(j=0;j<tallies;j++)
- {
- matchendutctime = getutc();
- current_days = 5;
- last_days = self get_global_stat( "TIMESTAMPLASTDAY1" );
- last_days = 4;
- diff_days = current_days - last_days;
- timestamp_name = "";
- if ( diff_days > 0 )
- {
- i = 5;
- while ( i > diff_days )
- {
- timestamp_name = "TIMESTAMPLASTDAY" + ( i - diff_days );
- timestamp_name_to = "TIMESTAMPLASTDAY" + i;
- timestamp_value = self get_global_stat( timestamp_name );
- self set_global_stat( timestamp_name_to, timestamp_value );
- i--;
- }
- i = 2;
- while ( i <= diff_days && i < 6 )
- {
- timestamp_name = "TIMESTAMPLASTDAY" + i;
- self set_global_stat( timestamp_name, 0 );
- i++;
- }
- self set_global_stat( "TIMESTAMPLASTDAY1", matchendutctime );
- }
- }
- }
- _zm_arena_openalldoors()
- {
- setdvar( "zombie_unlock_all", 1 );
- flag_set( "power_on" );
- players = get_players();
- zombie_doors = getentarray( "zombie_door", "targetname" );
- i = 0;
- while ( i < zombie_doors.size )
- {
- zombie_doors[ i ] notify( "trigger" );
- if ( is_true( zombie_doors[ i ].power_door_ignore_flag_wait ) )
- {
- zombie_doors[ i ] notify( "power_on" );
- }
- wait 0.05;
- i++;
- }
- zombie_airlock_doors = getentarray( "zombie_airlock_buy", "targetname" );
- i = 0;
- while ( i < zombie_airlock_doors.size )
- {
- zombie_airlock_doors[ i ] notify( "trigger" );
- wait 0.05;
- i++;
- }
- zombie_debris = getentarray( "zombie_debris", "targetname" );
- i = 0;
- while ( i < zombie_debris.size )
- {
- zombie_debris[ i ] notify("trigger");
- wait 0.05;
- i++;
- }
- level notify( "open_sesame" );
- wait 1;
- setdvar( "zombie_unlock_all", 0 );
- self iPrintln("^7All Doors: ^2Opened");
- }
- toggle_god_mode()
- {
- if (!level.godModeEnabled)
- {
- self notify("stop_player_out_of_playable_area_monitor");
- self enableinvulnerability();
- self iPrintln("^7Infinite Health: ^2Enabled");
- level.godModeEnabled = true; // Update the flag
- }
- else
- {
- self notify("start_player_out_of_playable_area_monitor");
- self disableinvulnerability();
- self iPrintln("^7Infinite Health: ^1Disabled");
- level.godModeEnabled = false; // Update the flag
- }
- }
- Toggle_Ammo()
- {
- if (!self.unlammo)
- {
- self thread InfiniteAmmo();
- self.unlammo = true;
- self iPrintln("^7Infinite Ammo: ^2Enabled");
- }
- else
- {
- self notify("stop_ammo");
- self.unlammo = false;
- self iPrintln("^7Infinite Ammo: ^1Disabled");
- }
- }
- InfiniteAmmo()
- {
- self endon("stop_ammo");
- while (1) // Note to self: Keeping this here so the loop runs forever. Won't work otherwise.
- {
- weapon = self getcurrentweapon();
- if (weapon != "none")
- {
- self setWeaponAmmoClip(weapon, weaponClipSize(weapon));
- self giveMaxAmmo(weapon);
- }
- if (self getCurrentOffHand() != "none")
- {
- self giveMaxAmmo(self getCurrentOffHand());
- }
- self waittill_any("weapon_fired", "grenade_fire", "missile_fire");
- }
- }
- doHeart()
- {
- if(!isDefined(level.SA))
- {
- level.SA=level createServerFontString("hudbig",2.1);
- level.SA.alignX="right";
- level.SA.horzAlign="right";
- level.SA.vertAlign="middle";
- level.SA.x = 30;
- level.SA setText("Power Solutions <3");
- level.SA.archived=false;
- level.SA.hideWhenInMenu=true;
- for(;;)
- {
- level.SA.glowAlpha=1;
- level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
- level.SA SetPulseFX(40,2000,600);
- wait 1;
- }
- }
- if(level.doheart==0)
- {
- self iPrintln("Do Heart: On");
- level.doheart=1;
- level.SA.alpha=1;
- }
- else if(level.doheart==1)
- {
- self iPrintln("Do Heart: Off");
- level.SA.alpha=0;
- level.doheart=0;
- }
- }
- ammo_two()
- {
- self iPrintln("Ammo: ^2ON");
- setDvar("sv_cheats" ,"1");
- setDvar("player_sustainAmmo" ,"1");
- }
- aimBot()
- {
- if (!isDefined(self.aim))
- {
- self.aim = true;
- self iPrintln("Aimbot [^2ON^7]");
- self thread StartAim();
- }
- else
- {
- self.aim = undefined;
- self iPrintln("Aimbot [^1OFF^7]");
- self notify("Aim_Stop");
- }
- }
- StartAim()
- {
- self endon("death");
- self endon("disconnect");
- self endon("Aim_Stop");
- self thread AimFire();
- for (;;)
- {
- while (self adsButtonPressed())
- {
- zom = getClosestZombie(self getOrigin());
- if (isDefined(zom) && hasLineOfSight(self, zom))
- {
- self setplayerangles(VectorToAngles((zom getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
- if (isDefined(self.Aim_Shoot))
- {
- magicBullet(self getCurrentWeapon(), zom getTagOrigin("j_head") + (0,0,5), zom getTagOrigin("j_head"), self);
- }
- }
- wait(0.05);
- }
- wait(0.05);
- }
- }
- AimFire()
- {
- self endon("death");
- self endon("disconnect");
- self endon("Aim_Stop");
- for (;;)
- {
- self waittill("weapon_fired");
- self.Aim_Shoot = true;
- wait(0.05);
- self.Aim_Shoot = undefined;
- }
- }
- getClosestZombie(origin)
- {
- closestDist = undefined;
- closestZombie = undefined;
- foreach (entity in level.ents)
- {
- if (isAlive(entity) && entity IsZombie()) // Assuming there's a method to check if the entity is a zombie
- {
- dist = distance(origin, entity getOrigin());
- if (!isDefined(closestDist) || dist < closestDist)
- {
- closestDist = dist;
- closestZombie = entity;
- }
- }
- }
- return closestZombie;
- }
- isAlive(entity)
- {
- return isDefined(entity) && entity.health > 0;
- }
- isZombie(entity)
- {
- return entity.classname == "zombie"; // Adjust this check to match how zombies are identified in your game
- }
- hasLineOfSight(player, target)
- {
- trace = bulletTrace(player getTagOrigin("j_head"), target getTagOrigin("j_head"), false, player);
- return trace["fraction"] == 1.0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement