monday
Expert
- Joined
- Jun 23, 2014
- Messages
- 1,127
- Solutions
- 1
- Reaction score
- 158
This mod teleports all unoccupied vehicles from the surrounding area over specific player or saved position. Mod is easly detectable by anticheat. Requires Cleo 4.1. The mod is being updated frequently, please let me know if there are any bugs, thanks.
rain.cs
Commands:
/raininfo - displays all the commands
/rain <ID> - set rain over specific player
/rainfew <ID> <number of cars> - set rain over specific player with custom number of cars
/count - display the number of streamed in vehicles
/savepos - save your current position
/rainpos - set rain over your last saved position
/carpos <carID> - put specific car at your last saved position
/delpos - delete your last saved position
Updates:
- fixed game freezing when the player is not connected/not streamed in
- added /carpos <carID> + fixed 0B30/0B31 opcodes (mod became invisible for Mrucznik's RP anti-cheat)
- fixed /carpos synchronization
Bugs:
-Inability to change your weapon after using the mod.
It seems like :Sync_in and :Sync_out cause the problem because removing both solved it. However without synchronization the whole mod is useless because others can't even see the cars, I have no idea how to fix this bug so any advice from someone who has more knowledge would be appreciated.
-Two users reported game freezing when you use it more than 5 times in a row
Crash?
Check this out:
http://ugbase.eu/tutorials/%28tut%29-fix-cleo-crashes!/
Special thanks for sharing the knowledge to:
BlackHat
pepeelpubero
Springfield
D.Kay
Opcode.exe
PopandaulX
Video:
http://youtu.be/bPHrDpGEVHs
rainV2.cs
I'd like to present a new mod very similar to the previous one but instead of teleporting unoccupied cars it teleports only occupied vehicles. Theoretically it should kick the drivers out of their cars as soon as they are TP-ed up but practically some players are kicked out, some aren't. Thanks to Opcode.exe for the sync car with packets snippet.
Commands:
/r2info
/pos - saves the position
/dpos - deletes last saved position
/r2 - starts the rain
/ccars - counts occupied cars
Bugs:
Please let me know if there are any
Updates:
05/10/14 - added some minor changes, instead of kicking out the driver it burns the vehicle so all the passengers are kicked out too
Video:
http://youtu.be/nWjHpBfBmR8
rain.cs
Commands:
/raininfo - displays all the commands
/rain <ID> - set rain over specific player
/rainfew <ID> <number of cars> - set rain over specific player with custom number of cars
/count - display the number of streamed in vehicles
/savepos - save your current position
/rainpos - set rain over your last saved position
/carpos <carID> - put specific car at your last saved position
/delpos - delete your last saved position
Updates:
- fixed game freezing when the player is not connected/not streamed in
- added /carpos <carID> + fixed 0B30/0B31 opcodes (mod became invisible for Mrucznik's RP anti-cheat)
- fixed /carpos synchronization
Bugs:
-Inability to change your weapon after using the mod.
It seems like :Sync_in and :Sync_out cause the problem because removing both solved it. However without synchronization the whole mod is useless because others can't even see the cars, I have no idea how to fix this bug so any advice from someone who has more knowledge would be appreciated.
-Two users reported game freezing when you use it more than 5 times in a row
Crash?
Check this out:
http://ugbase.eu/tutorials/%28tut%29-fix-cleo-crashes!/
Special thanks for sharing the knowledge to:
BlackHat
pepeelpubero
Springfield
D.Kay
Opcode.exe
PopandaulX
Video:
http://youtu.be/bPHrDpGEVHs
Code:
{$CLEO .cs}
0000: NOP
0B34: samp register_client_command "rain" to_label @start
0B34: samp register_client_command "rainfew" to_label @start_few
0B34: samp register_client_command "count" to_label @count_cars
0B34: samp register_client_command "savepos" to_label @save_pos
0B34: samp register_client_command "rainpos" to_label @rain_pos
0B34: samp register_client_command "delpos" to_label @del_pos
0B34: samp register_client_command "carpos" to_label @car_pos_activation
0B34: samp register_client_command "raininfo" to_label @Info
:First
wait 0
if 29@ == 2
then jump @car_pos
end
if 29@ == 1
jf @First
0B2E: 11@ = read_samp_memory 0x12D60 size 2
0B2D: write samp_memory 0x12D60 value 0xC390 size 2
0B2E: 12@ = read_samp_memory 0x13FA0 size 2
0B2D: write samp_memory 0x13FA0 value 0xC390 size 2
0B2E: 13@ = read_samp_memory 0x4830 size 1
0B2D: write samp_memory 0x4830 value 0xC3 size 1
wait 500
for 5@ = 0 to 999
if 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 5@
then
0B30: samp send_enter_vehicle 5@ as_passenger false
00AB: put_car 0@ at 21@ 22@ 23@
23@ += 3.0
0AB1: call_scm_func @SYNC_INN 1 HANDLE 0@
wait 0
0AB1: @SYNC_OUT 0
wait 0
0B31: samp send_exit_vehicle 5@
if //5 cars max
0029: 23@ > 20@ //5 cars max
then //5 cars max
jump @Second //5 cars max
end //5 cars max
end
end
:Second //5 cars max
wait 0
0B2D: write samp_memory 0x12D60 value 11@ size 2
0B2D: write samp_memory 0x13FA0 value 12@ size 2
0B2D: write samp_memory 0x4830 value 13@ size 1
wait 500
29@ = 0
20@ = 0 //reset 20 value to make it work later
jump @First
:SYNC_INN
0A97: 2@ = car 0@ struct
0A96: 3@ = actor $PLAYER_ACTOR struct
3@ += 1328
0A8C: write_memory 3@ size 4 value 50 virtual_protect 0
0A96: 3@ = actor $PLAYER_ACTOR struct
3@ += 1420
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
0AB2: ret 0
:SYNC_OUT
0A96: 0@ = actor $PLAYER_ACTOR struct
0@ += 0x530 // State = 0, leaving car
0A8C: write_memory 0@ size 4 value 1 virtual_protect 0
0AB2: ret 0
:start
wait 0
SAMP.IsCommandTyped(31@)
if
0AD4: 30@ = scan_string 31@ format "%d" 6@
then
if
0B23: samp is_player_connected 6@
jf @Not_connected
0B20: samp 28@ = actor_handle_by_samp_player_id 6@
if
056D: actor 28@ defined
jf @Too_far
00A0: store_actor 28@ position_to 21@ 22@ 23@
0085: 20@ = 23@
20@ += 1000.0
jump @Activation
end
:start_few
wait 0
SAMP.IsCommandTyped(27@)
if
0AD4: 30@ = scan_string 27@ format "%d %d" 6@ 7@
else_jump @First
if
0B23: samp is_player_connected 6@
jf @Not_connected
0B20: samp 28@ = actor_handle_by_samp_player_id 6@
if
056D: actor 28@ defined
jf @Too_far
00A0: store_actor 28@ position_to 21@ 22@ 23@
0085: 20@ = 23@
if
7@ == 1
then
20@ += 2.0 //1 car max
end
if
7@ == 2
then
20@ += 5.0 //2 car max
end
if
7@ == 3
then
20@ += 8.0 //3 car max
end
if
7@ == 4
then
20@ += 11.0 //4 car max
end
if
7@ == 5
then
20@ += 14.0 //5 car max
end
if
7@ == 6
then
20@ += 17.0 //6 car max
end
if
7@ == 7
then
20@ += 20.0 //7 car max
end
if
7@ == 8
then
20@ += 23.0
end
if
7@ == 9
then
20@ += 26.0
end
if
7@ == 10
then
20@ += 29.0
end
if
7@ == 11
then
20@ += 32.0
end
if
7@ == 12
then
20@ += 35.0
end
if
7@ == 13
then
20@ += 38.0
end
if
7@ == 14
then
20@ += 41.0
end
if
7@ == 15
then
20@ += 44.0
end
if
7@ == 16
then
20@ += 47.0
end
if
7@ == 17
then
20@ += 50.0
end
if
7@ == 18
then
20@ += 52.0
end
if
7@ == 19
then
20@ += 55.0
end
if
7@ == 20
then
20@ += 58.0
end
if
7@ == 21
then
20@ += 61.0
end
if
7@ == 22
then
20@ += 64.0
end
if
7@ == 23
then
20@ += 67.0
end
if
7@ == 24
then
20@ += 70.0
end
if
7@ == 25
then
20@ += 73.0
end
if
7@ == 26
then
20@ += 76.0
end
if
7@ == 27
then
20@ += 79.0
end
if
7@ == 28
then
20@ += 85.0
end
if
7@ == 29
then
20@ += 88.0
end
if
7@ == 30
then
20@ += 91.0
end
if
7@ == 31
then
20@ += 94.0
end
if
7@ == 32
then
20@ += 97.0
end
if
7@ == 33
then
20@ += 100.0
end
if
7@ == 34
then
20@ += 103.0
end
if
7@ == 35
then 20@ += 107.0
end
if
7@ == 36
then
20@ += 110.0
end
if
7@ == 37
then
20@ += 113.0
end
if
7@ == 38
then
20@ += 116.0
end
if
7@ == 39
then
20@ += 119.0
end
if
7@ == 40
then
20@ += 122.0
end
if
7@ == 41
then
20@ += 125.0
end
if
7@ == 42
then
20@ += 128.0
end
if
7@ == 43
then
20@ += 131.0
end
if
7@ == 44
then
20@ += 134.0
end
if
7@ == 45
then
20@ += 137.0
end
if
7@ == 46
then
20@ += 140.0
end
if
7@ == 47
then
20@ += 143.0
end
if
7@ == 48
then
20@ += 146.0
end
if
7@ == 49
then
20@ += 149.0
end
if
7@ == 50
then
20@ += 152.0
end
if
7@ == 51
then
20@ += 155.0
end
if
7@ == 52
then
20@ += 158.0
end
if
7@ == 53
then
20@ += 161.0
end
if
7@ == 54
then
20@ += 164.0
end
if
7@ == 55
then
20@ += 167.0
end
if
7@ == 56
then
20@ += 170.0
end
if
7@ == 57
then
20@ += 173.0
end
if
7@ == 58
then
20@ += 176.0
end
if
7@ == 59
then
20@ += 179.0
end
if
7@ == 60
then
20@ += 182.0
end
jump @Activation
:Activation
wait 0
03BD: destroy_sphere 14@
29@ = 1 // = 1 make it active
SAMP.CmdRet
:save_pos
wait 0
03BD: destroy_sphere 14@
00A0: store_actor $PLAYER_ACTOR position_to 21@ 22@ 23@
03BC: 14@ = create_sphere_at 21@ 22@ 23@ radius 15.0
018C: play_sound 1052 at 0.0 0.0 0.0
0085: 20@ = 23@
20@ += 1000.0
0AD1: show_formatted_text_highpriority "Position saved" time 800
SAMP.CmdRet
:rain_pos
wait 0
if
0029: 20@ > 23@
then
jump @Activation
end
SAMP.CmdRet
:del_pos
wait 0
03BD: destroy_sphere 14@
018C: play_sound 1053 at 0.0 0.0 0.0
20@ = 0
21@ = 0
22@ = 0
23@ = 0
0AD1: show_formatted_text_highpriority "Position deleted" time 800
SAMP.CmdRet
:count_cars
wait 0
10@ = 0
for 8@ = 0 to 999
if 0AFF: samp 9@ = car_handle_by_samp_vehicle_id 8@
then 10@++
end
end
0AD1: "~B~%d ~W~streamed vehicles" 1000 10@
wait 100
SAMP.CmdRet
:Info
wait 0
0AF8: samp add_message_to_chat "{00A4E6}rain.cs commands:" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/rain {00A4E6}<ID> {F7F694}(set rain over specific player) " color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/rainfew {00A4E6}<ID> <number of cars> {F7F694}(set rain over specific player with custom amount of cars, max 60 cars)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/count {F7F694}(check how many cars are available around)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/savepos {F7F694}(saves your current position)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/rainpos {F7F694}(set rain over your last saved position)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/carpos {00A4E6} <ID> {F7F694}(place specific vehicle at your last saved position)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/delpos {F7F694}(deletes your last saved position)" color 0xFFFFFFFF
SAMP.CmdRet
:Not_connected
wait 0
0AD1: "~R~Invalid ID" 1000
SAMP.CmdRet
:Too_far
wait 0
0AD1: "~R~Desired player is too far away" 1000
SAMP.CmdRet
:car_pos_activation
wait 0
29@ = 2
SAMP.IsCommandTyped(28@)
if
0AD4: 27@ = scan_string 28@ format "%d" 15@
then
0AFF: samp 0@ = car_handle_by_samp_vehicle_id 15@
end
Samp.CmdRet
:car_pos
wait 0
if
056E: car 0@ defined
then
0B2E: 11@ = read_samp_memory 0x12D60 size 2
0B2D: write samp_memory 0x12D60 value 0xC390 size 2
0B2E: 12@ = read_samp_memory 0x13FA0 size 2
0B2D: write samp_memory 0x13FA0 value 0xC390 size 2
0B2E: 13@ = read_samp_memory 0x4830 size 1
0B2D: write samp_memory 0x4830 value 0xC3 size 1
wait 500
00AB: put_car 0@ at 21@ 22@ 23@
0B30: samp send_enter_vehicle 15@ as_passenger false
0AB1: call_scm_func @SYNC_INN 1 HANDLE 0@
wait 0
0AB1: @SYNC_OUT 0
wait 0
0B31: samp send_exit_vehicle 15@
0B2D: write samp_memory 0x12D60 value 11@ size 2
0B2D: write samp_memory 0x13FA0 value 12@ size 2
0B2D: write samp_memory 0x4830 value 13@ size 1
wait 500
03BD: destroy_sphere 14@
018C: play_sound 1150 at 0.0 0.0 0.0
else
jump @Too_far_car
end
29@ = 0
jump @First
:Too_far_car
wait 0
0AD1: "~R~Desired vehicle is too far away" 1000
29@ = 0
jump @First
rainV2.cs
I'd like to present a new mod very similar to the previous one but instead of teleporting unoccupied cars it teleports only occupied vehicles. Theoretically it should kick the drivers out of their cars as soon as they are TP-ed up but practically some players are kicked out, some aren't. Thanks to Opcode.exe for the sync car with packets snippet.
Commands:
/r2info
/pos - saves the position
/dpos - deletes last saved position
/r2 - starts the rain
/ccars - counts occupied cars
Bugs:
Please let me know if there are any
Updates:
05/10/14 - added some minor changes, instead of kicking out the driver it burns the vehicle so all the passengers are kicked out too
Video:
http://youtu.be/nWjHpBfBmR8
Code:
{$CLEO}
0000: NOP
0B34: samp register_client_command "pos" to_label @savepos
0B34: samp register_client_command "dpos" to_label @cancel
0B34: samp register_client_command "r2" to_label @rain
0B34: samp register_client_command "ccars" to_label @count
0B34: samp register_client_command "r2info" to_label @info
30@ = 0
:First
wait 0
if
30@ == 2
jf @First
0B2E: 21@ = read_samp_memory 0x12D60 size 2
0B2D: write samp_memory 0x12D60 value 0xC390 size 2
0B2E: 22@ = read_samp_memory 0x13FA0 size 2
0B2D: write samp_memory 0x13FA0 value 0xC390 size 2
0B2E: 23@ = read_samp_memory 0x4830 size 1
0B2D: write samp_memory 0x4830 value 0xC3 size 1
3@ += 5.000
5@ += 100.555
015F: set_camera_position 3@ 4@ 5@ rotation 0.0 0.0 0.0
3@ -= 5.000
5@ -= 100.555
0160: set_camera_point_at 3@ 4@ 5@ switchstyle 2
5@ += 80.555
for 6@ = 0 to 1500
if 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 6@
then
if
00DB: actor $PLAYER_ACTOR in_car 0@
then 0@ = 0
end
if
056E: car 0@ defined
then
046C: 2@ = car 0@ driver
if
056D: actor 2@ defined
then
33@ = 0
repeat
wait 0
0224: set_car 0@ health_to 0
00AB: put_car 0@ at 3@ 4@ 5@
0AB1: @SYNC_VEHICLE 1 HANDLE 0@
until 33@ > 300
5@ += 3.000
end
end
end
end
14@ = Actor.CurrentCar($PLAYER_ACTOR)
0407: store_coords_to 11@ 12@ 13@ from_car 14@ with_offset 0.0 0.0 1.5
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 11@ 12@ 13@
wait 700
for 6@ = 0 to 1500
if 0AFF: samp 0@ = car_handle_by_samp_vehicle_id 6@
then
046C: 2@ = car 0@ driver
if
056D: actor 2@ defined
then
0AB1: @SYNC_VEHICLE 1 HANDLE 0@
0AB1: @SYNC_VEHICLE 1 HANDLE 0@
0AB1: @SYNC_VEHICLE 1 HANDLE 0@
0AB1: @SYNC_VEHICLE 1 HANDLE 0@
0AB1: @SYNC_VEHICLE 1 HANDLE 0@
end
end
end
036A: put_actor $PLAYER_ACTOR in_car 14@
wait 4700
015A: restore_camera
0B2D: write samp_memory 0x12D60 value 21@ size 2
0B2D: write samp_memory 0x13FA0 value 22@ size 2
0B2D: write samp_memory 0x4830 value 23@ size 1
30@ = 1
jump @First
:rain
wait 0
if
00DF: actor $PLAYER_ACTOR driving
then
if 30@ == 1
then
30@ = 2
03BD: destroy_sphere 7@
else
0AD1: show_formatted_text_highpriority "Save the position first [/savepos2])" time 800
end
else
0AD1: show_formatted_text_highpriority "You must be driving" time 800
end
Samp.CmdRet
:savepos
wait 0
03BD: destroy_sphere 7@
00A0: store_actor $PLAYER_ACTOR position_to 3@ 4@ 5@
03BC: 7@ = create_sphere_at 3@ 4@ 5@ radius 15.0
018C: play_sound 1052 at 0.0 0.0 0.0
29@ = 0
for 6@ = 0 to 1500
if 0AFF: samp 28@ = car_handle_by_samp_vehicle_id 6@
then
046C: 2@ = car 28@ driver
if
056D: actor 2@ defined
then
29@++
end
end
end
if
00DF: actor $PLAYER_ACTOR driving
then
29@ -= 1
end
0AD1: show_formatted_text_highpriority "Position saved (~B~%d ~W~occupied vehicles in the area)" time 800 29@
30@ = 1
Samp.CmdRet
:cancel
wait 0
03BD: destroy_sphere 7@
018C: play_sound 1053 at 0.0 0.0 0.0
0AD1: show_formatted_text_highpriority "Position deleted" time 800
3@ = 0.0
4@ = 0.0
5@ = 0.0
30@ = 0
Samp.CmdRet
:count
wait 0
29@ = 0
for 6@ = 0 to 1500
if 0AFF: samp 28@ = car_handle_by_samp_vehicle_id 6@
then
046C: 2@ = car 28@ driver
if
056D: actor 2@ defined
then
29@++
end
end
end
if
00DF: actor $PLAYER_ACTOR driving
then
29@ -= 1
end
0AD1: "~B~%d ~W~occupied vehicles in the area" 800 29@
Samp.CmdRet
:info
wait 0
0AF8: samp add_message_to_chat "{00A4E6}rain.cs V2 commands:" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/pos {F7F694}(save position) " color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/dpos {F7F694}(delete last saved position)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/r2 {F7F694}(set rain over your last saved position - occupied vehicles only)" color 0xFFFFFFFF
0AF8: samp add_message_to_chat "{FFFFFF}/ccars {F7F694}(counts occupied vehicles in the area)" color 0xFFFFFFFF
Samp.CmdRet
const
PACKET_VEHICLE_SYNC = 219
BS_TYPE_BYTE = 0
BS_TYPE_ARRAY = 5
end
//0AB1: @SYNC_VEHICLE 1 HANDLE 0@
:SYNC_VEHICLE
IF
0B2C: 1@ = get_vehicle_id_by_car_handle 0@
THEN
0AC8: 31@ = allocate_memory_size 63 // struct stInCarData ( size = 63 )
0C0D: struct 31@ offset 0 size 2 = 1@ // sVehicleID;
0C0D: struct 31@ offset 2 size 2 = 0 // sLeftRightKeys;
0C0D: struct 31@ offset 4 size 2 = 0 // sUpDownKeys;
0C0D: struct 31@ offset 6 size 2 = 0 // sKeys;
0A97: 17@ = car 0@ struct
17@ += 0x14
0A8D: 17@ = read_memory 17@ size 4 virtual_protect 0
0AB1: call_scm_func @Quaternion_get 1 matrix_pointer 17@ Quat_x 18@ Quat_y 19@ Quat_z 20@ Quat_w 21@
0C0D: struct 31@ offset 8 size 4 = 18@
0C0D: struct 31@ offset 12 size 4 = 19@
0C0D: struct 31@ offset 16 size 4 = 20@
0C0D: struct 31@ offset 20 size 4 = 21@
0407: store_coords_to 24@ 23@ 22@ from_car 0@ with_offset 0.0 0.0 0.0
0C0D: struct 31@ offset 24 size 4 = 24@
0C0D: struct 31@ offset 28 size 4 = 23@
0C0D: struct 31@ offset 32 size 4 = 22@
0A97: 22@ = car 0@ struct
22@ += 68 //Snippet by OpcodeXe
0A8D: 21@ = read_memory 22@ size 4 virtual_protect 0
22@ += 0x4
0A8D: 20@ = read_memory 22@ size 4 virtual_protect 0
22@ += 0x4
0A8D: 19@ = read_memory 22@ size 4 virtual_protect 0
0C0D: struct 31@ offset 36 size 4 = 21@
0C0D: struct 31@ offset 40 size 4 = 20@
0C0D: struct 31@ offset 44 size 4 = 19@
0227: 18@ = car 0@ health
0093: 17@ = integer 18@ to_float
0C0D: struct 31@ offset 48 size 4 = 17@ // car hp
0226: 17@ = actor $PLAYER_ACTOR health
0C0D: struct 31@ offset 52 size 1 = 17@ // PLAYER
04DD: 16@ = actor $PLAYER_ACTOR armour
0C0D: struct 31@ offset 53 size 1 = 16@ // ARMOUR
0C0D: struct 31@ offset 54 size 1 = 0 // weapon
0C0D: struct 31@ offset 55 size 1 = 0 // siren
0C0D: struct 31@ offset 56 size 1 = 0
0C0D: struct 31@ offset 57 size 2 = 0
0C0D: struct 31@ offset 59 size 4 = 0.0 // train speed
0B3D: raknet 29@ = new_bit_stream
0B40: raknet bit_stream 29@ write PACKET_VEHICLE_SYNC type BS_TYPE_BYTE size 1
0B40: raknet bit_stream 29@ write 31@ type BS_TYPE_ARRAY size 63
0B8B: raknet send bit_stream 29@
0B3E: raknet delete_bit_stream 29@
0AC9: free_allocated_memory 31@
END
0AB2: 0
:Quaternion_get
0C0C: 1@ = struct 0@ offset 0 size 4
0C0C: 2@ = struct 0@ offset 4 size 4
0C0C: 3@ = struct 0@ offset 8 size 4
0C0C: 4@ = struct 0@ offset 16 size 4
0C0C: 5@ = struct 0@ offset 20 size 4
0C0C: 6@ = struct 0@ offset 24 size 4
0C0C: 7@ = struct 0@ offset 32 size 4
0C0C: 8@ = struct 0@ offset 36 size 4
0C0C: 9@ = struct 0@ offset 40 size 4
005B: 10@ = 1@
005B: 10@ += 5@
005B: 10@ += 9@
if 0021: 10@ > 0.0
then
0007: 0@ = 0.5
000B: 10@ += 1.0
01FB: sqrt 10@ store_to 10@
0073: 0@ /= 10@ //s
0007: 15@ = 0.25
0073: 15@ /= 0@ //w
005B: 16@ = 8@ //x
0063: 16@ -= 6@
006B: 16@ *= 0@
005B: 17@ = 3@ //y
0063: 17@ -= 7@
006B: 17@ *= 0@
005B: 18@ = 4@ //z
0063: 18@ -= 2@
006B: 18@ *= 0@
else if and
0025: 1@ > 5@
0025: 1@ > 9@
then
0007: 0@ = 2.0
0007: 10@ = 1.0
005B: 10@ += 1@
0063: 10@ -= 5@
0063: 10@ -= 9@
01FB: sqrt 10@ store_to 10@
006B: 0@ *= 10@ //s
005B: 15@ = 8@ //w
0063: 15@ -= 6@
0073: 15@ /= 0@
0007: 16@ = 0.25 //x
006B: 16@ *= 0@
005B: 17@ = 2@
005B: 17@ += 4@
0073: 17@ /= 0@
005B: 18@ = 3@
005B: 18@ += 7@
0073: 18@ /= 0@
else if 0025: 5@ > 9@
then
0007: 0@ = 2.0
0007: 10@ = 1.0
005B: 10@ += 5@
0063: 10@ -= 1@
0063: 10@ -= 9@
01FB: sqrt 10@ store_to 10@
006B: 0@ *= 10@ //s
005B: 15@ = 3@ //w
0063: 15@ -= 7@
0073: 15@ /= 0@
005B: 16@ = 2@ //x
005B: 16@ += 4@
0073: 16@ /= 0@
0007: 17@ = 0.25 //y
006B: 17@ *= 0@
005B: 18@ = 6@ //z
005B: 18@ += 8@
0073: 18@ /= 0@
else
0007: 0@ = 2.0
0007: 10@ = 1.0
005B: 10@ += 9@
0063: 10@ -= 1@
0063: 10@ -= 5@
01FB: sqrt 10@ store_to 10@
006B: 0@ *= 10@ //s
005B: 15@ = 4@ //w
0063: 15@ -= 2@
0073: 15@ /= 0@
005B: 16@ = 3@ //x
005B: 16@ += 7@
0073: 16@ /= 0@
005B: 17@ = 6@ //y
005B: 17@ += 8@
0073: 17@ /= 0@
0007: 18@ = 0.25 //z
006B: 18@ *= 0@
end
end
end
0AB2: ret 4 15@ 16@ 17@ 18@