
XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Sep 29, 2010 05:08 PM
Msg. 1 of 17
I may have confused halo 1 with halo 3 and reach when it comes to teleporters. So recently I created a teleporter source with the index of #0. Then I created 3 other teleport to's with index #0, hoping that the game would select a random one. To my surprise when I test it ingame, It only picks the first one available, even when I have a friend blocking the first teleporter, the game does not choose the others, it simply says teleporter blocked. Is there a way to make random teleporters with 1 teleport source and multiple teleport to's?
|
|
|

Maniac1000
-Helpful Poster-
Joined: Feb 24, 2007
|
Posted: Sep 29, 2010 07:10 PM
Msg. 2 of 17
yoyorast island v2 i think does this, and i think that i read somewhere that the scripts are released.
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Sep 29, 2010 07:15 PM
Msg. 3 of 17
Do you know a link to it? I searched up on google but all I found was the link to the map, no scripts.
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Sep 29, 2010 11:41 PM
Msg. 4 of 17
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Sep 30, 2010 03:55 PM
Msg. 5 of 17
Oh, thanks dennis, I did not know there was a script extractor until now, probably because it wasn't released before. Anyways, thanks. I think I may have found the script part, but I don't understand it. Sorry to bother but could someone explain to me how this works? Thanks! Quote: (script continuous void randomize teleport (begin (begin (object_create_anew atvbase_biped) (object_create_anew beachbase_biped) (object_create_anew bluedanube_biped) (object_create_anew campingspot_biped) (object_create_anew centralroom_biped) (object_create_anew creditroom_biped) (object_create_anew garage_biped) (object_create_anew ghostbase_biped) (object_create_anew panicbalcony_biped) (object_create_anew paniccorridor_biped) (object_create_anew panichill_biped) (object_create_anew panicroom_biped) (object_create_anew sniperno1_biped) (object_create_anew sniperno2_biped) (object_create_anew thecrater_biped)) (begin_random (begin (set destination_number 0) (object_teleport telehog atvbase_flag)) (begin (set destination_number 0) (object_teleport telehog atvbase_flag)) (begin (set destination_number 0) (object_teleport telehog atvbase_flag)) (begin (set destination_number 1) (object_teleport telehog beachbase_flag)) (begin (set destination_number 1) (object_teleport telehog beachbase_flag)) (begin (set destination_number 1) (object_teleport telehog beachbase_flag)) (begin (set destination_number 2) (object_teleport telehog bluedanube_flag)) (begin (set destination_number 3) (object_teleport telehog campingspot_flag)) (begin (set destination_number 3) (object_teleport telehog campingspot_flag)) (begin (set destination_number 3) (object_teleport telehog campingspot_flag)) (begin (set destination_number 4) (object_teleport telehog centralroom_flag)) (begin (set destination_number 5) (object_teleport telehog creditroom_flag)) (begin (set destination_number 5) (object_teleport telehog creditroom_flag)) (begin (set destination_number 6) (object_teleport telehog garage_flag)) (begin (set destination_number 6) (object_teleport telehog garage_flag)) (begin (set destination_number 6) (object_teleport telehog garage_flag)) (begin (set destination_number 7) (object_teleport telehog ghostbase_flag)) (begin (set destination_number 7) (object_teleport telehog ghostbase_flag)) (begin (set destination_number 8) (object_teleport telehog panicbalcony_flag)) (begin (set destination_number 9) (object_teleport telehog paniccorridor_flag)) (begin (set destination_number 10) (object_teleport telehog panichill_flag)) (begin (set destination_number 10) (object_teleport telehog panichill_flag)) (begin (set destination_number 10) (object_teleport telehog panichill_flag)) (begin (set destination_number 10) (object_teleport telehog panichill_flag)) (begin (set destination_number 11) (object_teleport telehog panicroom_flag)) (begin (set destination_number 11) (object_teleport telehog panicroom_flag)) (begin (set destination_number 11) (object_teleport telehog panicroom_flag)) (begin (set destination_number 11) (object_teleport telehog panicroom_flag)) (begin (set destination_number 12) (object_teleport telehog sniperno1_flag)) (begin (set destination_number 13) (object_teleport telehog sniperno2_flag)) (begin (set destination_number 14) (object_teleport telehog thecrater_flag)) (begin (set destination_number 14) (object_teleport telehog thecrater_flag))) (sleep 900)))
Edited by XlzQwerty1 on Sep 30, 2010 at 04:03 PM
|
|
|

