Modme Forums

Trigger and perks

Game Modding | Call of Duty: Black Ops 3 | Scripting


ModmeBot:

Thread By: ByKris
i want to do 4 zones, in this zones i want that when i stay in 1 the give me juggernaut and etc


ModmeBot:

Reply By: smasher248
just export and the then to bo2 through and file system32 as and shove the juggernaut add mod import the ape, delete


ModmeBot:

Reply By: mathfag
what?


ModmeBot:

Reply By: ByKris

mathfag
what?

4 zones and each area gives a perk when you stay in it


ModmeBot:

Reply By: mathfag

ByKris
mathfag what? 4 zones and each area gives a perk when you stay in it

make a trigger multiple in the zone. give it a targetname.

add this code

#using scripts\zm\_zm_perks;
#insert scripts\zm\_zm_perks.gsh;



trigs = GetEnt("insert trigger name here","targetname");
trig waittill("trigger", player);
player zm_perks::give_perk( PERK_ELECTRIC_CHERRY, false );


You can find the other perks in scripts/zm/_zm_perks.gsh


ModmeBot:

Reply By: ByKris

mathfag
ByKris mathfag what? 4 zones and each area gives a perk when you stay in it make a trigger multiple in the zone. give it a targetname. add this code #using scripts\zm\_zm_perks; #insert scripts\zm\_zm_perks.gsh; trigs = GetEnt("insert trigger name here","targetname"); trig waittill("trigger", player); player zm_perks::give_perk( PERK_ELECTRIC_CHERRY, false ); You can find the other perks in scripts/zm/_zm_perks.gsh


^1ERR(0) scripts/zm/zm_test.gsc (57,5) : syntax error, unexpected TOKEN_IDENTIFIER, expecting $end : trigs


ModmeBot:

Reply By: Scobalula

ByKris
mathfag ByKris mathfag what? 4 zones and each area gives a perk when you stay in it make a trigger multiple in the zone. give it a targetname. add this code #using scripts\zm\_zm_perks; #insert scripts\zm\_zm_perks.gsh; trigs = GetEnt("insert trigger name here","targetname"); trig waittill("trigger", player); player zm_perks::give_perk( PERK_ELECTRIC_CHERRY, false ); You can find the other perks in scripts/zm/_zm_perks.gsh ^1ERR(0) scripts/zm/zm_test.gsc (57,5) : syntax error, unexpected TOKEN_IDENTIFIER, expecting $end : trigs


Paste your map's GSC file (make sure to use Code Box "{;}" icon).


ModmeBot:

Reply By: ByKris
i'm new scripting if you can help me i will be very grateful

#using scripts\codescripts\struct;

#using scripts\shared\array_shared;
#using scripts\shared\callbacks_shared;
#using scripts\shared\clientfield_shared;
#using scripts\shared\compass;
#using scripts\shared\exploder_shared;
#using scripts\shared\flag_shared;
#using scripts\shared\laststand_shared;
#using scripts\shared\math_shared;
#using scripts\shared\scene_shared;
#using scripts\shared\util_shared;

#insert scripts\shared\shared.gsh;
#insert scripts\shared\version.gsh;

#insert scripts\zm\_zm_utility.gsh;

#using scripts\zm\_load;
#using scripts\zm\_zm;
#using scripts\zm\_zm_audio;
#using scripts\zm\_zm_powerups;
#using scripts\zm\_zm_utility;
#using scripts\zm\_zm_weapons;
#using scripts\zm\_zm_zonemgr;

#using scripts\shared\ai\zombie_utility;

//Perks
#using scripts\zm\_zm_pack_a_punch;
#using scripts\zm\_zm_pack_a_punch_util;
#using scripts\zm\_zm_perk_additionalprimaryweapon;
#using scripts\zm\_zm_perk_doubletap2;
#using scripts\zm\_zm_perk_deadshot;
#using scripts\zm\_zm_perk_juggernaut;
#using scripts\zm\_zm_perk_quick_revive;
#using scripts\zm\_zm_perk_sleight_of_hand;
#using scripts\zm\_zm_perk_staminup;

//Powerups
#using scripts\zm\_zm_powerup_double_points;
#using scripts\zm\_zm_powerup_carpenter;
#using scripts\zm\_zm_powerup_fire_sale;
#using scripts\zm\_zm_powerup_free_perk;
#using scripts\zm\_zm_powerup_full_ammo;
#using scripts\zm\_zm_powerup_insta_kill;
#using scripts\zm\_zm_powerup_nuke;
//#using scripts\zm\_zm_powerup_weapon_minigun;

