- Joined
- Jul 24, 2007
- Messages
- 308
Making a random doodad, terrain system
In this tutorial, i will learn you how to make a random doodad system, which generates random doodads each game!
Open the trigger editor, then make this big trigger:
Variables:
Random_Terrain : An arrayed Terrain Type
Random_Position : Point
Make such trigger, then test the map, and see yourself.
Congratulations, you just made a random terrain,doodad system!
In this tutorial, i will learn you how to make a random doodad system, which generates random doodads each game!
Open the trigger editor, then make this big trigger:
Variables:
Random_Terrain : An arrayed Terrain Type
Random_Position : Point
-
Ashenvale
-
Events
-
Time - Elapsed game time is 1.00 seconds
-
-
Conditions
-
Actions
-
Set Random_Terrain[1] = Ashenvale - Dirt
-
Set Random_Terrain[2] = Ashenvale - Rough Dirt
-
Set Random_Terrain[3] = Ashenvale - Lumpy Grass
-
Set Random_Terrain[4] = Ashenvale - Vines
-
Set Random_Terrain[5] = Felwood - Grass
-
Set Random_Terrain[6] = Felwood - Leaves
-
Set Random_Terrain[7] = Ashenvale - Rock
-
-------- Random Terrain --------
-
-
-
//These terrains are the ones which will be used in the map
-
For each (Integer A) from 1 to 600, do (Actions)
-
Loop - Actions
-
Set Random_Position = (Random point in (Entire map))
-
Environment - Change terrain type at Random_Position to Random_Terrain[(Random integer number between 1 and 5)] using variation -1 in an area of size (Random integer number between 3 and 4) and shape Circle
-
Custom script: call RemoveLocation (udg_Random_Position)
-
-
-
-
//For 600 times, these actions pick a random point in the map, and creates a
-
//3-4 size circle terrain.
-
-------- Doodads --------
-
For each (Integer A) from 1 to 256, do (Actions)
-
Loop - Actions
-
Set Random_Position = (Random point in (Entire map))
-
Destructible - Create a Grass at Random_Position facing (Random angle) with scale (Random real number between 1.00 and 3.00) and variation (Random integer number between 1 and 3)
-
Custom script: call RemoveLocation (udg_Random_Position)
-
-
-
-
//For 256 times, this trigger creates a doodad (type : Grass) at a random
-
//point in the map, its scale is from 1-3 you can customize the number
-
//of doodads that you want to create
-
For each (Integer A) from 1 to 256, do (Actions)
-
Loop - Actions
-
Set Random_Position = (Random point in (Entire map))
-
Destructible - Create a Ashenvale Tree Wall at Random_Position facing (Random angle) with scale 0.50 and variation (Random integer number between 1 and 3)
-
Custom script: call RemoveLocation (udg_Random_Position)
-
-
-
-
//same happens in this action, for 256 times it creates an ashenvale tree
-
//at a random point in the map
-
For each (Integer A) from 1 to 256, do (Actions)
-
Loop - Actions
-
Set Random_Position = (Random point in (Entire map))
-
Destructible - Create a Ashenvale Tree Wall at Random_Position facing (Random angle) with scale (Random real number between 1.00 and 2.00) and variation (Random integer number between 1 and 10)
-
Custom script: call RemoveLocation (udg_Random_Position)
-
-
-
For each (Integer A) from 1 to 64, do (Actions)
-
Loop - Actions
-
Set Random_Position = (Random point in (Entire map))
-
Destructible - Create a Ashenvale Canopy Tree at Random_Position facing (Random angle) with scale 1.00 and variation (Random integer number between 1 and 3)
-
Custom script: call RemoveLocation (udg_Random_Position)
-
-
-
-
//you can continue as much as you want, and change numbers to your choice.
-
//the Custom Script was used to fix leaks, leaks are same as
-
//"lagness", they cause the game to lag if they are not fixed
-
-------- Misc --------
-
Environment - Set sky to Lordaeron Summer Sky
-
Make such trigger, then test the map, and see yourself.
Congratulations, you just made a random terrain,doodad system!
Last edited: