random spawnpoints.


(dFx) #1

How to ?
i tried this :
func_timer (wait 500) -> target_relay -> 2 target delay (wait 200) -> 2 target relay (random on) -> 4 blue spawns and 4 red spawns

http://wolfcfg.free.fr/images/market/screen_gtk_market.jpg

any help ?


(Yatta) #2

Well your question is quite vague … o_o

I assume you want the players to spawn at random points chaning during the game ?

Not sure how to do it with just entities (and not sure its possible either), but you can do a simple map script :


game_manager
{
  spawn
  {
    trigger self randompoints
  }
  trigger randompoints
  {
    accum 1 random 4 // 4 means 4 possibilities : 0,1,2,3
    accum 1 trigger_if_equal 0 self spawn_point_1
    accum 1 trigger_if_equal 1 self spawn_point_2
    accum 1 trigger_if_equal 2 self spawn_point_3
    accum 1 trigger_if_equal 3 self spawn_point_4
    wait 5000
    trigger self randompoints // will play this script again after 5 seconds
  }
  trigger spawn_point_1
  {
    setstate spawnpoints_A default
    setstate spawnpoints_B invisible
    setstate spawnpoints_C invisible
    setstate spawnpoints_D invisible
  }
  trigger spawn_point_2
  {
    setstate spawnpoints_A invisible
    setstate spawnpoints_B default
    setstate spawnpoints_C invisible
    setstate spawnpoints_D invisible
  }
  trigger spawn_point_3
  {
    setstate spawnpoints_A invisible
    setstate spawnpoints_B invisible
    setstate spawnpoints_C default
    setstate spawnpoints_D invisible
  }
  trigger spawn_point_4
  {
    setstate spawnpoints_A invisible
    setstate spawnpoints_B invisible
    setstate spawnpoints_C invisible
    setstate spawnpoints_D default
  }
}

With this script all you need is your team_CTF_redspawn entities to have a targetname (“spawnpoints_A” to “spawnpoints_D”).

Every 5 seconds, all the groups of spawnpoints will be closed except for the group randomly picked.

Hope that helps (and works <_<) …


(dFx) #3

the script doesn’t work.
ET says :
unknown triggers spawn_point_1/2/3/4

i think that it is due to spawn of game manager, functions didn’t spawn already.

trying to add a timer to trigger the script arranged by me :

joe
{
	spawn
	{ 
		wait 200
	}

	trigger randompoints 
  	{ 
   	 	accum 1 random 4 // 4 means 4 possibilities : 0,1,2,3 
 	   	accum 1 trigger_if_equal 0 self spawn_point_1 
    		accum 1 trigger_if_equal 1 self spawn_point_2 
    		accum 1 trigger_if_equal 2 self spawn_point_3 
    		accum 1 trigger_if_equal 3 self spawn_point_4 
    		wait 5000 
    		trigger self randompoints // will play this script again after 5 seconds 
  	} 

  	trigger spawn_point_1 
  	{ 
    		setstate spawnpoints_A default 
    		setstate spawnpoints_B invisible 
    		setstate spawnpoints_C invisible 
    		setstate spawnpoints_D invisible 
  	} 

	trigger spawn_point_2 
  	{ 
    		setstate spawnpoints_A invisible 
    		setstate spawnpoints_B default 
    		setstate spawnpoints_C invisible 
    		setstate spawnpoints_D invisible 
  	} 

  	trigger spawn_point_3 
  	{ 
    		setstate spawnpoints_A invisible 
    		setstate spawnpoints_B invisible 
    		setstate spawnpoints_C default 
    		setstate spawnpoints_D invisible 
  	} 

  	trigger spawn_point_4 
  	{ 
    		setstate spawnpoints_A invisible 
    		setstate spawnpoints_B invisible 
    		setstate spawnpoints_C invisible 
    		setstate spawnpoints_D default 
  	} 
} 

(dFx) #4

isn’t working …


(Yatta) #5

ah I forgot somehting : “self” doesnt work with trigger_if_equal, so you have to replace
“trigger_if_equal self spawn_point_X”
by
“trigger_if_equal joe spawn_point_X” (since you decided to use something scriptnamed “joe” instead of the game_manager)

also, in the script you showed the spawn function doesnt trigger the “randompoints” function, so unless some other part of your script triggers it, that wont do anything : )


(dFx) #6

for the first trigger, i use entities.