//Traps
#using scripts\zm\_zm_trap_electric;

#using scripts\zm\zm_usermap;
#using scripts\zm\_zm_perks;
#insert scripts\zm\_zm_perks.gsh;

//*****************************************************************************
// MAIN
//*****************************************************************************

function main()
{
	zm_usermap::main();
	
	level._zombie_custom_add_weapons =&custom_add_weapons;
	
	//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 );

	level.pathdist_type = PATHDIST_ORIGINAL;
}

function usermap_test_zone_init()
{
	level flag::init( "always_on" );
	level flag::set( "always_on" );
}	

function custom_add_weapons()
{
	zm_weapons::load_weapon_spec_from_table("gamedata/weapons/zm/zm_levelcommon_weapons.csv", 1);
}

trigs = GetEnt("cherry","targetname");
trig waittill("trigger", player);
player zm_perks::give_perk( PERK_ELECTRIC_CHERRY, false );


ModmeBot:

Reply By: Abnormal202

ByKris
i'm new scripting if you can help me i will be very grateful #using scripts\codescripts\struct; #using scripts\shared\array_shared; #using scripts\shared\callbacks_shared; #using scripts\shared\clientfield_shared; #using scripts\shared\compass; #using scripts\shared\exploder_shared; #using scripts\shared\flag_shared; #using scripts\shared\laststand_shared; #using scripts\shared\math_shared; #using scripts\shared\scene_shared; #using scripts\shared\util_shared; #insert scripts\shared\shared.gsh; #insert scripts\shared\version.gsh; #insert scripts\zm\_zm_utility.gsh; #using scripts\zm\_load; #using scripts\zm\_zm; #using scripts\zm\_zm_audio; #using scripts\zm\_zm_powerups; #using scripts\zm\_zm_utility; #using scripts\zm\_zm_weapons; #using scripts\zm\_zm_zonemgr; #using scripts\shared\ai\zombie_utility; //Perks #using scripts\zm\_zm_pack_a_punch; #using scripts\zm\_zm_pack_a_punch_util; #using scripts\zm\_zm_perk_additionalprimaryweapon; #using scripts\zm\_zm_perk_doubletap2; #using scripts\zm\_zm_perk_deadshot; #using scripts\zm\_zm_perk_juggernaut; #using scripts\zm\_zm_perk_quick_revive; #using scripts\zm\_zm_perk_sleight_of_hand; #using scripts\zm\_zm_perk_staminup; //Powerups #using scripts\zm\_zm_powerup_double_points; #using scripts\zm\_zm_powerup_carpenter; #using scripts\zm\_zm_powerup_fire_sale; #using scripts\zm\_zm_powerup_free_perk; #using scripts\zm\_zm_powerup_full_ammo; #using scripts\zm\_zm_powerup_insta_kill; #using scripts\zm\_zm_powerup_nuke; //#using scripts\zm\_zm_powerup_weapon_minigun; //Traps #using scripts\zm\_zm_trap_electric; #using scripts\zm\zm_usermap; #using scripts\zm\_zm_perks; #insert scripts\zm\_zm_perks.gsh; //***************************************************************************** // MAIN //***************************************************************************** function main() { zm_usermap::main(); level._zombie_custom_add_weapons =&custom_add_weapons; //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 ); level.pathdist_type = PATHDIST_ORIGINAL; } function usermap_test_zone_init() { level flag::init( "always_on" ); level flag::set( "always_on" ); } function custom_add_weapons() { zm_weapons::load_weapon_spec_from_table("gamedata/weapons/zm/zm_levelcommon_weapons.csv", 1); } trigs = GetEnt("cherry","targetname"); trig waittill("trigger", player); player zm_perks::give_perk( PERK_ELECTRIC_CHERRY, false );

that last bit of code needs to be in a function

EDIT: Also this code:
trigs = GetEnt("insert trigger name here","targetname");
trig waittill("trigger", player);
player zm_perks::give_perk( PERK_ELECTRIC_CHERRY, false );

is not gonna work


ModmeBot:

Reply By: Abnormal202
try something like this:

function custom_perk_trigger()
{
	trigs = GetEntArray("perk_give_trigger","targetname");	//in Radiant give trigger Targetname: perk_give_trigger
	for(i=0;i<trigs.size;i++) {="" trigs[i]="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" self="" waittill("trigger",player)="" player="" zm_perks::give_perk(="" self.perk,="" false="" );="" in="" radiant="" give="" trigger="" kvp="" perk="" :="" perk_electric_cherry="" ,="" or="" whatever="" the="" perk="" you="" want="" to="" give="" is.=""></trigs.size;i++)>

and put this in your main() function:
thread custom_perk_trigger();


ModmeBot:

Reply By: ByKris

Abnormal202
try something like this: function custom_perk_trigger() { trigs = GetEntArray("perk_give_trigger","targetname"); //in Radiant give trigger Targetname: perk_give_trigger for(i=0;i<trigs.size;i++) {="" trigs="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" self="" waittill("trigger",player)="" player="" zm_perks::give_perk(="" self.perk,="" false="" );="" in="" radiant="" give="" trigger="" kvp="" perk="" :="" perk_electric_cherry="" ,="" or="" whatever="" the="" perk="" you="" want="" to="" give="" is.="" }="" ="" and="" put="" this="" in="" your="" main()="" function:="" thread="" custom_perk_trigger();=""
=""></trigs.size;i++)> Dont works, but i want have the perk only when i stay in the trigger
^1ERR(0) scripts/zm/zm_test.gsc (101,7) in "custom_give_perk()" : syntax error, unexpected TOKEN_IDENTIFIER, expecting TOKEN_SEMICOLON : 	player 


ModmeBot:

Reply By: Abnormal202

ByKris
Abnormal202 try something like this: function custom_perk_trigger() { trigs = GetEntArray("perk_give_trigger","targetname"); //in Radiant give trigger Targetname: perk_give_trigger for(i=0;i<trigs.size;i++) {="" trigs="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" self="" waittill("trigger",player)="" player="" zm_perks::give_perk(="" self.perk,="" false="" );="" in="" radiant="" give="" trigger="" kvp="" perk="" :="" perk_electric_cherry="" ,="" or="" whatever="" the="" perk="" you="" want="" to="" give="" is.="" }="" ="" and="" put="" this="" in="" your="" main()="" function:="" thread="" custom_perk_trigger();="" ="" dont="" works,="" but="" i="" want="" have="" the="" perk="" only="" when="" i="" stay="" in="" the="" trigger="" ^1err(0)="" scripts/zm/zm_test.gsc="" (101,7)="" in="" "custom_give_perk()"="" :="" syntax="" error,="" unexpected="" token_identifier,="" expecting="" token_semicolon="" :="" player
=""></trigs.size;i++)>
function custom_perk_trigger()
{
	
	trigs = GetEntArray("perk_give_trigger","targetname");	//in Radiant give trigger Targetname: perk_give_trigger
	players = GetPlayers();
	foreach(player in players)
	{
		player thread custom_give_perk();
	}
}
function custom_give_perk()
{
	trigs = GetEntArray("perk_give_trigger","targetname");
	for(i=0;i&lt;trigs.size;i++) {="" player.recieved_perk_="" +="" "i"="false;" }="" while(1)="" {="" for(i=""&gt;&lt;/trigs.size;i++)&gt;&lt;trigs.size;i++) {="" if(player="" istouching(trigs[i])="" &amp;&amp;="" player.recieved_perk_="" +="" "i"="=" false)="" {="" player="" zm_perks::give_perk(="" trigs[i].perk,="" false="" );="" player.recieved_perk_="" +="" "i"="true;" }="" }="" wait(0.05);="" }=""&gt;&lt;/trigs.size;i++)&gt;


ModmeBot:

Reply By: ByKris