GameCreat0r
Joined: Apr 9, 2010
"Perhaps the ending has not yet been written..."
|
Posted: Sep 30, 2010 05:21 PM
Msg. 6 of 17
Wow that's an easy way of making random teleporting. I didn't even know it was posseble. The second part of the script is what you are looking for. It says start somewhere whit this piece of script random. Then it difines a number of locations in that piece of script. Or atleast that's what I think this does.
I think the first part is for biped crusing syncronization or something. Weird it doesn't make sence to me. Maybe this isn't all of it. Edited by Niels on Sep 30, 2010 at 05:23 PM
|
|
|

MoooseGuy
Joined: Aug 10, 2008
I Approve This Message.
|
Posted: Oct 1, 2010 05:33 AM
Msg. 7 of 17
If you are doing random teleports for singleplayer, this would be much simpler. But yeah, multiplayer needs a crush script.
|
|
|

Co1t3r
Joined: Dec 13, 2008
|
Posted: Oct 1, 2010 11:51 AM
Msg. 8 of 17
That script just uses pain-in-the-loldennis biped crushing scripts to synchronize the current randomly-generated teleporter locations. It's been a while since I've written any halo script but you can combine the above with this: (global "short" currentPlayer 0) (script continuous randomTeleport (if (volume_test teleporterVolume (list_get players currentPlayer)) (begin (if (= destination_number 0) (object_teleport (list_get players currentPlayer) destinationFlag0)) (if (= destination_number 1) (object_teleport (list_get players currentPlayer) destinationFlag1)) ; and so on ) (if (< current_player 16) (begin (set currentPlayer (+ currentPlayer 1)) ; don't remember is hs supports increment ) (begin (set currentPlayer 0) ) )
It probably won't immediately work, but you get the idea. And Gamma will likely come along and correct everything wrong with it. Edited by Co1t3r on Oct 1, 2010 at 11:52 AM
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Oct 2, 2010 06:33 PM
Msg. 9 of 17
is there anyway to simplify this? (script continuous "bluesource" (if (volume_test_objects "bluesource" (list_get (players) 0 ) ) (begin_random (object_teleport (list_get (players) 0 ) "bluea") (object_teleport (list_get (players) 0 ) "blueb") (object_teleport (list_get (players) 0 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 1 ) ) (begin_random (object_teleport (list_get (players) 1 ) "bluea") (object_teleport (list_get (players) 1 ) "blueb") (object_teleport (list_get (players) 1 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 2 ) ) (begin_random (object_teleport (list_get (players) 2 ) "bluea") (object_teleport (list_get (players) 2 ) "blueb") (object_teleport (list_get (players) 2 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 3 ) ) (begin_random (object_teleport (list_get (players) 3 ) "bluea") (object_teleport (list_get (players) 3 ) "blueb") (object_teleport (list_get (players) 3 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 4 ) ) (begin_random (object_teleport (list_get (players) 4 ) "bluea") (object_teleport (list_get (players) 4 ) "blueb") (object_teleport (list_get (players) 4 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 5 ) ) (begin_random (object_teleport (list_get (players) 5 ) "bluea") (object_teleport (list_get (players) 5 ) "blueb") (object_teleport (list_get (players) 5 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 6 ) ) (begin_random (object_teleport (list_get (players) 6 ) "bluea") (object_teleport (list_get (players) 6 ) "blueb") (object_teleport (list_get (players) 6 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players)7 ) ) (begin_random (object_teleport (list_get (players) 7 ) "bluea") (object_teleport (list_get (players) 7 ) "blueb") (object_teleport (list_get (players) 7 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 8 ) ) (begin_random (object_teleport (list_get (players) 8 ) "bluea") (object_teleport (list_get (players) 8 ) "blueb") (object_teleport (list_get (players) 8 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 9 ) ) (begin_random (object_teleport (list_get (players) 9 ) "bluea") (object_teleport (list_get (players) 9 ) "blueb") (object_teleport (list_get (players) 9 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 10 ) ) (begin_random (object_teleport (list_get (players) 10 ) "bluea") (object_teleport (list_get (players) 10 ) "blueb") (object_teleport (list_get (players) 10 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 11 ) ) (begin_random (object_teleport (list_get (players) 11 ) "bluea") (object_teleport (list_get (players) 11 ) "blueb") (object_teleport (list_get (players) 11 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 12 ) ) (begin_random (object_teleport (list_get (players) 12 ) "bluea") (object_teleport (list_get (players) 12 ) "blueb") (object_teleport (list_get (players) 12 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 13 ) ) (begin_random (object_teleport (list_get (players) 13 ) "bluea") (object_teleport (list_get (players) 13 ) "blueb") (object_teleport (list_get (players) 13 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 14 ) ) (begin_random (object_teleport (list_get (players) 14 ) "bluea") (object_teleport (list_get (players) 14 ) "blueb") (object_teleport (list_get (players) 14 ) "bluec") ) ) (if (volume_test_objects "bluesource" (list_get (players) 15 ) ) (begin_random (object_teleport (list_get (players) 15 ) "bluea") (object_teleport (list_get (players) 15 ) "blueb") (object_teleport (list_get (players) 15 ) "bluec") ) ) ) I asked Inferno, but it's too long as I have 10 teleporters needed to be random. When I build the map, the scripts do not function properly because in guerilla, it said that the map had exceeded the maximum script string size. I want to simplify this script so I don't have to repeat list_get players for all 16 people. Is there a way to do that or is there a better script for this?
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Oct 3, 2010 12:52 AM
Msg. 10 of 17
Quote: --- Original message by: Co1t3r That script just uses pain-in-the-loldennis biped crushing scripts to synchronize the current randomly-generated teleporter locations. The only pain here is the one where you just don't understand what I have said. I have always said that the crush script can be used for binary functions when the margin for error is minimally impacting to the game play, but everyone else thinks they can use it or something like it to synchronize AI, animated scenery and device machines when they can't. The joke is on them not me.
|
|
|

Co1t3r
Joined: Dec 13, 2008
|
Posted: Oct 3, 2010 01:38 AM
Msg. 11 of 17
I was actually trying to censor a bad word for you 
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Oct 3, 2010 12:35 PM
Msg. 12 of 17
Thanks Grunts! By the way, does anyone know what the maximum script limit is?
|
|
|

Dennis

Joined: Jan 27, 2005
"We are made of starstuff.” ― Carl Sagan
|
Posted: Oct 3, 2010 03:59 PM
Msg. 13 of 17
Quote: --- Original message by: Co1t3rI was actually trying to censor a bad word for you  If I am understanding you correctly then you are inferring that I am an Ass. I may be a pain in one, however I reject the characterization as untrue.
|
|
|

Co1t3r
Joined: Dec 13, 2008
|
Posted: Oct 3, 2010 04:16 PM
Msg. 14 of 17
I was calling biped crushing scripts being pain-in-the-ass. I used your name to censor what I thought you consider profane since you are the administrator.
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Oct 4, 2010 04:52 PM
Msg. 15 of 17
Well, when I used the old script inferno gave me, this is what it said in kornmann. 10.02.10 18:26:48 kornman00 02.00.00.0609 10.02.10 18:26:48 reference function: _write_to_error_file_zomg_h4xmb 10.02.10 18:26:48 reference address: 4011a4 10.02.10 18:26:48 Couldn't read map file './kornman00beta.map' 10.02.10 18:27:45 EAX: 0xFFFFFFFE 10.02.10 18:27:45 EBX: 0x00000000 10.02.10 18:27:45 ECX: 0x0012E858 10.02.10 18:27:45 EDX: 0x000002CC 10.02.10 18:27:45 EDI: 0x0012E858 10.02.10 18:27:45 ESI: 0x00000000 10.02.10 18:27:45 EBP: 0x0012E730 10.02.10 18:27:45 ESP: 0x0012E720 10.02.10 18:27:45 EIP: 0x7C90E4F4, C3 8D A4 24 ????? 10.02.10 18:27:45 EXCEPTION halt in \km00\sourcecode\halo\cseries\cseries.c,#368: size>=0 && size<MAXIMUM_STRING_SIZE Also, the old scripts from inferno didn't function properly in game. EDIT: Now it says when I try to compile the scripts: 10.04.10 17:06:01 [random teleporters line 10] this left parenthesis is unmatched.: (script continuous leavesecret 10.04.10 17:06:01 recompiling scripts after scenarios were merged. 10.04.10 17:06:01 this left parenthesis is unmatched.: (script continuous leavesecret Edited by XlzQwerty1 on Oct 4, 2010 at 05:07 PM
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Oct 4, 2010 05:15 PM
Msg. 16 of 17
(global short player_number 0) (global short lock 0)
(script static unit player (unit (list_get (players) player_number)) )
(script continuous leavesecret (if (= (volume_test_object leavesecret (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) topa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) topb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) topc) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) topd) (set lock 1) ) ) ) ) (if (= (volume_test_object blue1 (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) blueaa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluebb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluecc) (set lock 1) ) ) ) ) (if (= (volume_test_object blue2 (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) blueaa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluebb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluecc) (set lock 1) ) ) ) ) (if (= (volume_test_object blue3 (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) blueaa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluebb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluecc) (set lock 1) ) ) ) ) (if (= (volume_test_object bluesource (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) bluea) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) blueb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) bluec) (set lock 1) ) ) ) ) (if (= (volume_test_object red1 (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) redaa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redbb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redcc) (set lock 1) ) ) ) ) (if (= (volume_test_object red2 (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) redaa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redbb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redcc) (set lock 1) ) ) ) ) (if (= (volume_test_object red3 (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) redaa) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redbb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redcc) (set lock 1) ) ) ) ) (if (= (volume_test_object redsource (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) reda) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redb) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) redc) (set lock 1) ) ) ) ) (if (= (volume_test_object secretrooma (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) secretroom1) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) secretroom2) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) secretroom3) (set lock 1) ) ) ) ) (if (= (volume_test_object secretroomb (player)) true) (begin_random (if (= lock 0) (begin (object_teleport (player) secretroom1) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) secretroom2) (set lock 1) ) ) (if (= lock 0) (begin (object_teleport (player) secretroom3) (set lock 1) ) ) ) ) (set lock 0) (set player_number (+ player_number 1) (if (= (player_number) 16) (set player_number 0) ) )
|
|
|

XlzQwerty1
Joined: Aug 6, 2009
|
Posted: Oct 4, 2010 05:45 PM
Msg. 17 of 17
Alright thanks, it fixed the first problem but now, it says 10.04.10 17:44:52 [random teleporters line 261] this is not a valid function or script name.: player_number) 16) 10.04.10 17:44:52 recompiling scripts after scenarios were merged. 10.04.10 17:44:52 this left parenthesis is unmatched.: (if (= (player_number) 16)
Line 261 is the 4th to last line
|
|
|