Posts
123
Respect
Forum Rank
Pack-a-Puncher
Primary Group
Member
Login Issues
Forgot password?Activate Issues
Account activation email not received? Wrong account activation email used?Other Problems?
Contact Support - Help Center Get help on the UGX Discord. Join it now!cannot cast undefined to string: (file 'maps/_zombiemode_blockers_new.gsc', line 60) targets = GetEntArray( self.target "targetname" );Error: called from: (file 'maps/_zombiemode_blockers_new.gsc' line 32) zombie_doors[i] thread door_init();(file 'maps/_zombiemode_blockers_new.gsc' line 8) init_blockers();(file 'maps/_zombiemode_blockers_new.gsc' line 61) maps\zombiemode_blockers_new::init();(file 'maps/nazi_zombie_erwachen.gsc' line 131) maps\_zombiemode::main();(file 'maps/nazi_zombie_erwachen' line 23) main()
*level.DLC3.createArt = maps\createart\nazi_zombie_mapname_art::main;
level.DLC3.createFX = maps\createfx\nazi_zombie_mapname_fx::main;level.DLC3.createArt = maps\createart\nazi_zombie_Erwachen_art::main;
level.DLC3.createFX = maps\createfx\nazi_zombie_Erwachen_fx::main;/*
Der Frost / Nazi Zombie Sniperbolt Tutorial Version 2.0
Scripter: Sparks
Tutorial: Sniperbolt
Version 1.0 (9/24/2009 7:51:18 PM)
-- Initial Release Of Source Files
*/
// Tutorial From Sniperbolt!
// Utilities
#include common_scripts\utility;
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_zombiemode_zone_manager;
#include maps\_music;
// DLC3 Utilities
#include maps\dlc3_code;
#include maps\dlc3_teleporter;
main()
{
level.DLC3 = spawnStruct(); // Leave This Line Or Else It Breaks Everything
array_thread(getentarray("new_sound","targetname"),::play_unique_sound);
// Must Change These To Your Maps
level.DLC3.createArt = maps\createart\nazi_zombie_Erwachen_art::main;
level.DLC3.createFX = maps\createfx\nazi_zombie_Erwachen_fx::main;
// level.DLC3.myFX = ::preCacheMyFX;
/*--------------------
FX
----------------------*/
DLC3_FX();
/*--------------------
LEVEL VARIABLES
----------------------*/
// Variable Containing Helpful Text For Modders -- Don't Remove
level.modderHelpText = [];
//
// Change Or Tweak All Of These LEVEL.DLC3 Variables Below For Your Level If You Wish
//
// Edit The Value In Mod.STR For Your Level Introscreen Place
level.DLC3.introString = &"nazi zombie tes";
// Weapons. Pointer function automatically loads weapons used in Der Riese.
level.DLC3.weapons = maps\dlc3_code::include_weapons;
// Power Ups. Pointer function automatically loads power ups used in Der Riese.
level.DLC3.powerUps = maps\dlc3_code::include_powerups;
// Adjusts how much melee damage a player with the perk will do, needs only be set once. Stock is 1000.
level.DLC3.perk_altMeleeDamage = 1000;
// Adjusts barrier search override. Stock is 400.
level.DLC3.barrierSearchOverride = 400;
// Adjusts power up drop max per round. Stock is 3.
level.DLC3.powerUpDropMax = 3;
// _loadout Variables
level.DLC3.useCoopHeroes = true;
// Bridge Feature
level.DLC3.useBridge = false;
// Hell Hounds
level.DLC3.useHellHounds = true;
// Mixed Rounds
level.DLC3.useMixedRounds = true;
// Magic Boxes -- The Script_Noteworthy Value Names On Purchase Trigger In Radiant
boxArray = [];
boxArray[ boxArray.size ] = "start_chest";
boxArray[ boxArray.size ] = "chest1";
boxArray[ boxArray.size ] = "chest2";
boxArray[ boxArray.size ] = "chest3";
boxArray[ boxArray.size ] = "chest4";
boxArray[ boxArray.size ] = "chest5";
level.DLC3.PandoraBoxes = boxArray;
// Initial Zone(s) -- Zone(s) You Want Activated At Map Start
zones = [];
zones[ zones.size ] = "start_zone";
level.DLC3.initialZones = zones;
// Electricity Switch -- If False Map Will Start With Power On
level.DLC3.useElectricSwitch = true;
// Electric Traps
level.DLC3.useElectricTraps = true;
// _zombiemode_weapons Variables
level.DLC3.usePandoraBoxLight = true;
level.DLC3.useChestPulls = true;
level.DLC3.useChestMoves = true;
level.DLC3.useWeaponSpawn = true;
level.DLC3.useGiveWeapon = true;
// _zombiemode_spawner Varibles
level.DLC3.riserZombiesGoToDoorsFirst = true;
level.DLC3.riserZombiesInActiveZonesOnly = true;
level.DLC3.assureNodes = true;
// _zombiemode_perks Variables
level.DLC3.perksNeedPowerOn = true;
// _zombiemode_devgui Variables
level.DLC3.powerSwitch = true;
/*--------------------
FUNCTION CALLS - PRE _Load
----------------------*/
level thread DLC3_threadCalls();
/*--------------------
ZOMBIE MODE
----------------------*/
[[level.DLC3.weapons]]();
[[level.DLC3.powerUps]]();
maps\bears::main();
maps\powerup_machine::init();
maps\_zombiemode::main();
thread secret_trigger();
thread secret_trigger2();
players = get_players();
for(i=0;i<players.size;i++)
{
players[i] thread staminup();
players[i] thread deadshot();
players[i] thread mule_kick();
players[i] thread muscle_aid();
}
/*--------------------
FUNCTION CALLS - POST _Load
----------------------*/
level.zone_manager_init_func = ::dlc3_zone_init;
level thread DLC3_threadCalls2();
thread damge_triggers_int();
}
dlc3_zone_init()
{
add_adjacent_zone( "initial_zone", "zone1", "enter_zone1" );
add_adjacent_zone( "zone1", "zone2", "enter_zone2" );
add_adjacent_zone( "zone2", "zone3", "enter_zone3" );
add_adjacent_zone( "zone3", "zone4", "enter_zone4" );
add_adjacent_zone( "zone4", "zone5", "enter_zone5" );
add_adjacent_zone( "zone5", "zone6", "enter_zone6" );
add_adjacent_zone( "zone6", "zone7", "enter_zone7" );
add_adjacent_zone( "zone7", "zone8", "enter_zone8" );
add_adjacent_zone( "zone8", "zone9", "enter_zone9" );
/*
=============
///ScriptDocBegin
"Name: add_adjacent_zone( <zone_1>, <zone_2>, <flag>, <one_way> )"
"Summary: Sets up adjacent zones."
"MandatoryArg: <zone_1>: Name of first Info_Volume"
"MandatoryArg: <zone_2>: Name of second Info_Volume"
"MandatoryArg: <flag>: Flag to be set to initiate zones"
"OptionalArg: <one_way>: Make <zone_1> adjacent to <zone_2>. Defaults to false."
"Example: add_adjacent_zone( "receiver_zone", "outside_east_zone", "enter_outside_east" );"
///ScriptDocEnd
=============
*/
// Outside East Door
//add_adjacent_zone( "receiver_zone", "outside_east_zone", "enter_outside_east" );
}
staminup()
{
while(1)
{
if(self hasperk("specialty_longersprint"))
self setmovespeedscale(1.3);
else
self setmovespeedscale(1);
wait .5;
}
}
deadshot()
{
while(1)
{
if(self hasperk("specialty_bulletaccuracy"))
self setClientDvar( "cg_laserForceOn", 1 );
else
self setClientDvar( "cg_laserForceOn", 0 );
wait .1;
}
}
mule_kick()
{
self.given_kick = false;
while(1)
{
player_load = self GetWeaponsListPrimaries();
if((self hasperk("specialty_extraammo"))&&( player_load.size == 1)&&(self.given_kick == false))
{
if(!(self hasweapon("zombie_colt")))
self giveWeapon("zombie_colt");
if(!(self hasweapon("zombie_kar98k")))
self giveWeapon("zombie_kar98k");
player_load = self GetWeaponsListPrimaries();
if( player_load.size == 2)
{
if(!(self hasweapon("zombie_m1carbine")))
self giveWeapon("zombie_m1carbine");
}
self.given_kick = true;
}
if((self hasperk("specialty_extraammo"))&&( player_load.size == 2)&&(self.given_kick == false))
{
if(!(self hasweapon("zombie_colt")))
self giveWeapon("zombie_colt");
if(!(self hasweapon("zombie_kar98k")))
self giveWeapon("zombie_kar98k");
player_load = self GetWeaponsListPrimaries();
if( player_load.size == 2)
{
if(!(self hasweapon("zombie_m1carbine")))
self giveWeapon("zombie_m1carbine");
}
self.given_kick = true;
}
if(!(self hasperk("specialty_extraammo"))&&( player_load.size == 3))
{
player_load = self GetWeaponsListPrimaries();
if(player_load.size == 3 && self.being_revived == false)
{
self.muleweapon = player_load[2];
self takeweapon(self.muleweapon);
}
self.given_kick = false;
}
wait .1;
}
}
muscle_aid()
{
while(1)
{
if(self hasperk("specialty_shades"))
self setClientDvar( "", 1000 );
else
self setClientDvar( "", 500 );
wait .5;
}
}
//Secret_Easter_Egg
Secret_trigger()
{
door = getEnt("secret_door","targetname");
trig = getEnt("secret_trigger","targetname");
trig waittill("trigger");
trig delete();
trig SetCursorHint( "HINT_NOICON" );
trig setHintString("DOOR UNLOCKED");
door movez(-500, 25);
wait 8;
door delete();
}
damge_triggers_int()
{
triggers = getentarray("radius_dmg_trigs", "targetname");
array_thread(triggers, ::radius_dmg_trig_think);
}
radius_dmg_trig_think()
{
who = undefined;
time = .5;
cap = 10;
if(isdefined(self.script_transition_time))
time = self.script_transition_time;
if(self.script_string == "hurt_little_die")
cap = 50;
else if(self.script_string == "hurt_lots_die")
cap = 15;
else if(self.script_string == "kill")
cap = 99;
for(;;)
{
self waittill("trigger", who);
if(who.health > cap || cap == 99)
RadiusDamage( who.origin, 100, int(who.health -(who.health/80)), int(who.health -(who.health/50)));
else
RadiusDamage( who.origin, 100, who.health +50, who.health +10);
wait (time);
}
}
//Trigger_2
Secret_trigger2()
{
door = getEnt("secret_door2","targetname");
trig = getEnt("secret_trigger2","targetname");
trig waittill("trigger");
trig delete();
trig SetCursorHint( "HINT_NOICON" );
trig setHintString("DOOR UNLOCKED");
door movez(-500, 20);
wait 7;
door delete();
}
team_teleport()
{
cost = 20;
who = undefined;
trig = getEnt("end_trigger","targetname");
if(!isDefined(trig))
return;
trig_player_check = getEnt(trig.target,"targetname");
if(!isDefined(trig_player_check)){
trig sethintstring("Error Can't find player check trigger :(");
return;
}
// Power stuff. Remove this if you don't want to wait for power.
trig setCursorHint("HINT_NOICON"); // Power
trig setHintString("The power must be activated first"); // Power
flag_wait( "electricity_on" ); // Power
// Remove power lines if you want it to work without power
trig setcursorhint("HINT_NOICON");
trig sethintstring("Press &&1 to Teleport/Escape [Cost: "+cost+"]");
while(1)
{
trig waittill("trigger",who);
// got the money ??
if(who.score >= cost)
{
who maps\_zombiemode_score::minus_to_player_score(cost);
alive = AlivePlayersArr();
touching = trig_player_check GetTouchingPlayers();
if(alive.size != touching)
{
Texthud = tom_make_hud(undefined, "center", "middle", "center", "bottom", 0, -148, 1.2, 1, (1,1,1));
Texthud setText("All players must be on the teleport");
while(alive.size != touching)
{
alive = AlivePlayersArr();
touching = trig_player_check GetTouchingPlayers();
wait 0.1; // this loop won't run long so lets go mental.
}
Texthud destroy();
}
trig sethintstring("Teleporting");
trig playsound("cha_ching");
DoTelePort(alive);
}
else
{
trig playsound("no_cha_ching");
}
wait 0.15;
}
}
DoTelePort(players)
{
port_loc = GetStructArray("end_tele", "targetname");
if(isDefined(port_loc) && port_loc.size >= 4 /* we want atleast 4 */)
{
for(i=0;i<players.size;i++)
{
players[i] setorigin(port_loc[i].origin);
players[i] setplayerangles(port_loc[i].angles);
players[i] shellshock( "explosion", 4 );
players[i] shellshock( "electrocution", 4 );
players[i] playsound("whoosh"); // I don't know what this sounds like, i had mine setup with a different sound.
}
iprintlnbold ("You Have Proved Yourself!");
wait(4.0);
level notify("end_game");
}
else
{
iPrintLn("can't find all the telport locations");
}
}
tom_make_hud(client, alignXArg, alignYArg, horzAlignArg, vertAlignArg, xArg, yArg, fontScale, alpha, Textcolor)
{
if(isDefined(client))
hud = newClientHudElem(client);
else
hud = newHudElem();
hud.alignX = alignXArg;
hud.alignY = alignYArg;
hud.horzAlign = horzAlignArg;
hud.vertAlign = vertAlignArg;
hud.y = yArg;
hud.x = xArg;
hud.foreground = true;
hud.font = "default";
hud.fontScale = fontScale;
hud.alpha = alpha;
if(isDefined(Textcolor))
hud.color = (Textcolor);
else
hud.color = ( 1.0, 1.0, 1.0 );
return hud;
}
GetTouchingPlayers()
{
if(isdefined(self))
{
players = get_players();
num = 0;
for(i=0;i<players.size;i++)
if(players[i] istouching(self))
num ++;
return num;
}
else
{
iPrintLnBold("GetTouchingPlayers(): Needs to be called on a object");
return -1;
}
}
AlivePlayersArr()
{
alive = [];
players = get_players();
for(i=0;i<players.size;i++)
{
if( !players[i].is_zombie && !players[i] maps\_laststand::player_is_in_laststand() && players[i].sessionstate != "spectator" )
alive[alive.size] = players[i];
}
return alive;
}
play_unique_sound()
{
song_name = self.script_string;
self waittill("trigger");
players = get_players();
for(i = 0; i < players.size; i++)
{
players[i] playsound(song_name);
}
}