UGX-Mods Login

or login with an authentication provider below
Sign In with Google
Sign In with Twitter
Sign In with Discord
Sign In with Steam
Sign In with Facebook
Sign In with Twitch

[Tutorial] How to make zones

broken avatar :(
Created 11 years ago
by KDXDARK
0 Members and 1 Guest are viewing this topic.
4,385 views
broken avatar :(
×
broken avatar :(
Relentless Mapper
Location: al
Date Registered: 21 August 2011
Last active: 2 weeks ago
Posts
1,322
Respect
Forum Rank
Zombie Colossus
Primary Group
Nuclear
My Groups
More
×
KDXDARK's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Nuclear
Nuclear
DARKLEGION's requested title
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
KDXDARK's Contact & Social Links
Hi i am KDXDARK and i going to show you how to make zones for Nazi Zombies, let's go!

1)_ Open the launcher and open the radiant

1.1)_ In radiant open your map, if you got your start zone in your map please dont do the step 1.2.

1.2)_ in radiant do right clic in the 2D view



and go to: Info > volume

and cover the area of the start, press N and give it the next Kvp's:
Code Snippet
Plaintext
targetname
start_zone
-------------
target
start_zone_spawners

deselect the info_volume and do right clic on the 2D view and go to: actor > axis > zombie > ger > ber_sshonor



now give the next Kvp's to the char
Code Snippet
Plaintext
targetname
start_zone_spawners
-------------
script_noteworthy
zombie_spawner
-------------
count
9999
-------------
script_forcespawn
1

and select "spawner" and "forcespawn

it need look's like this



now you going to see like a yellow line connecting the info_volumen with the zombie.

1.4)_ let's add some riser's for this we need do the next:

-Make a copy of the zombie(what we make up), but in this zombie going to add a new Kvps

Code Snippet
Plaintext
script_string
riser

here a screenshot:



now in the 2D view do right clic and go to: script > struct



and give it this Kvp's:
Code Snippet
Plaintext
targetname
start_zone_spawners_rise
-----------------------
script_noteworthy
find_flesh



Important: the "find_flesh" is for the zombies don't need reach a window(this going to make the zombie spawn and find the player), if you remove it they need a window for enter in your map.(sorry for my bad explanation, download the map example).

IF MY EXPLANATION IS WRONG PLEASE SOMEBODY CHAGE IT!



1.5)_let's add some Dogs for this we need do the next:

-do right clic on the 2D view and go to: Actor > zombie_dog



and give it the next kvps:
Code Snippet
Plaintext
targetname
zombie_spawner_dog_init
-------------------------------
script_string
zombie_chaser
-------------------------------
script_noteworthy
zombie_dog_spawner

and select the "spawner" and "forcespawn"



do right clic in the 2D view and go to script > struct



and give it the next kvps:
Code Snippet
Plaintext
targetname
start_zone_spawners_dog

all right dogs added!

2)_ Now let's go to add zones

2.1)_

and go to: Info > volume

and cover the area you want, press N and give it the next Kvp's:
Code Snippet
Plaintext
targetname
zone1
-------------
target
zone1_spawners

deselect the info_volume and do right clic on the 2D view and go to: actor > axis > zombie > ger > ber_sshonor



now give the next Kvp's to the char
Code Snippet
Plaintext
targetname
zone1_spawners
-------------
script_noteworthy
zombie_spawner
-------------
count
9999
-------------
script_forcespawn
1

and select "spawner" and "forcespawn

it need look's like this



now you going to see like a yellow line connecting the info_volumen with the zombie.

2.2)_ let's add some riser's for this we need do the next:

-Make a copy of the zombie(what we make up), but in this zombie going to add and change Kvps

Code Snippet
Plaintext
targetname
zone1_spawners
-----------------------
script_string
riser

here a screenshot:



now in the 2D view do right clic and go to: script > struct



and give it this Kvp's:
Code Snippet
Plaintext
targetname
zone1_spawners_rise
-----------------------
script_noteworthy
find_flesh



now make a door(a normal door with trigger and all the stuff)

but give this kvps to the trigger:

Code Snippet
Plaintext
script_flag
enter_zone1

Now select the door first and the zombie and press W, now you going to see a yellow line connecting the door and the zombie.

all done on the radiant!

3)_ now open your mapname.gsc

if you use the UGX script placer is in: root/mods/mapname/maps

if you use the script placer(by mrhankey) is in: root/raw/maps

find the next:
Code Snippet
Plaintext
dlc3_zone_init()

and you going to see this:

Code Snippet
Plaintext
	add_adjacent_zone( "initial_zone", "zone1", "enter_zone1" );
add_adjacent_zone( "zone1", "zone2", "enter_zone2" );

change it for:

Code Snippet
Plaintext
	add_adjacent_zone( "start_zone", "zone1", "enter_zone1" );
add_adjacent_zone( "zone1", "zone2", "enter_zone2" );

explanation:

