Difference between revisions of "Moving gate"
Jump to navigation
Jump to search
(New page: This is a code snippet of a moving gate. This code is in Sanny Builder's format and should work in GTA III, Vice City, and San Andreas. This code is based on the moving gat...) |
(added sounds for VC and SA) |
||
Line 1: | Line 1: | ||
− | This is a code snippet of a moving gate | + | This is a code snippet of a moving gate in [[Sanny Builder]]'s format and should work in [[GTA III]], [[Vice City]], and [[San Andreas]]. This code is based on the moving gates, including the sound it makes, in GTA III. Remember to read the tutorial on [[Create a thread|how to create a thread]] before proceeding to implement this code. |
<source lang="scm" line> | <source lang="scm" line> | ||
:GATE | :GATE | ||
Line 15: | Line 15: | ||
:GATE_101 | :GATE_101 | ||
− | 0001: wait | + | 0001: wait 250 ms |
00D6: if | 00D6: if | ||
0256: player $PLAYER_CHAR defined | 0256: player $PLAYER_CHAR defined | ||
Line 26: | Line 26: | ||
0039: 1@ == 0 | 0039: 1@ == 0 | ||
004D: jump_if_false @GATE_189 | 004D: jump_if_false @GATE_189 | ||
− | //018C: play_sound 92 at 4@ 5@ 6@ | + | //018C: play_sound 92 at 4@ 5@ 6@ // uncomment for III |
+ | //018C: play_sound 3 at 4@ 5@ 6@ // uncomment for VC | ||
+ | //097B: play_audio_at_object 0@ event 1100 // uncomment for SA | ||
0006: 1@ = 1 | 0006: 1@ = 1 | ||
Line 47: | Line 49: | ||
0039: 3@ == 0 | 0039: 3@ == 0 | ||
004D: jump_if_false @GATE_299 | 004D: jump_if_false @GATE_299 | ||
− | //018C: play_sound 93 at 7@ 8@ 9@ | + | //018C: play_sound 93 at 7@ 8@ 9@ // uncomment for III |
+ | //018C: play_sound 3 at 7@ 8@ 9@ // uncomment for VC | ||
+ | //097B: play_audio_at_object 0@ event 1101 // uncomment for SA | ||
0006: 3@ = 1 // integer values | 0006: 3@ = 1 // integer values | ||
Line 57: | Line 61: | ||
0039: 1@ == 1 | 0039: 1@ == 1 | ||
004D: jump_if_false @GATE_324 | 004D: jump_if_false @GATE_324 | ||
− | //018C: play_sound 92 at 7@ 8@ 9@ | + | //018C: play_sound 92 at 7@ 8@ 9@ // uncomment for III |
+ | //018C: play_sound 3 at 7@ 8@ 9@ // uncomment for VC | ||
+ | //097B: play_audio_at_object 0@ event 1100 // uncomment for SA | ||
:GATE_324 | :GATE_324 | ||
Line 73: | Line 79: | ||
0006: 2@ = 1 | 0006: 2@ = 1 | ||
00D6: if and | 00D6: if and | ||
− | 0045: 10@ == | + | 0045: 10@ == 4@ |
− | 0045: 11@ == | + | 0045: 11@ == 5@ |
− | 0045: 12@ == | + | 0045: 12@ == 6@ |
004D: jump_if_false @GATE_465 | 004D: jump_if_false @GATE_465 | ||
− | //018C: play_sound 93 at 4@ 5@ 6@ | + | //018C: play_sound 93 at 4@ 5@ 6@ // uncomment for III |
+ | //018C: play_sound 3 at 4@ 5@ 6@ // uncomment for VC | ||
+ | //097B: play_audio_at_object 0@ event 1101 // uncomment for SA | ||
0006: 3@ = 0 | 0006: 3@ = 0 | ||
0006: 2@ = 0 | 0006: 2@ = 0 |
Revision as of 04:54, 12 January 2010
This is a code snippet of a moving gate in Sanny Builder's format and should work in GTA III, Vice City, and San Andreas. This code is based on the moving gates, including the sound it makes, in GTA III. Remember to read the tutorial on how to create a thread before proceeding to implement this code.
:GATE
0007: 4@ = 298.0 // initial x position
0007: 5@ = -313.6 // initial y position
0007: 6@ = 11.0 // initial z position
0007: 7@ = 304.0 // final x position
0007: 8@ = -313.6 // final y position
0007: 9@ = 11.0 // final z position
03A4: name_thread 'GATE'
// you can use any object you want but make sure it's defined before creating it
029B: 0@ = init_object #ELECTRICGATE at 4@ 5@ 6@
01C7: remove_object_from_mission_cleanup_list 0@
0177: set_object 0@ z_angle_to 0.0 // remember to set the angle of your gate
:GATE_101
0001: wait 250 ms
00D6: if
0256: player $PLAYER_CHAR defined
004D: jump_if_false @GATE_472
00D6: if
// use other area check opcodes for more precision and options
00FE: actor $PLAYER_ACTOR 0 4@ 5@ 6@ radius 5.0 5.0 5.0
004D: jump_if_false @GATE_306
00D6: if
0039: 1@ == 0
004D: jump_if_false @GATE_189
//018C: play_sound 92 at 4@ 5@ 6@ // uncomment for III
//018C: play_sound 3 at 4@ 5@ 6@ // uncomment for VC
//097B: play_audio_at_object 0@ event 1100 // uncomment for SA
0006: 1@ = 1
:GATE_189
00D6: if
834E: not move_object 0@ to 7@ 8@ 9@ speed 0.1 0.1 0.0 flag 0
004D: jump_if_false @GATE_242
0001: wait 0 ms
0002: jump @GATE_189
:GATE_242
00D6: if
0039: 2@ == 1
004D: jump_if_false @GATE_274
0006: 3@ = 0
0006: 2@ = 0
:GATE_274
00D6: if
0039: 3@ == 0
004D: jump_if_false @GATE_299
//018C: play_sound 93 at 7@ 8@ 9@ // uncomment for III
//018C: play_sound 3 at 7@ 8@ 9@ // uncomment for VC
//097B: play_audio_at_object 0@ event 1101 // uncomment for SA
0006: 3@ = 1 // integer values
:GATE_299
0002: jump @GATE_472
:GATE_306
00D6: if
0039: 1@ == 1
004D: jump_if_false @GATE_324
//018C: play_sound 92 at 7@ 8@ 9@ // uncomment for III
//018C: play_sound 3 at 7@ 8@ 9@ // uncomment for VC
//097B: play_audio_at_object 0@ event 1100 // uncomment for SA
:GATE_324
00D6: if
834E: not move_object 0@ to 4@ 5@ 6@ speed 0.1 0.1 0.0 flag 1
004D: jump_if_false @GATE_377
0001: wait 0 ms
0002: jump @GATE_324
:GATE_377
01BB: store_object 0@ position_to 10@ 11@ 12@
00D6: if
0039: 3@ == 1
004D: jump_if_false @GATE_465
0006: 2@ = 1
00D6: if and
0045: 10@ == 4@
0045: 11@ == 5@
0045: 12@ == 6@
004D: jump_if_false @GATE_465
//018C: play_sound 93 at 4@ 5@ 6@ // uncomment for III
//018C: play_sound 3 at 4@ 5@ 6@ // uncomment for VC
//097B: play_audio_at_object 0@ event 1101 // uncomment for SA
0006: 3@ = 0
0006: 2@ = 0
:GATE_465
0006: 1@ = 0
:GATE_472
0002: jump @GATE_101
A direct copy and paste will create a moving gate at the Spand Express company in Vice City.