PhD Perma Perk Script for all maps!
BO2 Modding Releases & Resources
1
Posts
1
Posters
166
Views
1
Watching
-
This script was inspired from the Hell's Vengeance Mod Menu by AlexibuscusGaming
Code is taken from the Mod Menu and modified by Me!
- PhD's Damage is infinite in both versions!
Chat Command Activation
Say: #perma
Version 1 Raw Code:
#include maps\mp\zombies\_zm_utility; init() { level thread monitorPermaCommand(); } // // ======================================== // COMMAND MONITOR (#perma) // ======================================== // monitorPermaCommand() { level endon("game_ended"); prefix = "#"; for (;;) { level waittill("say", message, player); if (!isDefined(message) || !isDefined(player)) continue; message = toLower(message); if (message[0] == prefix) { args = strtok(message, " "); command = getSubStr(args[0], 1); if (command == "perma") { player togglephd(); } } } } // // ======================================== // TOGGLE PHD // ======================================== // togglephd() { if (!isDefined(self.flopp)) { self.flopp = 1; self IPrintLn("^2PHD Flopper Enabled"); self thread loopphd(); } else { self.flopp = undefined; self IPrintLn("^1PHD Flopper Disabled"); self notify("stop_phd"); } } // // ======================================== // PHD LOOP // ======================================== // loopphd() { self endon("disconnect"); self endon("stop_phd"); for (;;) { if (isDefined(self.flopp) && isDefined(self.divetoprone) && self.divetoprone) { if (self isOnGround()) { self explodephd(); wait 0.3; } } wait 0.05; } } // // ======================================== // EXPLOSION // ======================================== // explodephd() { if (level.script == "zm_buried" || level.script == "zm_tomb") explosionfx = level._effect["divetonuke_groundhit"]; else explosionfx = loadfx("explosions/fx_default_explosion"); self playsound("zmb_phdflop_explo"); playfx(explosionfx, self.origin); self damagezombiesinrange(310, self, "kill"); } // // ======================================== // DAMAGE ZOMBIES IN RANGE // ======================================== // damagezombiesinrange(range, what, amount) { enemy = getaiarray(level.zombie_team); foreach (zombie in enemy) { if (distance(zombie.origin, what.origin) < range) { if (amount == "kill") zombie dodamage(zombie.health * 2, zombie.origin, self); else zombie dodamage(amount, zombie.origin, self); } } }Version 2 Raw Code (Actual PhD):
#include maps\mp\zombies\_zm_utility; init() { level thread monitorPermaCommand(); } // // ======================================== // COMMAND MONITOR (#perma) // ======================================== // monitorPermaCommand() { level endon("game_ended"); prefix = "#"; for (;;) { level waittill("say", message, player); if (!isDefined(message) || !isDefined(player)) continue; message = toLower(message); if (message[0] == prefix) { args = strtok(message, " "); command = getSubStr(args[0], 1); if (command == "perma") { player togglephd(); } } } } // // ======================================== // TOGGLE PHD // ======================================== // togglephd() { if (!isDefined(self.flopp)) { self.flopp = 1; self IPrintLn("^2PHD Flopper Enabled"); self thread loopphd(); self maps\mp\zombies\_zm_perks::give_perk("specialty_flakjacket"); } else { self.flopp = undefined; self IPrintLn("^1PHD Flopper Disabled"); self notify("stop_phd"); } } // // ======================================== // PHD LOOP // ======================================== // loopphd() { self endon("disconnect"); self endon("stop_phd"); for (;;) { if (isDefined(self.flopp) && isDefined(self.divetoprone) && self.divetoprone) { if (self isOnGround()) { self explodephd(); wait 0.3; } } wait 0.05; } } // // ======================================== // EXPLOSION // ======================================== // explodephd() { if (level.script == "zm_buried" || level.script == "zm_tomb") explosionfx = level._effect["divetonuke_groundhit"]; else explosionfx = loadfx("explosions/fx_default_explosion"); self playsound("zmb_phdflop_explo"); playfx(explosionfx, self.origin); self damagezombiesinrange(310, self, "kill"); } // // ======================================== // DAMAGE ZOMBIES IN RANGE // ======================================== // damagezombiesinrange(range, what, amount) { enemy = getaiarray(level.zombie_team); foreach (zombie in enemy) { if (distance(zombie.origin, what.origin) < range) { if (amount == "kill") zombie dodamage(zombie.health * 2, zombie.origin, self); else zombie dodamage(amount, zombie.origin, self); } } }