How to make a invasion map?
-
Camo Yoshi
- Forum Regular
- Posts: 129
- Joined: Wed Jun 13, 2012 7:08 pm
- Location: Bainbridge Island, WA
- Contact:
How to make a invasion map?
I wasn't really able to find any good info regarding this, could someone point me in the right direction on a tutorial of sorts? Much appreciated.
50+GB of WADs and counting: http://camoy.sdf.org/wads/
Ask your doctor if Zandrama is right for you. Side effects include butthurt, loss of sleep, loss of ego, embarrassment, and social withdrawal.
Ask your doctor if Zandrama is right for you. Side effects include butthurt, loss of sleep, loss of ego, embarrassment, and social withdrawal.
- ibm5155
- Addicted to Zandronum
- Posts: 1641
- Joined: Tue Jun 05, 2012 9:32 pm
- Location: Somewhere, over the rainbow
RE: How to make a invasion map?
sorry i really don´t remember how to, but it have on doom builder 2, skulltag doom in hexen format (i think) the invasion monsters, they got some simple arguments like
how many of them will be spawed, what round´ll start and what´ll end.
how many of them will be spawed, what round´ll start and what´ll end.
- UnTrustable
- Forum Regular
- Posts: 250
- Joined: Sun Jun 10, 2012 9:04 pm
RE: How to make a invasion map?
Back in 2007 i learned it this way. It gives you alot oversight what does do what, if you know what i mean.
Sure there are ways to shorten these scripts into smaller pieces of codes.
I have no idea what Doom Builder 2 has onboard or can do things for you automaticly..?
I'm here to discuss this in the old DoomBuilder. (DB1)
In XWE, SlumpEd or Slade3
Make a lump named: CMPGNINF and write in it:
Make a lump named: MAPINFO and write in it:
In DoomBuilder's (Skulltag in Hexen format) Scripts:
++++++++++++++++++++++++++++++++++++++++++++++++++
But now-a-days i do it this way since i left the Skulltag system.
DoomBuilder (ZDoom in Hexen format)
You can always seperate the 10 seconds countdown into its own Script.
I just thought things would be easier to understand to put the countdown into the same script.
I hope this will give you a head start. Good luck !
Sure there are ways to shorten these scripts into smaller pieces of codes.
I have no idea what Doom Builder 2 has onboard or can do things for you automaticly..?
I'm here to discuss this in the old DoomBuilder. (DB1)
In XWE, SlumpEd or Slade3
Make a lump named: CMPGNINF and write in it:
Code: Select all
{
mapname = YOURMAP1
gamemode = invasion
wavelimit = 5
}
Code: Select all
clearepisodes
episode YOURMAP1
name "Your Invasion"
episode MAP01
name "Doom 2 : Hell On Earth"
map YOURMAP1 "Mission : X"
next YOURMAP2
sky1 stsky9 0.3 // just an example :)
music xxxxxxxxCode: Select all
#include "zcommon.acs"
Script 1 OPEN // MAP BEHAVIOR DURING WAVES
{
While(GetInvasionState() != IS_WAVECOMPLETE || GetInvasionWave() != 1) Delay(35*1); // After wave 1
ACS_Execute(50, 0);
while (GetInvasionWave() != 1 || GetInvasionState() != IS_COUNTDOWN) Delay(35*1); // Going to wave 2
ACS_Execute(51, 0);
While(GetInvasionState() != IS_WAVECOMPLETE || GetInvasionWave() != 2) Delay(35*1); // After wave 2
ACS_Execute(52, 0);
while (GetInvasionWave() != 2 || GetInvasionState() != IS_COUNTDOWN) Delay(35*1); // Going to wave 3
ACS_Execute(53, 0);
While(GetInvasionState() != IS_WAVECOMPLETE || GetInvasionWave() != 3) Delay(35*1); // After wave 3
ACS_Execute(54, 0);
while (GetInvasionWave() != 3 || GetInvasionState() != IS_COUNTDOWN) Delay(35*1); // Going to wave 4
ACS_Execute(55, 0);
While(GetInvasionState() != IS_WAVECOMPLETE || GetInvasionWave() != 4) Delay(15*1); // After wave 4
ACS_Execute(56, 0);
while (GetInvasionWave() != 4 || GetInvasionState() != IS_COUNTDOWN) Delay(35*1); // Going to wave 5
ACS_Execute(57, 0);
While(GetInvasionState() != IS_WAVECOMPLETE || GetInvasionWave() != 5) Delay(15*1); // After wave 5
ACS_Execute(58, 0);
}++++++++++++++++++++++++++++++++++++++++++++++++++
But now-a-days i do it this way since i left the Skulltag system.
DoomBuilder (ZDoom in Hexen format)
Code: Select all
#include "zcommon.acs"
Int Wave = 1;
Int WellDone = 0; // WellDone prevents this script to go on continuesly running to the next waves...
Script 10 OPEN
{
If (Wave == 1 && WellDone == 0)
{
// Wave 1
WellDone = 1;
Acs_Execute (50, 0, 0, 0, 0);
Delay(10);
}
If (Wave == 2 && WellDone == 0)
{
// Wave 2
WellDone = 1;
Acs_Execute (51, 0, 0, 0, 0);
Delay(10);
}
If (Wave == 3 && WellDone == 0)
{
// Wave 3
WellDone = 1;
Acs_Execute (52, 0, 0, 0, 0);
Delay(10);
}
If (Wave == 4 && WellDone == 0)
{
// Wave 4
WellDone = 1;
Acs_Execute (53, 0, 0, 0, 0);
Delay(10);
}
If (Wave == 5 && WellDone == 0)
{
// Wave 5
WellDone = 1;
Acs_Execute (54, 0, 0, 0, 0);
Delay(10);
}
Delay(35);
Restart;
}
Script 50 (void) // Wave 1
{
Delay(245);
SetFont("BIGFONT");
HudMessage(s:"Starting in 10..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 9..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 8..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 7..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 6..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 5..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 4..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 3..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 2..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
HudMessage(s:"Starting in 1..."; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 1.0, 0.05, 1.0);
Delay (35);
SpawnSpot ("BaronOfHell", 1, 999);
Delay(20);
ACS_Execute(299, 0, 0, 0, 0); // start monster counter
}
Script 299 (void) // Monsters counter - Experimental. Normally Skulltag does the monster counting in invasion mode...
{
SetFont("BIGFONT");
HudMessageBold(s: "Monsters left: ", d:ThingCount(0, 999);
HUDMSG_PLAIN, 0, CR_Red, -0.0, -0.75, 1.0, 0.03, 0);
If ( (ThingCount(0, 999)) == 0 )
{
SetFont("BIGFONT");
HudMessage(s:"Well Done...!"; HUDMSG_PLAIN, 1, CR_RED, 0.5, 0.5, 2.5, 0.05, 1.0);
Delay(10);
Wave = Wave + 1;
WellDone = 0;
Delay(10);
Acs_Terminate (299, 0);
}
Delay(const:35);
Restart;
}I just thought things would be easier to understand to put the countdown into the same script.
I hope this will give you a head start. Good luck !
Last edited by UnTrustable on Sat Sep 29, 2012 4:04 am, edited 1 time in total.
-
Camo Yoshi
- Forum Regular
- Posts: 129
- Joined: Wed Jun 13, 2012 7:08 pm
- Location: Bainbridge Island, WA
- Contact:
RE: How to make a invasion map?
Thanks, I'll try this once I have some more time on my hands and see how it'll work.
50+GB of WADs and counting: http://camoy.sdf.org/wads/
Ask your doctor if Zandrama is right for you. Side effects include butthurt, loss of sleep, loss of ego, embarrassment, and social withdrawal.
Ask your doctor if Zandrama is right for you. Side effects include butthurt, loss of sleep, loss of ego, embarrassment, and social withdrawal.