this connect the zones with another zones, for example the start_zone will connect with the zone1 by the script_flag(enter_zone1) of the trigger of the door.
(i think is wrong, but somebody going to fix it)

you can add a lot of zones, but you need change the zones name with what you want, example:"zone1","zone2","zone3","zone4","zone5","zone6"

Another example:

suppose i got 3 rooms in my map, with the start_zone in the middle, the zone1 at the left and the zone2 at the right. The script wiil be like this

   add_adjacent_zone( "start_zone", "zone1", "enter_zone1" );
        add_adjacent_zone( "start_zone", "zone2", "enter_zone2" );

this will do the start_zone connect with the zone1 and the zone2.

IF SOMEBODY CAN FIX THIS PART BECAUSE MY ENGLISH ISN'T GOOD!

Map example download: https://mega.co.nz/#!wBE3HZ7K!UUNQtlbxlIpE11qaZ85ysz_7d3kLLe1ELC2SKnCOekM
http://www.mediafire.com/view/75lawcod345i1ls/test_zones.map


SO THAT'S ALL!

if i forgot something please tell me
Last Edit: September 12, 2013, 03:37:54 pm by KDXDARK
broken avatar :(
×
broken avatar :(
Location: kh
Date Registered: 9 August 2013
Last active: 5 years ago
Posts
503
Respect
Forum Rank
Zombie Enslaver
Primary Group
Member
×
codmoddd1234's Groups
codmoddd1234's Contact & Social Links
To anyone reading this tutorial.
start_zone and initial_zone is the major difference.
If you have had zones and spawners which you are sure you set up properly and didn't work for an unknown reason its because the different script placers use different entries. This is not explained  and thats why everyone has zone problems

Good job on the tutorial.
someone will appreciate this.
broken avatar :(
×
broken avatar :(
Relentless Mapper
Location: al
Date Registered: 21 August 2011
Last active: 2 weeks ago
Posts
1,322
Respect
Forum Rank
Zombie Colossus
Primary Group
Nuclear
My Groups
More
×
KDXDARK's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Nuclear
Nuclear
DARKLEGION's requested title
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
KDXDARK's Contact & Social Links
Good job on the tutorial.
someone will appreciate this.
thanks!
broken avatar :(
×
broken avatar :(
The King of Zombies
Location: usLouisiana
Date Registered: 24 June 2013
Last active: 4 years ago
Posts
2,148
Respect
Forum Rank
King of the Zombies
Primary Group
Donator ♥
My Groups
More
My Contact & Social Links
More
Signature
Donate to me if you enjoy my work. https://www.paypal.me/thezombiekilla6
×
Dust's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Dust's Contact & Social LinksMrZ0mbiesFanaticdust103194MrZ0mbiesFanatic
wow nice, someone who actually goes in depth on it. took me forever when i first started to get the zones to work properly. wish i had a tutorial like this back then
broken avatar :(
×
broken avatar :(
Location: gb
Date Registered: 27 August 2013
Last active: 9 years ago
Posts
28
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
GeneralJJ's Groups
GeneralJJ's Contact & Social Links
the link to your maps doesn't work for me :/
broken avatar :(
×
broken avatar :(
Relentless Mapper
Location: al
Date Registered: 21 August 2011
Last active: 2 weeks ago
Posts
1,322
Respect
Forum Rank
Zombie Colossus
Primary Group
Nuclear
My Groups
More
×
KDXDARK's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Nuclear
Nuclear
DARKLEGION's requested title
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
KDXDARK's Contact & Social Links
broken avatar :(
×
broken avatar :(
Location: gb
Date Registered: 27 August 2013
Last active: 9 years ago
Posts
28
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
GeneralJJ's Groups
GeneralJJ's Contact & Social Links
ok, used your .map file - used UGX script placer to make the scripts - and still Risers wont work! >:( >:(
I am now assuming that the scripts I have aren't correct.


the gsc for your map.

Code Snippet
Plaintext
#include common_scripts\utility; 
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_zombiemode_zone_manager;
#include maps\_music;
#include maps\dlc3_code;
#include maps\dlc3_teleporter;

main()
{
level.DLC3 = spawnStruct(); // Leave This Line Or Else It Breaks Everything

// Must Change These To Your Maps
level.DLC3.createArt = maps\createart\nazi_zombie_zt2_art::main;
level.DLC3.createFX = maps\createfx\nazi_zombie_zt2_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 = &"MOD_INTRO";

// 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;

// Snow Feature
level.DLC3.useSnow = false;

/*--------------------
FUNCTION CALLS - PRE _Load
----------------------*/
level thread DLC3_threadCalls();

/*--------------------
ZOMBIE MODE
----------------------*/
[[level.DLC3.weapons]]();
[[level.DLC3.powerUps]]();
maps\_zombiemode::main();

/*--------------------
FUNCTION CALLS - POST _Load
----------------------*/
level.zone_manager_init_func = ::dlc3_zone_init;
level thread DLC3_threadCalls2();
}

dlc3_zone_init()
{
add_adjacent_zone("start_zone","zone1","enter_zone1");
add_adjacent_zone("start_zone","zone2","enter_zone2");
/*
=============
///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" );
}

preCacheMyFX()
{
// LEVEL SPECIFIC - FEEL FREE TO REMOVE/EDIT

level._effect["snow_thick"] = LoadFx ( "env/weather/fx_snow_blizzard_intense" );
}

what I need to test now is som1elses scripts or sum1 test my test map?
broken avatar :(
×
broken avatar :(
Relentless Mapper
Location: al
Date Registered: 21 August 2011
Last active: 2 weeks ago
Posts
1,322
Respect
Forum Rank
Zombie Colossus
Primary Group
Nuclear
My Groups
More
×
KDXDARK's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Nuclear
Nuclear
DARKLEGION's requested title
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
KDXDARK's Contact & Social Links
ok, used your .map file - used UGX script placer to make the scripts - and still Risers wont work! >:( >:(
I am now assuming that the scripts I have aren't correct.


the gsc for your map.

Code Snippet
Plaintext
#include common_scripts\utility; 
#include maps\_utility;
#include maps\_zombiemode_utility;
#include maps\_zombiemode_zone_manager;
#include maps\_music;
#include maps\dlc3_code;
#include maps\dlc3_teleporter;

main()
{
level.DLC3 = spawnStruct(); // Leave This Line Or Else It Breaks Everything

// Must Change These To Your Maps
level.DLC3.createArt = maps\createart\nazi_zombie_zt2_art::main;
level.DLC3.createFX = maps\createfx\nazi_zombie_zt2_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 = &"MOD_INTRO";

// 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;

// Snow Feature
level.DLC3.useSnow = false;

/*--------------------
FUNCTION CALLS - PRE _Load
----------------------*/
level thread DLC3_threadCalls();

/*--------------------
ZOMBIE MODE
----------------------*/
[[level.DLC3.weapons]]();
[[level.DLC3.powerUps]]();
maps\_zombiemode::main();

/*--------------------
FUNCTION CALLS - POST _Load
----------------------*/
level.zone_manager_init_func = ::dlc3_zone_init;
level thread DLC3_threadCalls2();
}

dlc3_zone_init()
{
add_adjacent_zone("start_zone","zone1","enter_zone1");
add_adjacent_zone("start_zone","zone2","enter_zone2");
/*
=============
///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" );
}

preCacheMyFX()
{
// LEVEL SPECIFIC - FEEL FREE TO REMOVE/EDIT

level._effect["snow_thick"] = LoadFx ( "env/weather/fx_snow_blizzard_intense" );
}

what I need to test now is som1elses scripts or sum1 test my test map?

i make my map with the ugx script placer and it works fine

Post Merge: September 14, 2013, 06:19:54 pm
try moving your mapname.gsc to mods/mapname/maps

recompile and test it
Last Edit: September 14, 2013, 06:19:55 pm by KDXDARK
broken avatar :(
×
broken avatar :(
Location: gb
Date Registered: 27 August 2013
Last active: 9 years ago
Posts
28
Respect
Forum Rank
Legless Crawler
Primary Group
Member
×
GeneralJJ's Groups
GeneralJJ's Contact & Social Links
that where it is already, I have no files in raw/maps for my map. Script placer puts them into the mods folder.
broken avatar :(
×
broken avatar :(
Relentless Mapper
Location: al
Date Registered: 21 August 2011
Last active: 2 weeks ago
Posts
1,322
Respect
Forum Rank
Zombie Colossus
Primary Group
Nuclear
My Groups
More
×
KDXDARK's Groups
Donator ♥ Benevolent Soul who has our eternal gratitude and exclusive access to betas and the donator section of the forum.
Nuclear
Nuclear
DARKLEGION's requested title
Community Mapper Has released one or more maps to the UGX-Mods community which have been added to the UGX Map Manager.
KDXDARK's Contact & Social Links
that where it is already, I have no files in raw/maps for my map. Script placer puts them into the mods folder.
yes, if you use UGX script placer it place you some of your map files in your mod folder and if you use mrhankey script placer then they are in raw/map.
broken avatar :(
×
broken avatar :(
[UGX] Founder
Location: usBay Area, California
Date Registered: 24 June 2011
Last active: 9 months ago
Posts
5,551
Respect
6,691Add +1
Forum Rank
Immortal
Primary Group
UGX Administrator
My Groups
More
My Contact & Social Links
More
Signature
If Java had true garbage collection, most programs would delete themselves upon execution.
×
treminaor's Groups
UGX Administrator
UGX Team Member
UGX Site Moderator Has the ability to issue warnings to users, edit and remove posts from the forum and to move topics to other boards. Upholds the rules of the forum. Moderates Chat Rooms.
Putting your map scripts in your map's folder is the smarter way to do it because then you don't have to recompile your entire map FF every time you make a change to your nazi_zombie_mapname.gsc.

 
Loading ...