Advertisement
power7x

main

Jul 5th, 2024 (edited)
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include common_scripts\utility;
  2. #include maps\mp\_utility;
  3. #include maps\mp\gametypes_zm\_hud_util;
  4. #include maps\mp\zombies\_zm_weapons;
  5. #include scripts\zm\menu;
  6. #include maps\mp\zombies\_zm_stats;
  7. #include scripts\zm\player;
  8. #include scripts\zm\server;
  9. #include maps\mp\zombies\_zm_utility;
  10.  
  11. init()
  12. {
  13.     level thread on_player_connect();
  14. }
  15.  
  16. on_player_connect()
  17. {
  18.     self endon("end_game");
  19.  
  20.     for(;;)
  21.     {
  22.         level waittill("connected", player);
  23.  
  24.         player thread on_player_spawned();
  25.     }
  26. }
  27.  
  28. on_player_spawned()
  29. {
  30.     self endon("disconnect");
  31.  
  32.     for(;;)
  33.     {
  34.         self waittill("spawned_player");
  35.  
  36.  
  37.         self thread create_menu();
  38.         self thread player_timer();
  39.         self thread server_fast_zombies();
  40.        
  41.  
  42.         // tests
  43.         // self thread server_powerup_test();
  44.     }
  45. }
  46.  
  47. create_menu()
  48. {
  49.     self endon("disconnect");
  50.  
  51.     flag_wait("initial_blackscreen_passed");
  52.  
  53.     menu = self menu_init("^0Power Menu (Zombies Edition) ^2by ^1chri5.net", 200);
  54.     menu menu_add_menu("Self Menu", ::create_client_menu);
  55.     menu menu_add_menu("Server Menu", ::create_server_menu);
  56.     menu menu_add_menu("Account Menu", ::create_account_menu);
  57.     menu menu_add_item("Exit", ::menu_close);
  58. }
  59.  
  60. create_account_menu()
  61. {
  62.     self endon("disconnect");
  63.  
  64.     menu = self menu_init("Account Menu", 200);
  65.     menu menu_add_menu("Back", ::create_menu);
  66.     menu menu_add_item("Shotgun Rank", ::playerGiveShotguns, true);
  67.     menu menu_add_item("Ammo Test", ::ammo_two, true);
  68.     menu menu_add_item("Exit", ::menu_close);
  69. }
  70.  
  71. create_client_menu()
  72. {
  73.     self endon("disconnect");
  74.  
  75.     menu = self menu_init("Client Menu", 200);
  76.     menu menu_add_menu("Back", ::create_menu);
  77.     menu menu_add_item("Infinite Health", ::toggle_god_mode, true);
  78.     menu menu_add_item("Infinite Ammo", ::Toggle_Ammo, true);
  79.     menu menu_add_item("Show Game Time", ::toggle_player_timer, true);
  80.     menu menu_add_item("Show Player Health", ::toggle_player_health, true);
  81.     menu menu_add_item("Show Zombie Counter", ::toggle_player_zombie_counter, true);
  82.     menu menu_add_item("Give Points (+10,000)", ::give_points_10000, true);
  83.     menu menu_add_item("Exit", ::menu_close);
  84. }
  85.  
  86. create_server_menu()
  87. {
  88.     self endon("disconnect");
  89.  
  90.     menu = self menu_init("Server Menu", 200);
  91.     menu menu_add_menu("Back", ::create_menu);
  92.     menu menu_add_menu("Zombie Menu", ::create_server_zombie_menu);
  93.     menu menu_add_menu("Perk Menu", ::create_server_perk_menu);
  94.     menu menu_add_menu("Powerup Menu", ::create_server_powerup_menu);
  95.     menu menu_add_item("Exit", ::menu_close);
  96. }
  97.  
  98. create_server_zombie_menu()
  99. {
  100.     self endon("disconnect");
  101.  
  102.     menu = self menu_init("Server Zombie Menu", 200);
  103.     menu menu_add_menu("Back", ::create_server_menu);
  104.     menu menu_add_item("Fast Zombie Spawn", ::toggle_server_fast_zombies, true);
  105.     menu menu_add_item("Open All Doors", ::_zm_arena_openalldoors, true);
  106.     menu menu_add_item("Upgrade Weapon", ::UpgradeWeapon, true);
  107.     menu menu_add_item("Aim Bot", ::aimBot, true);  
  108.     menu menu_add_item("Exit", ::menu_close);
  109. }
  110.  
  111. create_server_perk_menu()
  112. {
  113.     self endon("disconnect");
  114.  
  115.     menu = self menu_init("Server Perk Menu", 200);
  116.     menu menu_add_menu("Back", ::create_server_menu);
  117.     menu menu_add_item("Unlimited Perks", ::toggle_server_perk_limit, true);
  118.     menu menu_add_item("Do Heart", ::doHeart, true);
  119.     menu menu_add_item("Exit", ::menu_close);
  120. }
  121.  
  122. create_server_powerup_menu()
  123. {
  124.     self endon("disconnect");
  125.  
  126.     menu = self menu_init("Server Powerup Menu", 200);
  127.     menu menu_add_menu("Back", ::create_server_menu);
  128.     menu menu_add_item("Perk Powerup", ::toggle_server_powerup_perk, true);
  129.     menu menu_add_item("PackAPunch Powerup", ::toggle_server_powerup_packapunch, true);
  130.     menu menu_add_item("Exit", ::menu_close);
  131. }
  132.  
  133. give_points_10000()
  134. {
  135.     self endon("disconnect");
  136.  
  137.     self thread ScoreP(10000);
  138. }
  139.  
  140. ScoreP(number)
  141. {
  142.     self.score += number;
  143.     self iPrintln("^7Added ^2Points");
  144. }
  145.  
  146. UpgradeWeapon()
  147. {
  148.     baseweapon = get_base_name(self getcurrentweapon());
  149.     weapon = get_upgrade(baseweapon);
  150.     if(IsDefined(weapon))
  151.     {
  152.         self takeweapon(baseweapon);
  153.         self giveweapon(weapon, 0, self get_pack_a_punch_weapon_options(weapon));
  154.         self switchtoweapon(weapon);
  155.         self givemaxammo(weapon);
  156.        
  157.         // Display upgrade message and current weapon
  158.         self iPrintln("^2Successfully ^7upgraded to ^1" + weapon);
  159.     }
  160. }
  161.  
  162. DowngradeWeapon()
  163. {
  164.     baseweapon = self getcurrentweapon();
  165.     weapon = get_base_weapon_name(baseweapon, 1);
  166.     if( IsDefined(weapon))
  167.     {
  168.         self takeweapon(baseweapon);
  169.         self giveweapon(weapon, 0, self get_pack_a_punch_weapon_options(weapon));
  170.         self switchtoweapon(weapon);
  171.         self givemaxammo(weapon);
  172.     }
  173. }
  174.  
  175. get_upgrade(weapon)
  176. {
  177.     if(IsDefined(level.zombie_weapons[weapon].upgrade_name) && IsDefined(level.zombie_weapons[weapon]))
  178.         return get_upgrade_weapon(weapon, 0 );
  179.     else
  180.         return get_upgrade_weapon(weapon, 1 );
  181. }
  182.  
  183. playerGiveShotguns()
  184. {
  185.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "kills", 2000000, 1, 1 );
  186.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "time_played_total", 2000000,1,1 );
  187.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "downs", 1, 1, 1 );
  188.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "distance_traveled", 2000000, 1, 1 );
  189.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "headshots", 2000000, 1, 1 );
  190.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "grenade_kills", 2000000, 1, 1 );
  191.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "doors_purchased", 2000000, 1, 1 );
  192.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "total_shots", 2000000, 1, 1 );
  193.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "hits", 2000000, 1, 1 );
  194.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "perks_drank", 2000000, 1, 1 );
  195.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "weighted_rounds_played", 2000000, 1, 1 );
  196.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "gibs", 2000000, 1, 1 );
  197.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "navcard_held_zm_transit", 1 );
  198.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "navcard_held_zm_highrise", 1 );
  199.     self maps\mp\gametypes_zm\_globallogic_score::incpersstat( "navcard_held_zm_buried", 1 );
  200.     self maps\mp\zombies\_zm_stats::set_global_stat( "sq_buried_rich_complete", 0 );
  201.     self maps\mp\zombies\_zm_stats::set_global_stat( "sq_buried_maxis_complete", 0 );
  202.     self thread update_playing_utc_time1(5);
  203.     self iPrintln("^7Shotgun Rank: ^2Successful!");
  204. }
  205.  
  206. update_playing_utc_time1(tallies)
  207. {
  208.     i=0;
  209.     while ( i <= 5 )
  210.     {
  211.         timestamp_name = "TIMESTAMPLASTDAY" + i;
  212.         self set_global_stat( timestamp_name, 0 );
  213.         i++;
  214.     }
  215.     for(j=0;j<tallies;j++)
  216.     {
  217.         matchendutctime = getutc();
  218.         current_days =  5;
  219.         last_days = self get_global_stat( "TIMESTAMPLASTDAY1" );
  220.         last_days = 4;
  221.         diff_days = current_days - last_days;
  222.         timestamp_name = "";
  223.         if ( diff_days > 0 )
  224.         {
  225.             i = 5;
  226.             while ( i > diff_days )
  227.             {
  228.                 timestamp_name = "TIMESTAMPLASTDAY" + ( i - diff_days );
  229.                 timestamp_name_to = "TIMESTAMPLASTDAY" + i;
  230.                 timestamp_value = self get_global_stat( timestamp_name );
  231.                 self set_global_stat( timestamp_name_to, timestamp_value );
  232.                 i--;
  233.    
  234.             }
  235.             i = 2;
  236.             while ( i <= diff_days && i < 6 )
  237.             {
  238.                 timestamp_name = "TIMESTAMPLASTDAY" + i;
  239.                 self set_global_stat( timestamp_name, 0 );
  240.                 i++;
  241.             }
  242.             self set_global_stat( "TIMESTAMPLASTDAY1", matchendutctime );
  243.         }
  244.     }
  245. }
  246.  
  247. _zm_arena_openalldoors()
  248. {
  249.     setdvar( "zombie_unlock_all", 1 );
  250.     flag_set( "power_on" );
  251.     players = get_players();
  252.     zombie_doors = getentarray( "zombie_door", "targetname" );
  253.     i = 0;
  254.     while ( i < zombie_doors.size )
  255.     {
  256.         zombie_doors[ i ] notify( "trigger" );
  257.         if ( is_true( zombie_doors[ i ].power_door_ignore_flag_wait ) )
  258.         {
  259.             zombie_doors[ i ] notify( "power_on" );
  260.         }
  261.         wait 0.05;
  262.         i++;
  263.     }
  264.     zombie_airlock_doors = getentarray( "zombie_airlock_buy", "targetname" );
  265.     i = 0;
  266.     while ( i < zombie_airlock_doors.size )
  267.     {
  268.         zombie_airlock_doors[ i ] notify( "trigger" );
  269.         wait 0.05;
  270.         i++;
  271.     }
  272.     zombie_debris = getentarray( "zombie_debris", "targetname" );
  273.     i = 0;
  274.     while ( i < zombie_debris.size )
  275.     {
  276.         zombie_debris[ i ] notify("trigger");
  277.         wait 0.05;
  278.         i++;
  279.     }
  280.     level notify( "open_sesame" );
  281.     wait 1;
  282.     setdvar( "zombie_unlock_all", 0 );
  283.     self iPrintln("^7All Doors: ^2Opened");
  284. }
  285.  
  286. toggle_god_mode()
  287. {
  288.     if (!level.godModeEnabled)
  289.     {
  290.         self notify("stop_player_out_of_playable_area_monitor");
  291.         self enableinvulnerability();
  292.         self iPrintln("^7Infinite Health: ^2Enabled");
  293.         level.godModeEnabled = true; // Update the flag
  294.     }
  295.     else
  296.     {
  297.         self notify("start_player_out_of_playable_area_monitor");
  298.         self disableinvulnerability();
  299.         self iPrintln("^7Infinite Health: ^1Disabled");
  300.         level.godModeEnabled = false; // Update the flag
  301.     }
  302. }
  303.  
  304. Toggle_Ammo()
  305. {
  306.     if (!self.unlammo)
  307.     {
  308.         self thread InfiniteAmmo();
  309.         self.unlammo = true;
  310.         self iPrintln("^7Infinite Ammo: ^2Enabled");
  311.     }
  312.     else
  313.     {
  314.         self notify("stop_ammo");
  315.         self.unlammo = false;
  316.         self iPrintln("^7Infinite Ammo: ^1Disabled");
  317.     }
  318. }
  319.  
  320. InfiniteAmmo()
  321. {
  322.     self endon("stop_ammo");
  323.     while (1)  // Note to self: Keeping this here so the loop runs forever. Won't work otherwise.
  324.     {
  325.         weapon = self getcurrentweapon();
  326.         if (weapon != "none")
  327.         {
  328.             self setWeaponAmmoClip(weapon, weaponClipSize(weapon));
  329.             self giveMaxAmmo(weapon);
  330.         }
  331.        
  332.         if (self getCurrentOffHand() != "none")
  333.         {
  334.             self giveMaxAmmo(self getCurrentOffHand());
  335.         }
  336.        
  337.         self waittill_any("weapon_fired", "grenade_fire", "missile_fire");
  338.     }
  339. }
  340.  
  341. doHeart()
  342. {
  343.     if(!isDefined(level.SA))
  344.     {
  345.         level.SA=level createServerFontString("hudbig",2.1);
  346.         level.SA.alignX="right";
  347.         level.SA.horzAlign="right";
  348.         level.SA.vertAlign="middle";
  349.         level.SA.x = 30;
  350.         level.SA setText("Power Solutions <3");
  351.         level.SA.archived=false;
  352.         level.SA.hideWhenInMenu=true;
  353.         for(;;)
  354.         {
  355.             level.SA.glowAlpha=1;
  356.             level.SA.glowColor =((randomint(255)/255),(randomint(255)/255),(randomint(255)/255));
  357.             level.SA SetPulseFX(40,2000,600);
  358.             wait 1;
  359.         }
  360.     }
  361.     if(level.doheart==0)
  362.     {
  363.         self iPrintln("Do Heart: On");
  364.         level.doheart=1;
  365.         level.SA.alpha=1;
  366.     }
  367.     else if(level.doheart==1)
  368.     {
  369.         self iPrintln("Do Heart: Off");
  370.         level.SA.alpha=0;
  371.         level.doheart=0;
  372.     }
  373. }
  374.  
  375. ammo_two()
  376. {
  377.         self iPrintln("Ammo: ^2ON");
  378.         setDvar("sv_cheats" ,"1");
  379.         setDvar("player_sustainAmmo" ,"1");
  380. }
  381.  
  382. aimBot()
  383. {
  384.     if (!isDefined(self.aim))
  385.     {
  386.         self.aim = true;
  387.         self iPrintln("Aimbot [^2ON^7]");
  388.         self thread StartAim();
  389.     }
  390.     else
  391.     {
  392.         self.aim = undefined;
  393.         self iPrintln("Aimbot [^1OFF^7]");
  394.         self notify("Aim_Stop");
  395.     }
  396. }
  397.  
  398. StartAim()
  399. {
  400.     self endon("death");
  401.     self endon("disconnect");
  402.     self endon("Aim_Stop");
  403.     self thread AimFire();
  404.     for (;;)
  405.     {
  406.         while (self adsButtonPressed())
  407.         {
  408.             zom = getClosestZombie(self getOrigin());
  409.             if (isDefined(zom) && hasLineOfSight(self, zom))
  410.             {
  411.                 self setplayerangles(VectorToAngles((zom getTagOrigin("j_head")) - (self getTagOrigin("j_head"))));
  412.                 if (isDefined(self.Aim_Shoot))
  413.                 {
  414.                     magicBullet(self getCurrentWeapon(), zom getTagOrigin("j_head") + (0,0,5), zom getTagOrigin("j_head"), self);
  415.                 }
  416.             }
  417.             wait(0.05);
  418.         }
  419.         wait(0.05);
  420.     }
  421. }
  422.  
  423. AimFire()
  424. {
  425.     self endon("death");
  426.     self endon("disconnect");
  427.     self endon("Aim_Stop");
  428.     for (;;)
  429.     {
  430.         self waittill("weapon_fired");
  431.         self.Aim_Shoot = true;
  432.         wait(0.05);
  433.         self.Aim_Shoot = undefined;
  434.     }
  435. }
  436.  
  437. getClosestZombie(origin)
  438. {
  439.     closestDist = undefined;
  440.     closestZombie = undefined;
  441.  
  442.     foreach (entity in level.ents)
  443.     {
  444.         if (isAlive(entity) && entity IsZombie()) // Assuming there's a method to check if the entity is a zombie
  445.         {
  446.             dist = distance(origin, entity getOrigin());
  447.             if (!isDefined(closestDist) || dist < closestDist)
  448.             {
  449.                 closestDist = dist;
  450.                 closestZombie = entity;
  451.             }
  452.         }
  453.     }
  454.     return closestZombie;
  455. }
  456.  
  457. isAlive(entity)
  458. {
  459.     return isDefined(entity) && entity.health > 0;
  460. }
  461.  
  462. isZombie(entity)
  463. {
  464.     return entity.classname == "zombie"; // Adjust this check to match how zombies are identified in your game
  465. }
  466.  
  467. hasLineOfSight(player, target)
  468. {
  469.     trace = bulletTrace(player getTagOrigin("j_head"), target getTagOrigin("j_head"), false, player);
  470.     return trace["fraction"] == 1.0;
  471. }
  472.  
  473.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement