A Community discussion forum for Halo Custom Edition, Halo 2 Vista, Portal and Halo Machinima

Home  Search Register  Login Member ListRecent Posts
»Forums Index »Halo Custom Edition (Bungie/Gearbox) »Halo CE Technical / Map Design »Can you add more than six vehicles in a map?

Author Topic: Can you add more than six vehicles in a map? (3 messages, Page 1 of 1)
Moderators: Dennis

Joined: Oct 30, 2010

Rave to the Grave.

Posted: Nov 20, 2010 03:50 PM    Msg. 1 of 3       
Can you add more than six vehicles in globals? It would be really handy if you could.

Joined: Jul 23, 2006

Seriously guys?

Posted: Nov 21, 2010 11:08 PM    Msg. 2 of 3       
Yes add them in sapien, give them names, and you'll have to make a script to spawn them. Something along the lines of "object_create"

Joined: Apr 20, 2009

Shall we play a game?

Posted: Nov 22, 2010 09:34 PM    Msg. 3 of 3       
before you follow this tutorial, I assume that you know how to compile a script in sapien, and you know what scripting is.

Quote: Orginal tutorial by: Me KS

1. In your "Vehicles" list in Sapien, place a vehicle spawn point in a location where no player can go. Set the spawn point's vehicle type to "NONE" so no vehicle actually spawns there. This spawn point has to be the very first in the list of vehicles in Sapien.

The reason for this is all vehicles that the game considers "extra" are respawned to the first vehicle spawn point, no matter where their actual spawn points are. So we take advantage of that here.

2. Place a trigger volume (Game Data > Trigger Volumes) over this spawn point. Make sure the trigger volume is larger than the largest vehicle that you need a script to respawn. For example, if you have two scorpions, a hog, and a ghost, make the trigger volume at least as large as the scorpion. Name this trigger volume whatever you want.

This will be used to check to see when the vehicle has respawned to the first spawn point, then re-create it that very same moment to bring it back to its true spawn point.

3. Also, place a new vehicle of any type (hog, ghost, anything. Preferably something small) in either the same area (away from the trigger volume) or in a different location that the player can't go to. Name this vehicle "host_check", and set it to spawn BY DEFAULT in all game types. Make sure it's a vehicle that is in the globals so it'll spawn by itself, otherwise this won't work.

This is to check in the scripts to make sure the game doing all of this is the server. It works because the vehicles are server-side only, and so if you try to check for a vehicle's existence and you're not the server, it will say the vehicle doesn't exist, which lets us check and see who's the server. If we allowed the script to run without making sure only the server is making the changes, then there would be two vehicles spawned for each spawn point: one is the real server-side one, and the other is a client-side copy that doesn't exist on the server and so is just useless and annoying to players.

4. With all of the vehicles that you need scripted in, place them where you need them and set their properties as usual. Just remember to give each one a unique name for the scripts.

5. Then, you're ready to actually do the script:

(global boolean server 0)

(script startup vehicles
(>= (unit_get_health host_check) 0)
(set server 1)
(= server 1)
(object_create "first vehicle")
(object_create "second vehicle")
;; etc, repeat for each one

(script continuous respawn_stuff
(= server 1)
(volume_test_object "trigger volume name" "first vehicle")
(object_create_anew "first vehicle")
(volume_test_object "trigger volume name" "second vehicle")
(object_create_anew "second vehicle")
;; repeat each of these (if)'s for each vehicle. Use copy-pasting to do it faster.
(sleep_until (= 0 1))

Just replace the things in "quotes" and compile, and then test.


Previous Older Thread    Next newer Thread

Time: Thu June 4, 2020 11:04 PM 188 ms.
A Halo Maps Website