CabConModding
Facebook
Twitter
youtube
Discord
Contact us
RSS
Menu
CabConModding
Home
New
Top
Premium
Rules
FAQ - Frequently Asked Questions
Games
Fornite
Call of Duty: Black Ops 3
Clash of Clans
Grand Theft Auto 5
Apex Legends
Assassin’s Creed Origins
Forums
Premium
Latest posts
What's new
Latest posts
New profile posts
Latest activity
Members
Current visitors
New profile posts
Log in
Register
What's new
Premium
Latest posts
Menu
Log in
Register
Navigation
Install the app
Install
More options
Dark Theme
Contact us
Close Menu
Forums
Gaming
Call of Duty Classics
Call of Duty: Black Ops 3
Call of Duty: Black Ops 3 Mods and Scripts
Call of Duty: Black Ops 3 Scripts
Call of Duty: Black Ops 3 Scripts Question
Need help with some code
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Cxwh" data-source="post: 15166" data-attributes="member: 22664"><p>I recently started remaking all gobblegums from bo3 (not the crazy ones though) and now I got them all to work except for alchemical antithesis, impatient and pop shocks. Some of these are could be wrecks, but I tried to explain what i was thinking</p><p></p><p>These just make my head hurt... (except for impatient)</p><p style="text-align: center"></p> <p style="text-align: center">-------------------------------------------------------------</p> <p style="text-align: center">Some functions I'm using throughout this</p> <p style="text-align: center">[SPOILER][CODE]</p> <p style="text-align: center">function waittill_notify(event, event1)</p> <p style="text-align: center">{</p> <p style="text-align: center"> self waittill(event);</p> <p style="text-align: center"> self notify(event1);</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function waittill_call(event, func, arg1, arg2)</p> <p style="text-align: center">{</p> <p style="text-align: center"> self waittill(event)</p> <p style="text-align: center"> if(areDefined(arg1, arg2))</p> <p style="text-align: center"> self thread [[ func ]](arg1, arg2);</p> <p style="text-align: center"></p> <p style="text-align: center"> else if(isDefined(arg1) && !isDefined(arg2))</p> <p style="text-align: center"> self thread [[ func ]](arg1);</p> <p style="text-align: center"></p> <p style="text-align: center"> else</p> <p style="text-align: center"> self thread [[ func ]]();</p> <p style="text-align: center">}</p> <p style="text-align: center">function wait_notify(time, event)</p> <p style="text-align: center">{</p> <p style="text-align: center"> self wait(time);</p> <p style="text-align: center"> self notify(event);</p> <p style="text-align: center">}</p> <p style="text-align: center">function waittill_any_notify(notify_event, event1, event2, event3)</p> <p style="text-align: center">{</p> <p style="text-align: center"> if(isDefined(event1) && isDefined(event2) && isDefined(event3))</p> <p style="text-align: center"> self util::waittill_any(event1, event2, event3);</p> <p style="text-align: center"></p> <p style="text-align: center"> else if(isDefined(event1) && isDefined(event2))</p> <p style="text-align: center"> self util::waittill_any(event1, event2);</p> <p style="text-align: center"></p> <p style="text-align: center"> else</p> <p style="text-align: center"> self waittill(event1);</p> <p style="text-align: center"> self notify(notify_event);</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function areDefined(arg1, arg2)</p> <p style="text-align: center">{</p> <p style="text-align: center"> return isDefined(arg1) && isDefined(arg2);</p> <p style="text-align: center">}[/CODE][/SPOILER]</p> <p style="text-align: center"></p> <p style="text-align: center">-------------------------------------------------------------</p> <p style="text-align: center"></p> <p style="text-align: center">Pop Shocks</p> <p style="text-align: center"></p> <p style="text-align: center">First one:</p> <p style="text-align: center">[SPOILER][CODE]</p> <p style="text-align: center">function gum_pop_shocks()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("death");</p> <p style="text-align: center"> self endon("bgb_done");</p> <p style="text-align: center"> self endon("killed_5");</p> <p style="text-align: center"> self endon("player_downed");</p> <p style="text-align: center"></p> <p style="text-align: center"> //from electric cherry</p> <p style="text-align: center"> n_clip_current = 1;</p> <p style="text-align: center"> n_clip_max = 10;</p> <p style="text-align: center"> n_fraction = n_clip_current/n_clip_max;</p> <p style="text-align: center"></p> <p style="text-align: center"> //just a random numbers idk the real stats obv</p> <p style="text-align: center"> min_damage = 1000;</p> <p style="text-align: center"> max_damage = 7000;</p> <p style="text-align: center"></p> <p style="text-align: center"> //electric cherry melee radius - ik the radius is high but idk</p> <p style="text-align: center"> min_range = 32;</p> <p style="text-align: center"> max_range = 128;</p> <p style="text-align: center"></p> <p style="text-align: center"> //random</p> <p style="text-align: center"> //<player> thread [[level.callbackPlayerDamage]]( <entityThatCausesDamage>, <attacker>, <damageAmount>, <flags>, <meansOfDeath>, <weapon>, <pointTheDamageIsFrom>, <directionOfTheDamage>, <locationOfTheHit>, <timeOffset> );</p> <p style="text-align: center"></p> <p style="text-align: center"> self.pop_shock_kills = 0;</p> <p style="text-align: center"> self thread watch_kills();</p> <p style="text-align: center"></p> <p style="text-align: center"> for(;;)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self waittill(/*WE MELEED*/); //idk the name of the event + we can't do self meleebuttonpressed bc you would be able to spam it even when youre not meleeing</p> <p style="text-align: center"></p> <p style="text-align: center"> perk_radius = math::linear_map(n_fraction, 1.0, 0.0, min_range, max_range);</p> <p style="text-align: center"> perk_dmg = math::linear_map(n_fraction, 1.0, 0.0, min_damage, max_damage);</p> <p style="text-align: center"> </p> <p style="text-align: center"> //electric cherry attack</p> <p style="text-align: center"> if(isDefined(self))</p> <p style="text-align: center"> {</p> <p style="text-align: center"> n_zombie_limit = 2; //amount of zombies we can kill with one melee attack</p> <p style="text-align: center"></p> <p style="text-align: center"> self thread zm_perk_electric_cherry::electric_cherry_reload_fx(n_fraction);</p> <p style="text-align: center"> self PlaySound( "zmb_cherry_explode" );</p> <p style="text-align: center"> </p> <p style="text-align: center"> a_zombies = zombie_utility::get_round_enemy_array();</p> <p style="text-align: center"> a_zombies = util::get_array_of_closest(self.origin, a_zombies, undefined, undefined, perk_radius);</p> <p style="text-align: center"> n_zombies_hit = 0;</p> <p style="text-align: center"> </p> <p style="text-align: center"> for(i = 0; i < a_zombies.size; i++)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(isAlive(self) && isAlive(a_zombies[i]))</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(isDefined(n_zombie_limit)) //if the limit of zombies is undefined, keep going and hit all zombies we can</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(n_zombies_hit < n_zombie_limit) //if the we're under the limit, increment the count of zombies</p> <p style="text-align: center"> n_zombies_hit++;</p> <p style="text-align: center"> else</p> <p style="text-align: center"> break; //if we're at the limit of zombies, don't kill any more zombies</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(a_zombies[i].health <= perk_dmg) //if they died</p> <p style="text-align: center"> {</p> <p style="text-align: center"> a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_death_fx();</p> <p style="text-align: center"> </p> <p style="text-align: center"> self.pop_shock_kills++;</p> <p style="text-align: center"> self zm_score::add_to_player_score(40);</p> <p style="text-align: center"> }</p> <p style="text-align: center"> else //if they survived</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(!isDefined(a_zombies[ i ].is_brutus)) //if they're not 'a' brutus don't stun them</p> <p style="text-align: center"> a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_stun();</p> <p style="text-align: center"> a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_shock_fx();</p> <p style="text-align: center"> }</p> <p style="text-align: center"> wait 0.1;</p> <p style="text-align: center"> if(isDefined(a_zombies[i]) && isAlive(a_zombies[i]))</p> <p style="text-align: center"> a_zombies[i] doDamage(perk_dmg, self.origin, self, self, "none");</p> <p style="text-align: center"> }</p> <p style="text-align: center"> }</p> <p style="text-align: center"> }</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function watch_kills()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("bgb_done");</p> <p style="text-align: center"> self endon("killed_5");</p> <p style="text-align: center"></p> <p style="text-align: center"> while(self.pop_shock_kills >= 5)</p> <p style="text-align: center"> self notify("killed_5");</p> <p style="text-align: center">}[/CODE][/SPOILER]</p> <p style="text-align: center"></p> <p style="text-align: center">Second one:</p> <p style="text-align: center">[SPOILER][CODE]</p> <p style="text-align: center">function gum_pop_shocks()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("death");</p> <p style="text-align: center"> self endon("bgb_done");</p> <p style="text-align: center"> self endon("killed_5");</p> <p style="text-align: center"> self endon("player_downed");</p> <p style="text-align: center"></p> <p style="text-align: center"> //from electric cherry</p> <p style="text-align: center"> n_clip_current = 1;</p> <p style="text-align: center"> n_clip_max = 10;</p> <p style="text-align: center"> n_fraction = n_clip_current/n_clip_max;</p> <p style="text-align: center"></p> <p style="text-align: center"> //electric cherry melee radius - ik the radius is high but idk</p> <p style="text-align: center"> min_range = 32;</p> <p style="text-align: center"> max_range = 128;</p> <p style="text-align: center"> radius = math::linear_map(n_fraction, 1.0, 0.0, min_range, max_range);</p> <p style="text-align: center"></p> <p style="text-align: center"> self.pop_shock_kills = 0;</p> <p style="text-align: center"> self.done_meleeing = true;</p> <p style="text-align: center"></p> <p style="text-align: center"> self thread trackMeleeAttack();</p> <p style="text-align: center"> self thread watch_kills();</p> <p style="text-align: center"></p> <p style="text-align: center"> while(self meleeButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> wait 0.05; //no idea how long it takes to start the melee anim</p> <p style="text-align: center"> if(self isMeleeing() && self.done_meleeing)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.done_meleeing = false;</p> <p style="text-align: center"> self thread damageZombies(radius);</p> <p style="text-align: center"></p> <p style="text-align: center"> //self SetElectrified(1.0);</p> <p style="text-align: center">//play fx on self for now</p> <p style="text-align: center"> playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "j_head" );</p> <p style="text-align: center"> playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "J_Spine1" );</p> <p style="text-align: center"> playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "J_Spine4" );</p> <p style="text-align: center"> playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "pelvis" );</p> <p style="text-align: center"> self playSound( "zmb_cherry_explode" );</p> <p style="text-align: center"> }</p> <p style="text-align: center"> wait 0.05;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function trackMeleeAttack()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("death");</p> <p style="text-align: center"> self endon("bgb_done");</p> <p style="text-align: center"> self endon("killed_5");</p> <p style="text-align: center"> self endon("player_downed");</p> <p style="text-align: center"></p> <p style="text-align: center"> while(self isMeleeing() == false)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.done_meleeing = true;</p> <p style="text-align: center"> wait 0.05;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function damageZombies(radius)</p> <p style="text-align: center">{</p> <p style="text-align: center"> if(isDefined(self))</p> <p style="text-align: center"> {</p> <p style="text-align: center"> a_zombies = zombie_utility::get_round_enemy_array();</p> <p style="text-align: center"> a_zombies = util::get_array_of_closest(self.origin, a_zombies, undefined, undefined, radius);</p> <p style="text-align: center"></p> <p style="text-align: center"> n_zombies_hit = 0;</p> <p style="text-align: center"> n_zombie_limit = 1; //amount of zombies we can kill with one melee attack</p> <p style="text-align: center"> </p> <p style="text-align: center"> for(i = 0; i < a_zombies.size; i++)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(isAlive(self) && isAlive(a_zombies[i]))</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(isDefined(n_zombie_limit)) //if the limit of zombies is undefined, keep going and hit all zombies we can</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(n_zombies_hit < n_zombie_limit) //if the we're under the limit, increment the count of zombies</p> <p style="text-align: center"> n_zombies_hit++;</p> <p style="text-align: center"> else</p> <p style="text-align: center"> break; //if we're at the limit of zombies, don't kill any more zombies</p> <p style="text-align: center"> }</p> <p style="text-align: center"> if(a_zombies[i].health <= perk_dmg) //if they died</p> <p style="text-align: center"> {</p> <p style="text-align: center"> a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_death_fx();</p> <p style="text-align: center"> </p> <p style="text-align: center"> self.pop_shock_kills++;</p> <p style="text-align: center"> self zm_score::add_to_player_score(40); //points</p> <p style="text-align: center"> }</p> <p style="text-align: center"> else //if they survived</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(!isDefined(a_zombies[ i ].is_brutus)) //if they're 'a' brutus don't stun them</p> <p style="text-align: center"> a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_stun();</p> <p style="text-align: center"> a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_shock_fx();</p> <p style="text-align: center"> }</p> <p style="text-align: center"> wait 0.1;</p> <p style="text-align: center"> if(isDefined(a_zombies[i]) && isAlive(a_zombies[i]))</p> <p style="text-align: center"> a_zombies[i] doDamage(7000, self.origin, self, self, "none"); //1045 = zombie health at round 10 and since we only have 5 hits we do 7k</p> <p style="text-align: center"> }</p> <p style="text-align: center"> }</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function watch_kills()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("bgb_done");</p> <p style="text-align: center"> self endon("killed_5");</p> <p style="text-align: center"></p> <p style="text-align: center"> while(self.pop_shock_kills >= 5)</p> <p style="text-align: center"> self notify("killed_5");</p> <p style="text-align: center">}[/CODE][/SPOILER]</p> <p style="text-align: center"></p> <p style="text-align: center">-------------------------------------------------------------</p> <p style="text-align: center"></p> <p style="text-align: center">impatient</p> <p style="text-align: center">[SPOILER][CODE]</p> <p style="text-align: center">function gum_impatient()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("bgb_done");</p> <p style="text-align: center"></p> <p style="text-align: center"> self waittill("death");</p> <p style="text-align: center"> zombies = &GetAIArray("axis"); //if this is false I'll just call it in the loop</p> <p style="text-align: center"> for(;;)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(zombies.size <= 1)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> //how do i spawn back in</p> <p style="text-align: center"> break;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> wait 1;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}[/CODE][/SPOILER]</p> <p style="text-align: center"></p> <p style="text-align: center">-------------------------------------------------------------</p> <p style="text-align: center"></p> <p style="text-align: center">Alchemical antithesis</p> <p style="text-align: center">[SPOILER][CODE]</p> <p style="text-align: center">function gum_alchemical_antithesis()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("gum_done");</p> <p style="text-align: center"> self endon("alchem_done");</p> <p style="text-align: center"></p> <p style="text-align: center"> self thread waittill_notify("gum_done", "death", "player_downed"); //idfk what i was thinking</p> <p style="text-align: center"> self thread wait_notify(30, "alchem_done");</p> <p style="text-align: center"></p> <p style="text-align: center"> //self thread disableScoring();</p> <p style="text-align: center"> oldScore = self.score;</p> <p style="text-align: center"> max_clip = getWeaponAmmoClip();</p> <p style="text-align: center"> max_stock = getWeaponAmmoStock();</p> <p style="text-align: center"></p> <p style="text-align: center"> curWeapon = self getCurrentWeapon();</p> <p style="text-align: center"> curWeapon_alt = getWeapon(curWeapon);</p> <p style="text-align: center"></p> <p style="text-align: center"> //could probably waittill weapon fired too but this wouldnt include melee & grenade kills</p> <p style="text-align: center"> for(;;)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> if(self secondaryOffhandButtonPressed())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> wait 0.3; //just to see if he double tapped</p> <p style="text-align: center"> if(curWeapon != self getCurrentWeapon())</p> <p style="text-align: center"> {</p> <p style="text-align: center"> curWeapon = self getCurrentWeapon();</p> <p style="text-align: center"> curWeapon_alt = getWeapon(curWeapon);</p> <p style="text-align: center"></p> <p style="text-align: center"> max_clip = getWeaponAmmoClip(curWeapon_alt);</p> <p style="text-align: center"> max_stock = getWeaponAmmoStock(curWeapon_alt);</p> <p style="text-align: center"> }</p> <p style="text-align: center"> }</p> <p style="text-align: center"></p> <p style="text-align: center"> if(oldScore != self.score)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> dif = difference(oldScore, self.score);</p> <p style="text-align: center"> amount = int(dif/10);</p> <p style="text-align: center"></p> <p style="text-align: center"> curClip = self getAmmoCount(curWeapon_alt);</p> <p style="text-align: center"> curStock = getTotalAmmo(self getLocalClientNumber(), curWeapon_alt);</p> <p style="text-align: center"></p> <p style="text-align: center"> if(curStock - max_clip <= 0)</p> <p style="text-align: center"> curStock = max_clip;</p> <p style="text-align: center"></p> <p style="text-align: center"> if(curStock - max_clip < max_stock)</p> <p style="text-align: center"> self setWeaponAmmoStock(curWeapon_alt, amount);</p> <p style="text-align: center"> oldScore = self.score;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> wait 0.05;</p> <p style="text-align: center"> }</p> <p style="text-align: center"></p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function disableScoring()</p> <p style="text-align: center">{</p> <p style="text-align: center"> self endon("gum_done");</p> <p style="text-align: center"></p> <p style="text-align: center"> oldScore = self.score;</p> <p style="text-align: center"> oldScore_alt = self.pers["score"];</p> <p style="text-align: center"> while(self.score != oldScore)</p> <p style="text-align: center"> {</p> <p style="text-align: center"> self.score = oldScore;</p> <p style="text-align: center"> self.pers["score"] = oldScore_alt;</p> <p style="text-align: center"> wait 0.05;</p> <p style="text-align: center"> }</p> <p style="text-align: center">}</p> <p style="text-align: center"></p> <p style="text-align: center">function difference(num1, num2)</p> <p style="text-align: center">{</p> <p style="text-align: center"> if(isDefined(num1) && isDefined(num2))</p> <p style="text-align: center"> {</p> <p style="text-align: center"> dif = num1 - num2;</p> <p style="text-align: center"> if(dif < 0)</p> <p style="text-align: center"> dif *= -1;</p> <p style="text-align: center"> return dif;</p> <p style="text-align: center"> }</p> <p style="text-align: center"> return 0;</p> <p style="text-align: center">}[/CODE][/SPOILER]</p></blockquote><p></p>
[QUOTE="Cxwh, post: 15166, member: 22664"] I recently started remaking all gobblegums from bo3 (not the crazy ones though) and now I got them all to work except for alchemical antithesis, impatient and pop shocks. Some of these are could be wrecks, but I tried to explain what i was thinking These just make my head hurt... (except for impatient) [CENTER] ------------------------------------------------------------- Some functions I'm using throughout this [SPOILER][CODE] function waittill_notify(event, event1) { self waittill(event); self notify(event1); } function waittill_call(event, func, arg1, arg2) { self waittill(event) if(areDefined(arg1, arg2)) self thread [[ func ]](arg1, arg2); else if(isDefined(arg1) && !isDefined(arg2)) self thread [[ func ]](arg1); else self thread [[ func ]](); } function wait_notify(time, event) { self wait(time); self notify(event); } function waittill_any_notify(notify_event, event1, event2, event3) { if(isDefined(event1) && isDefined(event2) && isDefined(event3)) self util::waittill_any(event1, event2, event3); else if(isDefined(event1) && isDefined(event2)) self util::waittill_any(event1, event2); else self waittill(event1); self notify(notify_event); } function areDefined(arg1, arg2) { return isDefined(arg1) && isDefined(arg2); }[/CODE][/SPOILER] ------------------------------------------------------------- Pop Shocks First one: [SPOILER][CODE] function gum_pop_shocks() { self endon("death"); self endon("bgb_done"); self endon("killed_5"); self endon("player_downed"); //from electric cherry n_clip_current = 1; n_clip_max = 10; n_fraction = n_clip_current/n_clip_max; //just a random numbers idk the real stats obv min_damage = 1000; max_damage = 7000; //electric cherry melee radius - ik the radius is high but idk min_range = 32; max_range = 128; //random //<player> thread [[level.callbackPlayerDamage]]( <entityThatCausesDamage>, <attacker>, <damageAmount>, <flags>, <meansOfDeath>, <weapon>, <pointTheDamageIsFrom>, <directionOfTheDamage>, <locationOfTheHit>, <timeOffset> ); self.pop_shock_kills = 0; self thread watch_kills(); for(;;) { self waittill(/*WE MELEED*/); //idk the name of the event + we can't do self meleebuttonpressed bc you would be able to spam it even when youre not meleeing perk_radius = math::linear_map(n_fraction, 1.0, 0.0, min_range, max_range); perk_dmg = math::linear_map(n_fraction, 1.0, 0.0, min_damage, max_damage); //electric cherry attack if(isDefined(self)) { n_zombie_limit = 2; //amount of zombies we can kill with one melee attack self thread zm_perk_electric_cherry::electric_cherry_reload_fx(n_fraction); self PlaySound( "zmb_cherry_explode" ); a_zombies = zombie_utility::get_round_enemy_array(); a_zombies = util::get_array_of_closest(self.origin, a_zombies, undefined, undefined, perk_radius); n_zombies_hit = 0; for(i = 0; i < a_zombies.size; i++) { if(isAlive(self) && isAlive(a_zombies[i])) { if(isDefined(n_zombie_limit)) //if the limit of zombies is undefined, keep going and hit all zombies we can { if(n_zombies_hit < n_zombie_limit) //if the we're under the limit, increment the count of zombies n_zombies_hit++; else break; //if we're at the limit of zombies, don't kill any more zombies } if(a_zombies[i].health <= perk_dmg) //if they died { a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_death_fx(); self.pop_shock_kills++; self zm_score::add_to_player_score(40); } else //if they survived { if(!isDefined(a_zombies[ i ].is_brutus)) //if they're not 'a' brutus don't stun them a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_stun(); a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_shock_fx(); } wait 0.1; if(isDefined(a_zombies[i]) && isAlive(a_zombies[i])) a_zombies[i] doDamage(perk_dmg, self.origin, self, self, "none"); } } } } } function watch_kills() { self endon("bgb_done"); self endon("killed_5"); while(self.pop_shock_kills >= 5) self notify("killed_5"); }[/CODE][/SPOILER] Second one: [SPOILER][CODE] function gum_pop_shocks() { self endon("death"); self endon("bgb_done"); self endon("killed_5"); self endon("player_downed"); //from electric cherry n_clip_current = 1; n_clip_max = 10; n_fraction = n_clip_current/n_clip_max; //electric cherry melee radius - ik the radius is high but idk min_range = 32; max_range = 128; radius = math::linear_map(n_fraction, 1.0, 0.0, min_range, max_range); self.pop_shock_kills = 0; self.done_meleeing = true; self thread trackMeleeAttack(); self thread watch_kills(); while(self meleeButtonPressed()) { wait 0.05; //no idea how long it takes to start the melee anim if(self isMeleeing() && self.done_meleeing) { self.done_meleeing = false; self thread damageZombies(radius); //self SetElectrified(1.0); //play fx on self for now playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "j_head" ); playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "J_Spine1" ); playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "J_Spine4" ); playFxOnTag( level._effect[ "electric_cherry_explode" ], self, "pelvis" ); self playSound( "zmb_cherry_explode" ); } wait 0.05; } } function trackMeleeAttack() { self endon("death"); self endon("bgb_done"); self endon("killed_5"); self endon("player_downed"); while(self isMeleeing() == false) { self.done_meleeing = true; wait 0.05; } } function damageZombies(radius) { if(isDefined(self)) { a_zombies = zombie_utility::get_round_enemy_array(); a_zombies = util::get_array_of_closest(self.origin, a_zombies, undefined, undefined, radius); n_zombies_hit = 0; n_zombie_limit = 1; //amount of zombies we can kill with one melee attack for(i = 0; i < a_zombies.size; i++) { if(isAlive(self) && isAlive(a_zombies[i])) { if(isDefined(n_zombie_limit)) //if the limit of zombies is undefined, keep going and hit all zombies we can { if(n_zombies_hit < n_zombie_limit) //if the we're under the limit, increment the count of zombies n_zombies_hit++; else break; //if we're at the limit of zombies, don't kill any more zombies } if(a_zombies[i].health <= perk_dmg) //if they died { a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_death_fx(); self.pop_shock_kills++; self zm_score::add_to_player_score(40); //points } else //if they survived { if(!isDefined(a_zombies[ i ].is_brutus)) //if they're 'a' brutus don't stun them a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_stun(); a_zombies[i] thread zm_perk_electric_cherry::electric_cherry_shock_fx(); } wait 0.1; if(isDefined(a_zombies[i]) && isAlive(a_zombies[i])) a_zombies[i] doDamage(7000, self.origin, self, self, "none"); //1045 = zombie health at round 10 and since we only have 5 hits we do 7k } } } } function watch_kills() { self endon("bgb_done"); self endon("killed_5"); while(self.pop_shock_kills >= 5) self notify("killed_5"); }[/CODE][/SPOILER] ------------------------------------------------------------- impatient [SPOILER][CODE] function gum_impatient() { self endon("bgb_done"); self waittill("death"); zombies = &GetAIArray("axis"); //if this is false I'll just call it in the loop for(;;) { if(zombies.size <= 1) { //how do i spawn back in break; } wait 1; } }[/CODE][/SPOILER] ------------------------------------------------------------- Alchemical antithesis [SPOILER][CODE] function gum_alchemical_antithesis() { self endon("gum_done"); self endon("alchem_done"); self thread waittill_notify("gum_done", "death", "player_downed"); //idfk what i was thinking self thread wait_notify(30, "alchem_done"); //self thread disableScoring(); oldScore = self.score; max_clip = getWeaponAmmoClip(); max_stock = getWeaponAmmoStock(); curWeapon = self getCurrentWeapon(); curWeapon_alt = getWeapon(curWeapon); //could probably waittill weapon fired too but this wouldnt include melee & grenade kills for(;;) { if(self secondaryOffhandButtonPressed()) { wait 0.3; //just to see if he double tapped if(curWeapon != self getCurrentWeapon()) { curWeapon = self getCurrentWeapon(); curWeapon_alt = getWeapon(curWeapon); max_clip = getWeaponAmmoClip(curWeapon_alt); max_stock = getWeaponAmmoStock(curWeapon_alt); } } if(oldScore != self.score) { dif = difference(oldScore, self.score); amount = int(dif/10); curClip = self getAmmoCount(curWeapon_alt); curStock = getTotalAmmo(self getLocalClientNumber(), curWeapon_alt); if(curStock - max_clip <= 0) curStock = max_clip; if(curStock - max_clip < max_stock) self setWeaponAmmoStock(curWeapon_alt, amount); oldScore = self.score; } wait 0.05; } } function disableScoring() { self endon("gum_done"); oldScore = self.score; oldScore_alt = self.pers["score"]; while(self.score != oldScore) { self.score = oldScore; self.pers["score"] = oldScore_alt; wait 0.05; } } function difference(num1, num2) { if(isDefined(num1) && isDefined(num2)) { dif = num1 - num2; if(dif < 0) dif *= -1; return dif; } return 0; }[/CODE][/SPOILER][/CENTER] [/QUOTE]
Verification
Post reply
Forums
Gaming
Call of Duty Classics
Call of Duty: Black Ops 3
Call of Duty: Black Ops 3 Mods and Scripts
Call of Duty: Black Ops 3 Scripts
Call of Duty: Black Ops 3 Scripts Question
Need help with some code
CabConModding is now on facebook! Check the latest Updates, the Site Status and much more now!
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.
Accept
Learn more…
Top