Perma Perk Issues
Game Modding | Call of Duty: Black Ops 3 | Scripting
Kricket :
I've recently written code using a mix between NSZ shootable perk, and Ice Grenade's shootable easter egg code. After shooting 9 objects it gifts you mulekick, I was wondering how to make it that if this is done, it becomes a perma perk. Thanks in advance. The code works fine, just don't know how to keep it during the whole game. Here's my code:
function MuleKick ()
{
level . itemsRequired2 = 9 ; //change to number of shootable objects
level . itemsCollected2 = 0 ;
level thread itema ();
level thread itemb ();
level thread itemc ();
level thread itemd ();
level thread iteme ();
level thread itemf ();
level thread itemg ();
level thread itemh ();
level thread itemi ();
//Add additional items here
}
function itema ()
{
triga = GetEnt ( "ee_t1" , "targetname" );
obja = GetEnt ( "ee_o1" , "targetname" );
triga SetHintString ( "" );
triga SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
triga waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
triga Delete ();
obja Delete ();
}
function itemb ()
{
trigb = GetEnt ( "ee_t2" , "targetname" );
objb = GetEnt ( "ee_o2" , "targetname" );
trigb SetHintString ( "" );
trigb SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigb waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigb Delete ();
objb Delete ();
}
function itemc ()
{
trigc = GetEnt ( "ee_t3" , "targetname" );
objc = GetEnt ( "ee_o3" , "targetname" );
trigc SetHintString ( "" );
trigc SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigc waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigc Delete ();
objc Delete ();
}
function itemd ()
{
trigd = GetEnt ( "ee_t4" , "targetname" );
objd = GetEnt ( "ee_o4" , "targetname" );
trigd SetHintString ( "" );
trigd SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigd waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigd Delete ();
objd Delete ();
}
function iteme ()
{
trige = GetEnt ( "ee_t5" , "targetname" );
obje = GetEnt ( "ee_o5" , "targetname" );
trige SetHintString ( "" );
trige SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trige waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trige Delete ();
obje Delete ();
}
function itemf ()
{
trigf = GetEnt ( "ee_t6" , "targetname" );
objf = GetEnt ( "ee_o6" , "targetname" );
trigf SetHintString ( "" );
trigf SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigf waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigf Delete ();
objf Delete ();
}
function itemg ()
{
trigg = GetEnt ( "ee_t7" , "targetname" );
objg = GetEnt ( "ee_o7" , "targetname" );
trigg SetHintString ( "" );
trigg SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigg waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigg Delete ();
objg Delete ();
}
function itemh ()
{
trigh = GetEnt ( "ee_t8" , "targetname" );
objh = GetEnt ( "ee_o8" , "targetname" );
trigh SetHintString ( "" );
trigh SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigh waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigh Delete ();
objh Delete ();
}
function itemi ()
{
trigi = GetEnt ( "ee_t9" , "targetname" );
obji = GetEnt ( "ee_o9" , "targetname" );
trigi SetHintString ( "" );
trigi SetCursorHint ( "HINT_NOICON" );
while ( 1 )
{
trigi waittill ( "trigger" , player );
level . itemsCollected2 ++ ;
thread eeCheckDone2 ( player );
break ;
}
trigi Delete ();
obji Delete ();
}
function eeCheckDone2 ( player )
{
while ( 1 )
{
self waittill ( level . shootablesCollected2 & gt ; = level . itemsRequired2 );
if ( level . itemsCollected2 == level . itemsRequired2 )
{
//self playlocalsound( level.zmb_laugh_alias ); Not working atm
players = getplayers ();
for ( i = 0 ; i & lt ; players . size ; i ++ )
{
players [ i ] thread give_all_perks ();
}
}
break ;
}
}
function give_all_perks ()
{
self zm_perks :: give_perk ( "specialty_additionalprimaryweapon" , true );
wait ( 0.1 );
}
tmk_boi :
just saying the samanthas laugh is called zmb_child_laugh not level.zmb_laugh_alias
Kricket :
just saying the samanthas laugh is called zmb_child_laugh not level.zmb_laugh_alias Thanks for letting me know, the tutorial I watched had the wrong name, so I just left it commented out.