How to setup Sandbox waves

Killing Floor :D One of the sweetest Co-op games ever made in my opinion. ;)

Moderator: Guardians Knights

How to setup Sandbox waves

Postby Guardian » Fri Sep 05, 2014 12:33 am

Found this a long while back. Figured I would post it here also, just in case the other place ever closes or removes it. :nod:




How to set up Waves
Post by faust on Aug 18, 2006, 7:54pm

Alright! So you want to set up your waves? Well, since people keep posting thread over thread over how they want to make waves, etc....

Here's the deal: If you want a decent game, use this:
Code:
MonsterSquad[0]=1A1G2A1G1A
MonsterSquad[1]=4A2D
MonsterSquad[2]=2D2A2D
MonsterSquad[3]=2A1C2D1B
MonsterSquad[4]=2A2C1E
MonsterSquad[5]=2A2C
MonsterSquad[6]=2D1H2A1E
MonsterSquad[7]=3B2F
MonsterSquad[8]=1H2D1G1C
MonsterSquad[9]=2F
MonsterSquad[10]=2F2A
MonsterSquad[11]=2F2H1E
MonsterSquad[12]=2H2D
MonsterSquad[13]=1H1C1B
MonsterSquad[14]=1H1E1A
MonsterSquad[15]=3E2B4A
MonsterSquad[16]=2B7F3G
MonsterSquad[17]=4A2G3D
MonsterSquad[18]=2D2D3H
MonsterSquad[19]=2F2G2H
Waves[0]=(WaveMask=1,WaveMaxMonsters=30,WaveDuration=255,WaveDifficulty=0.000000)
Waves[1]=(WaveMask=7,WaveMaxMonsters=40,WaveDuration=255,WaveDifficulty=0.000000)
Waves[2]=(WaveMask=15,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.000000)
Waves[3]=(WaveMask=63,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[4]=(WaveMask=60,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[5]=(WaveMask=64,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[6]=(WaveMask=108,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[7]=(WaveMask=200,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[8]=(WaveMask=496,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[9]=(WaveMask=638,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[10]=(WaveMask=16392,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=0.500000)
Waves[11]=(WaveMask=3524,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=1.500000)
Waves[12]=(WaveMask=2794,WaveMaxMonsters=50,WaveDuration=255,WaveDifficulty=1.500000)
Waves[13]=(WaveMask=4021,WaveMaxMonsters=50,WaveDuration=510,WaveDifficulty=1.500000)
Waves[14]=(WaveMask=3729,WaveMaxMonsters=50,WaveDuration=510,WaveDifficulty=1.500000)
Waves[15]=(WaveMask=3972,WaveMaxMonsters=50,WaveDuration=510,WaveDifficulty=2.000000)
Waves[16]=(WaveMask=60172,WaveMaxMonsters=50,WaveDuration=510,WaveDifficulty=2.000000)
Waves[17]=(WaveMask=3712,WaveMaxMonsters=50,WaveDuration=510,WaveDifficulty=2.000000)
Waves[18]=(WaveMask=2048,WaveMaxMonsters=50,WaveDuration=1020,WaveDifficulty=2.000000)


If you feel like you're the uber D&D Dungeon master and think you have an idea of a "better" adjustment, I'll explain what the crap up there means.

before that, just to make one thing clear, the scrake is NOT only available for those using the patch. It's already in the KFMod 2.0 Version non Betatesters have. The reason they have them is that I adjusted the adjusted waves up there as a .txt file within the patch. those do have scrakes, accidentally, since I just added random numbers in the masks in the hope that one of teh waves has them, but this is a nice setup, nonetheless. So you'll have them too if you adjust your server.

Monsters in KF are being spawned in squads. Like the first wave consisting of squads of Bloats and Clots. Understood? Good.

Now that we got that covered, you'll need a list from the code that explains what what monsters are, it's the MonsterClassNameArray and that this is important. See how it looks?
Code:
MonsterClassName(0)="KFChar.ZombieClot" //A.
MonsterClassName(1)="KFChar.ZombieCrawler" //B.
MonsterClassName(2)="KFChar.ZombieGoreFast" //C.
MonsterClassName(3)="KFChar.ZombieStalker" //D.
MonsterClassName(4)="KFChar.ZombieScrake" //E.
MonsterClassName(5)="KFChar.ZombieFleshpound" //F.
MonsterClassName(6)="KFChar.ZombieBloat" //G.
MonsterClassName(7)="KFChar.ZombieSiren" //H.

Well, the important bit is after the // here you see what monster has what Letter. Invasion admins might think that the indices of the array are important, well they are not in KF. It will all get clear.

Now we might be to able to see what MonsterSquad[0]=1A1G2A1G1A means. It means that this squad consists of 4 clots and 2 Bloats. One could write 4A2G into the squad, too. It would have the same effect.
Here it is important that it is Squad number 0 that consists of these monsters.

Now we got that memorised,
Waves[0]=(WaveMask=1,WaveMaxMonsters=30,WaveDuration=255,WaveDifficulty=0.000000)
What does that mean?

well the index of the Waves-array is pretty easy. this is just the first wave. period

WaveMaxMonsters = Well it's obvious I guess, the maximum ammount of monsters, the Betatesters might have noticed that with more people on a server the first wave has more than 30 monsters. Well the exact ammount of monsters is calculated based on the ammount of players on the server and this number. So make this bigger, the more monsters you'll get.

WaveDuration = After this Time (it's in seconds, and the actual time is 30 plus that I think), Monsters with no direct line of sight to the player will get killed. That counts for glass too so you might have seen zombies comit suicide behind a window or a fence. The number 255 seems reasonable to me since the wavetime is long enough (over 3 minutes) and even if I put all my efforts in making the AI better, some zeds still get stuck somewhere (rather seldom now, thank god), but you want them to die then nonethless and don't wait hours for the next wave.

WaveDifficulty = Monsters making bigger damage and stuff is adjusted over the gamedifficuly the server makes. However, with this, you can set the Difficulty of the waves up through the .ini
the calculation of this is
Code:
AdjustedDifficulty = GameDifficulty + Waves[WaveNum].WaveDifficulty


well Suicide has a difficulty of 7 so a wavedifficulty of 0.5 doesn't add much more to that. But it's still a little harder...

WaveMask: You already wanted to know what this is huh? Well, I'll explain with an example.
Say, I have 2 Squads in my ini I want to have the first wave:


MonsterSquad[0]=2A7E
MonsterSquad[4]=4F

So basically In my first wave, I want to have a squad consisting of 2 Clots and 7 Scrakes and another squads consisting of 4 fleshpounds. (I would not advice to make this your first wave, though. You'll get raped).

So, for my first wave, I'll have to set up the wavemask to make them appear. The wavemask is a number that is made of the numbers of squads you want to use. It's math, guys! The formula is
Code:
2^Indexonesquad + 2^Indexanothersquad + 2^Indexwhateversquad + ....

Don't be afraid of big numbers, the game can handle them!


If you don't know how to calculate this, you can use the windows calculator:
[image]

To make them appear you have to calculate 2^0 + 2^4 = 17 That's the wavemask then:
Waves[0]=(WaveMask=17,WaveMaxMonsters=17,WaveDuration=90,WaveDifficulty=0.000000)
User avatar
Guardian
Supreme Knight(Site Admin)
Supreme Knight(Site Admin)
 
Topic author
Posts: 646
Joined: Mon May 30, 2005 7:00 pm
Location: VA, USA
Gender: Male

Return to Killing Floor

Who is online

Users browsing this forum: ClaudeBot [Bot] and 0 guests