diff --git a/zomb++ (UPDATE)/zm_custom_perks.gsc b/zomb++ (UPDATE)/zm_custom_perks.gsc deleted file mode 100644 index 521f654..0000000 --- a/zomb++ (UPDATE)/zm_custom_perks.gsc +++ /dev/null @@ -1,296 +0,0 @@ -onPlayerDowned() -{ - self endon("disconnect"); - self endon("death"); - level endon("end_game"); - - for(;;) - { - self waittill( "player_downed" ); - self unsetperk( "specialty_additionalprimaryweapon" ); //removes the mulekick perk functionality - self unsetperk( "specialty_longersprint" ); //removes the staminup perk functionality - self unsetperk( "specialty_deadshot" ); //removes the deadshot perk functionality - self.hasPHD = undefined; //resets the flopper variable - self.hasMuleKick = undefined; //resets the mule kick variable - self.hasStaminUp = undefined; //resets the staminup variable - self.hasDeadshot = undefined; //resets the deadshot variable - self.icon1 Destroy();self.icon1 = undefined; //deletes the perk icons and resets the variable - self.icon2 Destroy();self.icon2 = undefined; //deletes the perk icons and resets the variable - self.icon3 Destroy();self.icon3 = undefined; //deletes the perk icons and resets the variable - self.icon4 Destroy();self.icon4 = undefined; //deletes the perk icons and resets the variable - } -} -initCustomPerksOnPlayer() -{ - self.hasPHD = undefined; //also resets phd flopper when a player dies and respawns - if(getDvar("mapname") == "zm_nuked" || getDvar("mapname") == "zm_transit" || getDvar("mapname") == "zm_buried" || getDvar("mapname") == "zm_highrise" || getDvar("mapname") == "zm_prison") - { - self thread onPlayerDowned(); //takes perks and perk icons when you go down - } - else if(getDvar("mapname") != "zm_tomb" && level.disableAllCustomPerks == 0 && level.enablePHDFlopper == 1) - { - self.hasPHD = true; //gives phd on maps like town (i think. i actually never tested on any maps besides the ones provided) - self thread drawCustomPerkHUD("specialty_doubletap_zombies", 0, (1, 0.25, 1)); - } -} -startCustomPerkMachines() -{ - if(level.disableAllCustomPerks == 0) - { - self thread doPHDdive(); //self.hasPHD needs to be defined in order for this to work (after you pickup perk) - if(getDvar("mapname") == "zm_prison") //mob of the dead - { - if(level.enablePHDFlopper == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_deadshot", "p6_zm_al_vending_nuke_on", "PHD Flopper", 3000, (2427.45, 10048.4, 1704.13), "PHD_FLOPPER", (0, 0, 0) ); - if(level.enableStaminUp == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_deadshot", "p6_zm_al_vending_doubletap2_on", "Stamin-Up", 2000, (-339.642, -3915.84, -8447.88), "specialty_longersprint", (0, 270, 0) ); - } - else if(getDvar("mapname") == "zm_highrise") //die rise - { - if(level.enablePHDFlopper == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_whoswho", "zombie_vending_nuke_on_lo", "PHD Flopper", 3000, (1260.3, 2736.36, 3047.49), "PHD_FLOPPER", (0, 0, 0) ); - if(level.enableDeadshot == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_whoswho", "zombie_vending_revive", "Deadshot Daiquiri", 1500, (3690.54, 1932.36, 1420), "specialty_deadshot", (-15, 0, 0) ); - if(level.enableStaminUp == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_revive", "zombie_vending_doubletap2", "Stamin-Up", 2000, (1704, -35, 1120.13), "specialty_longersprint", (0, -30, 0) ); - } - else if(getDvar("mapname") == "zm_buried") //buried - { - if(level.enablePHDFlopper == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_marathon", "zombie_vending_jugg", "PHD Flopper", 3000, (2631.73, 304.165, 240.125), "PHD_FLOPPER", (5, 0, 0) ); - if(level.enableDeadshot == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_marathon", "zombie_vending_revive", "Deadshot Daiquiri", 1500, (1055.18, -1055.55, 201), "specialty_deadshot", (3, 270, 0) ); - } - else if(getDvar("mapname") == "zm_nuked") //nuketown - { - if(level.enablePHDFlopper == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_revive", "zombie_vending_jugg", "PHD Flopper", 3000, (683, 727, -56), "PHD_FLOPPER", (5, 250, 0) ); - if(level.enableDeadshot == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_jugg", "zombie_vending_revive", "Deadshot Daiquiri", 1500, (747, 356, 91), "specialty_deadshot", (0, 330, 0) ); - if(level.enableStaminUp == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_revive", "zombie_vending_doubletap2", "Stamin-Up", 2000, (-638, 268, -54), "specialty_longersprint", (0, 165, 0) ); - if(level.enableMuleKick == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_jugg", "zombie_vending_sleight", "Mule Kick", 3000, (-953, 715, 83), "specialty_additionalprimaryweapon", (0, 75, 0) ); - } - else if(getDvar("mapname") == "zm_transit") //transit - { - if(level.enablePHDFlopper == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_revive", "zombie_vending_jugg", "PHD Flopper", 3000, (-6304, 5430, -55), "PHD_FLOPPER", (0, 90, 0) ); - if(level.enableDeadshot == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_jugg", "zombie_vending_revive", "Deadshot Daiquiri", 1500, (-6088, -7419, 0), "specialty_deadshot", (0, 90, 0) ); - if(level.enableMuleKick == 1) - self thread CustomPerkMachine( "zombie_perk_bottle_jugg", "zombie_vending_sleight", "Mule Kick", 3000, (1149, -215, -304), "specialty_additionalprimaryweapon", (0, 180, 0) ); - } - } -} -doPHDdive() //credit to extinct. just edited to add self.hasPHD variable -{ - self endon("disconnect"); - level endon("end_game"); - - for(;;) - { - if(isDefined(self.divetoprone) && self.divetoprone) - { - if(self isOnGround() && isDefined(self.hasPHD)) - { - if(level.script == "zm_tomb" || level.script == "zm_buried") - 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"); - wait .3; - } - } - wait .05; - } -} -damageZombiesInRange(range, what, amount) //damage zombies for phd flopper -{ - 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); - } - } -} -phd_flopper_dmg_check( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, timeoffset, boneindex ) //phdflopdmgchecker lmao -{ - self endon( "disconnect" ); - level endon( "end_game" ); - if ( smeansofdeath == "MOD_FALLING" || smeansofdeath == "MOD_PROJECTILE" || smeansofdeath == "MOD_PROJECTILE_SPLASH" || smeansofdeath == "MOD_GRENADE" || smeansofdeath == "MOD_GRENADE_SPLASH" || smeansofdeath == "MOD_EXPLOSIVE" ) - { - if(isDefined(self.hasPHD)) //if player has phd flopper, dont damage the player - return; - } - [[ level.playerDamageStub ]]( einflictor, eattacker, idamage, idflags, smeansofdeath, sweapon, vpoint, vdir, shitloc, timeoffset, boneindex ); -} -CustomPerkMachine( bottle, model, perkname, cost, origin, perk, angles ) //custom perk system. orginal code from ZeiiKeN. edited to work for all maps and custom phd perk -{ - self endon( "disconnect" ); - level endon( "end_game" ); - if(!isDefined(level.customPerksAreSpawned)) - level.customPerksAreSpawned = true; - if(!isDefined(self.customPerkNum)) - self.customPerkNum = 1; - else - self.customPerkNum += 1; - collision = spawn("script_model", origin); - collision setModel("collision_geo_cylinder_32x128_standard"); - collision rotateTo(angles, .1); - RPerks = spawn( "script_model", origin ); - RPerks setModel( model ); - RPerks rotateTo(angles, .1); - level thread LowerMessage( "Custom Perks", "Hold ^3F ^7for "+perkname+" [Cost: "+cost+"]" ); - trig = spawn("trigger_radius", origin, 1, 25, 25); - trig SetCursorHint( "HINT_NOICON" ); - trig setLowerMessage( trig, "Custom Perks" ); - for(;;) - { - trig waittill("trigger", self); - if(self useButtonPressed() && self.score >= cost) - { - wait .25; - if(self useButtonPressed()) - { - if(perk != "PHD_FLOPPER" && !self hasPerk(perk) || perk == "PHD_FLOPPER" && !isDefined(self.hasPHD)) - { - self playsound( "zmb_cha_ching" ); //money shot - self.score -= cost; //take points - level.trig hide(); - self thread GivePerk( bottle, perk, perkname ); //give perk - wait 2; - level.trig show(); - } - else - self iprintln("You Already Have "+perkname+"!"); - } - } - } -} -GivePerk( model, perk, perkname ) -{ - self DisableOffhandWeapons(); - self DisableWeaponCycling(); - weaponA = self getCurrentWeapon(); - weaponB = model; - self GiveWeapon( weaponB ); - self SwitchToWeapon( weaponB ); - self waittill( "weapon_change_complete" ); - self EnableOffhandWeapons(); - self EnableWeaponCycling(); - self TakeWeapon( weaponB ); - self SwitchToWeapon( weaponA ); - self setperk( perk ); - self maps/mp/zombies/_zm_audio::playerexert( "burp" ); - self setblur( 4, 0.1 ); - wait 0.1; - self setblur( 0, 0.1 ); - if(perk == "PHD_FLOPPER") - { - self.hasPHD = true; - self thread drawCustomPerkHUD("specialty_doubletap_zombies", 0, (1, 0.25, 1)); - } - else if(perk == "specialty_additionalprimaryweapon") - { - self.hasMuleKick = true; - self thread drawCustomPerkHUD("specialty_fastreload_zombies", 0, (0, 0.7, 0)); - } - else if(perk == "specialty_longersprint") - { - self.hasStaminUp = true; - self thread drawCustomPerkHUD("specialty_juggernaut_zombies", 0, (1, 1, 0)); - } - else if(perk == "specialty_deadshot") - { - self.hasDeadshot = true; - self thread drawCustomPerkHUD("specialty_quickrevive_zombies", 0, (0.125, 0.125, 0.125)); - } -} -LowerMessage( ref, text ) -{ - if( !IsDefined( level.zombie_hints ) ) - level.zombie_hints = []; - PrecacheString( text ); - level.zombie_hints[ref] = text; -} -setLowerMessage( ent, default_ref ) -{ - if( IsDefined( ent.script_hint ) ) - self SetHintString( get_zombie_hint( ent.script_hint ) ); - else - self SetHintString( get_zombie_hint( default_ref ) ); -} -drawshader( shader, x, y, width, height, color, alpha, sort ) -{ - hud = newclienthudelem( self ); - hud.elemtype = "icon"; - hud.color = color; - hud.alpha = alpha; - hud.sort = sort; - hud.children = []; - hud setparent( level.uiparent ); - hud setshader( shader, width, height ); - hud.x = x; - hud.y = y; - return hud; -} -drawCustomPerkHUD(perk, x, color, perkname) //perk hud thinking or whatever. probably not the best method but whatever lol -{ - if(!isDefined(self.icon1)) - { - x = -408; - if(getDvar("mapname") == "zm_buried") - self.icon1 = self drawshader( perk, x, 293, 24, 25, color, 100, 0 ); - else - self.icon1 = self drawshader( perk, x, 320, 24, 25, color, 100, 0 ); - } - else if(!isDefined(self.icon2)) - { - x = -378; - if(getDvar("mapname") == "zm_buried") - self.icon2 = self drawshader( perk, x, 293, 24, 25, color, 100, 0 ); - else - self.icon2 = self drawshader( perk, x, 320, 24, 25, color, 100, 0 ); - } - else if(!isDefined(self.icon3)) - { - x = -348; - if(getDvar("mapname") == "zm_buried") - self.icon3 = self drawshader( perk, x, 293, 24, 25, color, 100, 0 ); - else - self.icon3 = self drawshader( perk, x, 320, 24, 25, color, 100, 0 ); - } - else if(!isDefined(self.icon4)) - { - x = -318; - if(getDvar("mapname") == "zm_buried") - self.icon4 = self drawshader( perk, x, 293, 24, 25, color, 100, 0 ); - else - self.icon4 = self drawshader( perk, x, 320, 24, 25, color, 100, 0 ); - } -} -LowerMessage( ref, text ) -{ - if( !IsDefined( level.zombie_hints ) ) - level.zombie_hints = []; - PrecacheString( text ); - level.zombie_hints[ref] = text; -} -setLowerMessage( ent, default_ref ) -{ - if( IsDefined( ent.script_hint ) ) - self SetHintString( get_zombie_hint( ent.script_hint ) ); - else - self SetHintString( get_zombie_hint( default_ref ) ); -} - - -