Game Asset Reversing | Releases
ModmeBot:
Thread By: Idogftw
Idogftw Brew Perk Script
Download Prefab
Step 1: Copy code below
function perk_ee()
{
level.ingr = 0;
level.ingrNeed = 3;
station = GetEnt( "perk_potion", "targetname" );
bottles_trig = GetEntArray("potion_trig", "targetname");
station SetHintString("Ingredients Required!");
station SetCursorHint("HINT_NOICON");
station UseTriggerRequireLookAt();
for(i = 0; i < bottles_trig.size; i++)
{
bottles_trig[i] thread perk_ee_trig();
bottles_trig[i] SetHintString("Hold ^3[^1&&1^3] ^7to acquire Ingredient");
bottles_trig[i] SetCursorHint("HINT_NOICON");
bottles_trig[i] UseTriggerRequireLookAt();
}
thread perk_ee_logic(station);
}
function perk_ee_trig()
{
self waittill("trigger", player);
model = GetEnt(self.target, "targetname");
model Delete();
self Delete();
level.ingr++;
}
function perk_ee_logic(station)
{
while(1)
{
if(level.ingr >= level.ingrNeed)
{
station SetHintString("Hold ^3[^1&&1^3] ^7to Mix Ingredients");
station waittill("trigger", player);
loc = struct::get("perk_drop", "targetname");
thread zm_powerups::specific_powerup_drop("free_perk", loc.origin);
station Delete();
break;
}
wait 0.05;
}
}
Paste code in mapname.gsc under
function custom_add_weapons()
{
zm_weapons::load_weapon_spec_from_table("gamedata/weapons/zm/zm_levelcommon_weapons.csv", 1);
}
Step 2: Copy
thread perk_ee();
and Paste Under
level thread zm_zonemgr::manage_zones( init_zones );
Should look like this:
//Setup the levels Zombie Zone Volumes
level.zones = [];
level.zone_manager_init_func =&usermap_test_zone_init;
init_zones[0] = "start_zone";
level thread zm_zonemgr::manage_zones( init_zones );
thread perk_ee();
NOTE: IF YOU DOWNLOADED THE PREFAB ABOVE IGNORE THIS LAST STEP
Step 3: "Radiant"
Create 3 trigger_use (Entity Browser) w/ kvps targetname - potion_trig
Create 3 script_models (Entity Browser) (Recommend being some type of bottle(s))
Target each trigger to a model by clicking the trigger then the model and clicking 'W' should look like a red line connecting them like below.
Next create a script_struct (Entity Browser) and place it where you want the perk to spawn and give the kvps targetname - perk_drop
Lastly, create a new trigger_use (Entity Browser) and give it kvps targetname - perk_potion
This trigger will be where you "Brew" your free random perk.
And then Compile & Link your map and it should be loaded and work like in the video below.
EDIT: If you would like to make it give a specific perk replace perk_ee_logic with this new one:
Replace INSERT_PERK_NAME with a perk name below.
specialty_armorvest - Jug
specialty_quickrevive - Quick Revive
specialty_fastreload - Speed Cola
specialty_doubletap2 - Double Tap 2
specialty_marathon - Stamin Up
specialty_ads - DeadShot
specialty_grenadepulldeath - Electric Cherry
specialty_extraprimaryweapon - Mule Kick
specialty_widows_wine - Widows Wine
function perk_ee_logic(station)
{
while(1)
{
if(level.ingr >= level.ingrNeed)
{
station SetHintString("Hold ^3[^1&&1^3] ^7to Mix Ingredients");
station waittill("trigger", player);
thread zm_perks::give_perk("INSERT_PERK_NAME" 1);
station Delete();
break;
}
wait 0.05;
}
}
ModmeBot:
Reply By: durtybrown94
thanks!
ModmeBot:
Reply By: Cowman
Works great
ModmeBot:
Reply By: mathfag
Nice.
ModmeBot:
Reply By: XxFluFFyGoaT
Is it possible to make it drop a specific perk? (eg. only makes Jugg)
ModmeBot:
Reply By: durtybrown94
XxFluFFyGoaT
Is it possible to make it drop a specific perk? (eg. only makes Jugg)
ModmeBot:
Reply By: Idogftw
If you would like to make it give a specific perk replace perk_ee_logic with this new one:
Replace INSERT_PERK_NAME with a perk name below.
specialty_armorvest - Jug
specialty_quickrevive - Quick Revive
specialty_fastreload - Speed Cola
specialty_doubletap2 - Double Tap 2
specialty_marathon - Stamin Up
specialty_ads - DeadShot
specialty_grenadepulldeath - Electric Cherry
specialty_extraprimaryweapon - Mule Kick
specialty_widows_wine - Widows Wine
function perk_ee_logic(station)
{
while(1)
{
if(level.ingr >= level.ingrNeed)
{
station SetHintString("Hold ^3[^1&&1^3] ^7to Mix Ingredients");
station waittill("trigger", player);
thread zm_perks::give_perk("INSERT_PERK_NAME" 1);
station Delete();
break;
}
wait 0.05;
}
}
ModmeBot:
Reply By: Zynx
so dank. thx fam.
mrlednor:
is there a way to make this give all perks "perkaholic"