Abnormal202
ByKris Abnormal202 try something like this: function custom_perk_trigger() { trigs = GetEntArray("perk_give_trigger","targetname"); //in Radiant give trigger Targetname: perk_give_trigger for(i=0;i<trigs.size;i++) {="" trigs="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" self="" waittill("trigger",player)="" player="" zm_perks::give_perk(="" self.perk,="" false="" );="" in="" radiant="" give="" trigger="" kvp="" perk="" :="" perk_electric_cherry="" ,="" or="" whatever="" the="" perk="" you="" want="" to="" give="" is.="" }="" ="" and="" put="" this="" in="" your="" main()="" function:="" thread="" custom_perk_trigger();="" ="" dont="" works,="" but="" i="" want="" have="" the="" perk="" only="" when="" i="" stay="" in="" the="" trigger="" ^1err(0)="" scripts/zm/zm_test.gsc="" (101,7)="" in="" "custom_give_perk()"="" :="" syntax="" error,="" unexpected="" token_identifier,="" expecting="" token_semicolon="" :="" player="" ="" function="" custom_perk_trigger()="" {="" trigs="GetEntArray("perk_give_trigger","targetname");" in="" radiant="" give="" trigger="" targetname:="" perk_give_trigger="" players="GetPlayers();" foreach(player="" in="" players)="" {="" player="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" trigs="GetEntArray("perk_give_trigger","targetname");" for(i=""></trigs.size;i++)><trigs.size;i++) {="" player.recieved_perk_="" +="" "i"="false;" }="" while(1)="" {="" for(i=""></trigs.size;i++)><trigs.size;i++) {="" if(player="" istouching(trigs)="" &&="" player.recieved_perk_="" +="" "i"="=" false)="" {="" player="" zm_perks::give_perk(="" trigs.perk,="" false="" );="" player.recieved_perk_="" +="" "i"="true;" }="" }="" wait(0.05);="" }="" }
=""></trigs.size;i++)>
^1  player.recieved_perk_ +
^1------------------------^
^1ERR(0) scripts/zm/zm_test.gsc (105,25) in "custom_give_perk()" : syntax error, unexpected TOKEN_PLUS : 		player.recieved_perk_ + 


ModmeBot:

Reply By: Abnormal202

ByKris
Abnormal202 ByKris Abnormal202 try something like this: function custom_perk_trigger() { trigs = GetEntArray("perk_give_trigger","targetname"); //in Radiant give trigger Targetname: perk_give_trigger for(i=0;i<trigs.size;i++) {="" trigs="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" self="" waittill("trigger",player)="" player="" zm_perks::give_perk(="" self.perk,="" false="" );="" in="" radiant="" give="" trigger="" kvp="" perk="" :="" perk_electric_cherry="" ,="" or="" whatever="" the="" perk="" you="" want="" to="" give="" is.="" }="" ="" and="" put="" this="" in="" your="" main()="" function:="" thread="" custom_perk_trigger();="" ="" dont="" works,="" but="" i="" want="" have="" the="" perk="" only="" when="" i="" stay="" in="" the="" trigger="" ^1err(0)="" scripts/zm/zm_test.gsc="" (101,7)="" in="" "custom_give_perk()"="" :="" syntax="" error,="" unexpected="" token_identifier,="" expecting="" token_semicolon="" :="" player="" ="" function="" custom_perk_trigger()="" {="" trigs="GetEntArray("perk_give_trigger","targetname");" in="" radiant="" give="" trigger="" targetname:="" perk_give_trigger="" players="GetPlayers();" foreach(player="" in="" players)="" {="" player="" thread="" custom_give_perk();="" }="" }="" function="" custom_give_perk()="" {="" trigs="GetEntArray("perk_give_trigger","targetname");" for(i=""></trigs.size;i++)><trigs.size;i++) {="" player.recieved_perk_="" +="" "i"="false;" }="" while(1)="" {="" for(i=""></trigs.size;i++)><trigs.size;i++) {="" if(player="" istouching(trigs)="" &&="" player.recieved_perk_="" +="" "i"="=" false)="" {="" player="" zm_perks::give_perk(="" trigs.perk,="" false="" );="" player.recieved_perk_="" +="" "i"="true;" }="" }="" wait(0.05);="" }="" }="" ="" ^1="" player.recieved_perk_="" +="" ^1------------------------^="" ^1err(0)="" scripts/zm/zm_test.gsc="" (105,25)="" in="" "custom_give_perk()"="" :="" syntax="" error,="" unexpected="" token_plus="" :="" player.recieved_perk_="" +
=""></trigs.size;i++)> darnit. I don't know why I thought that would work.


ModmeBot:

Reply By: ByKris
Someone can help us?


ModmeBot:

Reply By: mathfag
read this:

http://natesmithzombies.com/wiki.html


ModmeBot:

Reply By: clixdeath
zm_perks::perk_unpause(PERK_JUGGERNOG);
level notify("juggernog_on");
wait(.1);
level notify("specialty_juggernaut_power_on");


ModmeBot:

Reply By: ByKris

clixdeath
zm_perks::perk_unpause(PERK_JUGGERNOG); level notify("juggernog_on"); wait(.1); level notify("specialty_juggernaut_power_on");

sorry i dont understand what are saying, is a solution for the script? And if so how do i add?