open.mp forum
[Suggestion] Custom GTA SA filesand other stuff - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: open.mp (https://forum.open.mp/forumdisplay.php?fid=40)
--- Forum: Questions and Suggestions (https://forum.open.mp/forumdisplay.php?fid=42)
--- Thread: [Suggestion] Custom GTA SA filesand other stuff (/showthread.php?tid=558)



Custom GTA SA filesand other stuff - jking - 2019-05-14

- Native object replacement, like MTA "engineReplaceModel" function.? (In 0.3.DL version you need to remove object and create a new one in the same place).



- Add server-side control for this files:



object.dat

ped.dat

weapon.dat

handling.cfg

timecyc.dat



- And control for this skills:



Stamina

Driving

Lung capacity







This is my edited main.scm, could be help:





Code:
/* ?

? ?Sanny Builder v3.2.2

?

? ?main.scm stripped

?? Disabled garages and audio zones.

?? Only parachute script.? ? ?

*/



DEFINE OBJECTS ? ? ? ? ? ? ? ? ?2 ?

DEFINE OBJECT PARACHUTE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

DEFINE OBJECT PARA_COLLISION

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

DEFINE MISSIONS 0

? ? ? ?

DEFINE EXTERNAL_SCRIPTS -1 ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 512



var

$PLAYER_CHAR: Player

end

//---------------------------------[ ? ?MAIN START ? ]----------------------------------

03A4: name_thread 'MAIN'

02A3: switch_widescreen 0

0A48: allow_pause_in_widescreen 0

09B9: show_entered_car_name 0 ?

01F0: set_max_wanted_level_to 0

0111: set_deatharrest_state 0

//--------------------------------------------------------------------------------------

062A: change_float_stat ? ? 21 ?to 0.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Fat Level

062A: change_float_stat ? ? 22 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Stamina

062A: change_float_stat ? ? 23 ?to 0.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Muscle Level

062A: change_float_stat ? ? 69 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Colt 45 Skill

062A: change_float_stat ? ? 70 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Silenced Pistol Skill

062A: change_float_stat ? ? 71 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Desert Eagle Skill

062A: change_float_stat ? ? 72 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Shotgun Skill

062A: change_float_stat ? ? 73 ?to 900.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Sawn-Off Shotgun Skill

062A: change_float_stat ? ? 74 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Combat Shotgun Skill

062A: change_float_stat ? ? 75 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// TEC-9 Skill

062A: change_float_stat ? ? 76 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// SMG Skill

062A: change_float_stat ? ? 77 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// AK-47 Skill

062A: change_float_stat ? ? 78 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// M4 Skill

062A: change_float_stat ? ? 79 ?to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Rifle Skill

062A: change_float_stat ? ? 81 ?to 10.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Gambling Skill

062A: change_float_stat ? ? 225 to 999.0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Lung Capacity

0629: change_integer_stat ? 68 ?to 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Respect

062A: change_integer_stat ? 160 to 100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Drive Skill ? ? ? ? ? ? ? ?

0629: change_integer_stat ? 181 to 4 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Cities Unlocked

062A: change_integer_stat ? 223 to 100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Flying skill

062A: change_integer_stat ? 229 to 100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Bike skill

062A: change_integer_stat ? 230 to 100 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Cycling skill

//--------------------------------------------------------------------------------------

04E4: request_collision -3076.0 1152.0

03CB: set_rendering_origin_at -3076.0 1152.0 20.0

0703: set_tags_painted_percentage_at -3000.0 -3000.0 3000.0 3000.0 value 255

//--------------------------------------------------------------------------------------

$PLAYER_CHAR = Player.Create(0, -2376.5671, -585.5031, 132.1117)

0960: enable_player $PLAYER_CHAR stats_box 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//Disable Stats Box ?For Player

$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)

Actor.Angle($PLAYER_ACTOR) = 270.0

0373: set_camera_directly_behind_player

0001: wait 0 ms

//--------------------------------------------------------------------------------------

0A24: set_disable_military_zones 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Disable wanted level when player enters a military zone

0180: set_on_mission_flag_to $ONMISSION ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Note: your missions have to use the variable defined here

03E6: remove_text_box ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // Remove help messages in the up-left corner

07FB: set_interior 'CARLS' ? ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// The Johnson House

07FB: set_interior 'AMMUN1' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Ammu-Nation

07FB: set_interior 'AMMUN2' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Ammu-Nation

07FB: set_interior 'AMMUN3' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Ammu-Nation

07FB: set_interior 'AMMUN4' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Ammu-Nation

07FB: set_interior 'AMMUN5' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Ammu-Nation

07FB: set_interior 'BARBERS' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Barber

07FB: set_interior 'BARBER2' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Barber

07FB: set_interior 'BARBER3' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Barber

07FB: set_interior 'FDPIZA' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Pizza Stack

07FB: set_interior 'FDCHICK' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Cluckin' Bell

07FB: set_interior 'FDBURG' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Burger Shot

07FB: set_interior 'TATTOO' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Tattoo Parlor

07FB: set_interior 'CSCHP' ? ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Binco

07FB: set_interior 'CSSPRT' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Pro-Laps

07FB: set_interior 'LACS1' ? ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Sub Urban

07FB: set_interior 'CLOTHGP' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Zip

07FB: set_interior 'CSDESGN' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Victim

07FB: set_interior 'CSEXL' ? ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Didier Sachs

07FB: set_interior 'GYM1' ? ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Ganton Gym

07FB: set_interior 'GYM2' ? ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Cobra Marital Arts

07FB: set_interior 'GYM3' ? ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Below the Belt Gym

07FB: set_interior 'PDOMES' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// The Pleasure Domes

07FB: set_interior 'PDOMES2' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// The Pleasure Domes

07FB: set_interior 'MADDOGS' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Madd Dogg's Crib

07FB: set_interior 'MDDOGS' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Madd Dogg's Crib

07FB: set_interior 'GANG' ? ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Vagos Gang House

07FB: set_interior 'RCPLAY' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Zero's RC Shop

07FB: set_interior 'PAPER' ? ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Planning Department

07FB: set_interior 'ABATOIR' ? ?access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Sindacco Abattoir

07FB: set_interior 'LACRAK' ? ? access 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Crack Den

//--------------------------------------------------------------------------------------

create_thread @PLCHUTE

//--------------------------------------------------------------------------------------

fade 0 0

wait 0

09BA: show_entered_zone_name 0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// Disable zone names

03B7: switch_world_processing 0

0169: set_fade_color_RGB 0 0 0

03B7: switch_world_processing 1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

01F0: set_max_wanted_level_to 0

01B6: set_weather 14 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//Sunny Countryside

Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)

Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)

Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)

Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)

055E: set_player $PLAYER_CHAR max_health = 100

Player.Build($PLAYER_CHAR)

0793: save_player_clothes

Player.CanMove($PLAYER_CHAR) = True

01E8: create_forbidden_for_cars_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0

022B: create_forbidden_for_peds_cube_cornerA -100000.0 -100000.0 -100000.0 cornerB 100000.0 100000.0 100000.0

01EB: set_traffic_density_multiplier_to 0.0

03DE: set_pedestrians_density_multiplier_to 0.0

015A: restore_camera

015F: set_camera_position -2834.0493 1304.3285 9.6122 0.0 0.0 0.0

0160: set_camera_look_at -2834.0493 1304.3285 9.6122 2

0001: wait 500

016A: fade 1 1000

02B9: deactivate_garage 'AMUMIS'

02B9: deactivate_garage 'BEACSV'

02B9: deactivate_garage 'BLOB1'

02B9: deactivate_garage 'BLOB2'

02B9: deactivate_garage 'BLOB6'

02B9: deactivate_garage 'BLOB69'

02B9: deactivate_garage 'BLOB7'

02B9: deactivate_garage 'BODLAWN'

02B9: deactivate_garage 'BRGSFSE'

02B9: deactivate_garage 'BURBDO2'

02B9: deactivate_garage 'BURBDOO'

02B9: deactivate_garage 'BURG_LK'

02B9: deactivate_garage 'CARLAS1'

02B9: deactivate_garage 'CESAFE1'

02B9: deactivate_garage 'CESPRAY'

02B9: deactivate_garage 'CJSAFE'

02B9: deactivate_garage 'CN2GAR1'

02B9: deactivate_garage 'CN2GAR2'

02B9: deactivate_garage 'CN2SPRY'

02B9: deactivate_garage 'CNSPRAY'

02B9: deactivate_garage 'DHANGAR'

02B9: deactivate_garage 'DUF_LAS'

02B9: deactivate_garage 'FDORSFE'

02B9: deactivate_garage 'GHOSTDR'

02B9: deactivate_garage 'HBGDSFS'

02B9: deactivate_garage 'IMP_LA'

02B9: deactivate_garage 'IMP_SF'

02B9: deactivate_garage 'IMP_LV'

02B9: deactivate_garage 'LASBOMB'

02B9: deactivate_garage 'LCKSFSE'

02B9: deactivate_garage 'MDS1SFS'

02B9: deactivate_garage 'MDSSFSE'

02B9: deactivate_garage 'MICHDR'

02B9: deactivate_garage 'MODGLAS'

02B9: deactivate_garage 'MUL_LAN'

02B9: deactivate_garage 'MODLAST'

02B9: deactivate_garage 'SAV1SFE'

02B9: deactivate_garage 'SAV1SFW'

02B9: deactivate_garage 'SPRLAE'

02B9: deactivate_garage 'SPRLAE'

02B9: deactivate_garage 'SPLAW2'

02B9: deactivate_garage 'SPRSFSE'

02B9: deactivate_garage 'SPRSFW'

02B9: deactivate_garage 'SVGSFS1'

02B9: deactivate_garage 'TBON'

02B9: deactivate_garage 'TIMY1'

02B9: deactivate_garage 'VECMOD'

02B9: deactivate_garage 'VESVGRG'

02B9: deactivate_garage 'VGELOCK'

02B9: deactivate_garage 'VGSHNGR'

02FA: change_garage_type 'AMUMIS' to 1

02FA: change_garage_type 'BEACSV' to 1

02FA: change_garage_type 'BLOB1' to 1

02FA: change_garage_type 'BLOB2' to 1

02FA: change_garage_type 'BLOB6' to 1

02FA: change_garage_type 'BLOB69' to 1

02FA: change_garage_type 'BLOB7' to 1

02FA: change_garage_type 'BODLAWN' to 1

02FA: change_garage_type 'BRGSFSE' to 1

02FA: change_garage_type 'BURBDO2' to 1

02FA: change_garage_type 'BURBDOO' to 1

02FA: change_garage_type 'BURG_LK' to 1

02FA: change_garage_type 'CARLAS1' to 1

02FA: change_garage_type 'CESAFE1' to 1

02FA: change_garage_type 'CESPRAY' to 1

02FA: change_garage_type 'CJSAFE' to 1

02FA: change_garage_type 'CN2GAR1' to 1

02FA: change_garage_type 'CN2GAR2' to 1

02FA: change_garage_type 'CN2SPRY' to 1

02FA: change_garage_type 'CNSPRAY' to 1

02FA: change_garage_type 'DHANGAR' to 1

02FA: change_garage_type 'DUF_LAS' to 1

02FA: change_garage_type 'FDORSFE' to 1

02FA: change_garage_type 'GHOSTDR' to 1

02FA: change_garage_type 'HBGDSFS' to 1

02FA: change_garage_type 'IMP_LA' to 1

02FA: change_garage_type 'IMP_SF' to 1

02FA: change_garage_type 'IMP_LV' to 1

02FA: change_garage_type 'LASBOMB' to 1

02FA: change_garage_type 'LCKSFSE' to 1

02FA: change_garage_type 'MDS1SFS' to 1

02FA: change_garage_type 'MDSSFSE' to 1

02FA: change_garage_type 'MICHDR' to 1

02FA: change_garage_type 'MODGLAS' to 1

02FA: change_garage_type 'MUL_LAN' to 1

02FA: change_garage_type 'MODLAST' to 1

02FA: change_garage_type 'SAV1SFE' to 1

02FA: change_garage_type 'SAV1SFW' to 1

02FA: change_garage_type 'SPRLAE' to 1

02FA: change_garage_type 'SPRLAE' to 1

02FA: change_garage_type 'SPLAW2' to 1

02FA: change_garage_type 'SPRSFSE' to 1

02FA: change_garage_type 'SPRSFW' to 1

02FA: change_garage_type 'SVGSFS1' to 1

02FA: change_garage_type 'TBON' to 1

02FA: change_garage_type 'TIMY1' to 1

02FA: change_garage_type 'VECMOD' to 1

02FA: change_garage_type 'VESVGRG' to 1

02FA: change_garage_type 'VGELOCK' to 1

02FA: change_garage_type 'VGSHNGR' to 1

0A14: disable_respray_garages 1

0917: switch_audio_zone 'BAR1' to 0

0917: switch_audio_zone 'BAR2' to 0

0917: switch_audio_zone 'LASTRIP' to 0

0917: switch_audio_zone 'STRIP2' to 0

0917: switch_audio_zone 'PDOMES' to 0

0917: switch_audio_zone 'AMMUN1' to 0

0917: switch_audio_zone 'AMMUN2' to 0

0917: switch_audio_zone 'AMMUN3' to 0

0917: switch_audio_zone 'AMMUN4' to 0

0917: switch_audio_zone 'AMMUN5' to 0

00C0: set_time_of_day 1 0

01B6: force_weather_now 5



:MAIN_3

0001: wait 1000 ms

0002: jump @MAIN_3

//---------------------------------[ ? ? MAIN END ? ?]----------------------------------



//---------------------------------[ ?PLCHUTE START ?]----------------------------------

:PLCHUTE

03A4: name_thread 'PLCHUTE'

0004: $FREEFALL_STAGE = 0

0004: $PARACHUTE_CREATION_STAGE = 0

0004: $1498 = 0

0005: $1500 = ?5.0

0005: $1501 = -5.0

0005: $1503 = -1.5

0005: $1504 = -30.0

0005: $1505 = ?32.0

0005: $1506 = ?0.0

0004: $1512 = ?0

0004: $1513 = ?0



:PLCHUTE_1 ?

0001: wait ?0 ms

0819: 7@ = actor $PLAYER_ACTOR distance_from_ground

00A0: store_actor $PLAYER_ACTOR position_to $69 $70 $71

00D6: if ?and

0020: 7@ > 50.0

80DF: ? NOT ?actor $PLAYER_ACTOR driving

8118: ? not ?actor $PLAYER_ACTOR dead

83EE: ? NOT ?player $PLAYER_CHAR controllable

004D: jump_if_false @PLCHUTE_1



:PLCHUTE_2 ?

0001: wait 0 ms

00D6: if

8118: ? not actor $PLAYER_ACTOR dead

004D: jump_if_false @PLCHUTE_71

00D6: if

8800: ? not in_two_players_mode

004D: jump_if_false @PLCHUTE_71

00D6: if

8038: ? not ?$FREEFALL_STAGE == 0

004D: jump_if_false @PLCHUTE_3

0992: set_player $PLAYER_CHAR weapons_scrollable 0



:PLCHUTE_3

00D6: if

0018: ? $PARACHUTE_CREATION_STAGE > 0

004D: jump_if_false @PLCHUTE_4

00D6: if

8491: ? not actor $PLAYER_ACTOR has_weapon 46

004D: jump_if_false @PLCHUTE_4

0002: jump @PLCHUTE_73



:PLCHUTE_4

00D6: if

0038: ? $PARACHUTE_CREATION_STAGE == 0

004D: jump_if_false @PLCHUTE_5

00D6: if

0491: ? actor $PLAYER_ACTOR has_weapon 46

004D: jump_if_false @PLCHUTE_5

0247: load_model #PARACHUTE

0004: $PARACHUTE_CREATION_STAGE = 1

0004: $1498 = 0



:PLCHUTE_5

00D6: if

0038: ? $PARACHUTE_CREATION_STAGE == 1

004D: jump_if_false @PLCHUTE_6

00D6: if

0248: ? model #PARACHUTE available

004D: jump_if_false @PLCHUTE_6

0107: 17@ = create_object #PARACHUTE at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD

069B: attach_object 17@ to_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0

0750: set_object 17@ visibility 0

0004: $PARACHUTE_CREATION_STAGE = 2



:PLCHUTE_6

00D6: if and

0038: ? $PARACHUTE_CREATION_STAGE == 2

0038: ? $FREEFALL_STAGE == 1

004D: jump_if_false @PLCHUTE_7

0004: $PARACHUTE_CREATION_STAGE = 3



:PLCHUTE_7

00D6: if and

0038: ? $FREEFALL_STAGE == 0

0018: ? $PARACHUTE_CREATION_STAGE > 0

004D: jump_if_false @PLCHUTE_8

00D6: if

0818: ? actor $PLAYER_ACTOR in_air

004D: jump_if_false @PLCHUTE_8

083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ $1507 $1508 $1509

00D6: if

0022: ? -10.0 > $1509

004D: jump_if_false @PLCHUTE_8

0819: 7@ = actor $PLAYER_ACTOR distance_from_ground

00D6: if

0021: ? 7@ > 20.0

004D: jump_if_false @PLCHUTE_8

097A: play_audio_at -1000.0 -1000.0 -1000.0 event 1037

0004: $FREEFALL_STAGE = 1

01B9: set_actor $PLAYER_ACTOR armed_weapon_to 46

0006: 0@ = 0

0005: $8268 = 0.0



:PLCHUTE_8

00D6: if

0038: ? $FREEFALL_STAGE == 1

004D: jump_if_false @PLCHUTE_35

00D6: if

0039: ? 0@ == 0

004D: jump_if_false @PLCHUTE_9

0006: 0@ = 2



:PLCHUTE_9

00D6: if

0039: ? 0@ == 2

004D: jump_if_false @PLCHUTE_10

062E: get_actor $PLAYER_ACTOR task 2066 status_store_to 27@ ?

00D6: if

04A4: ? 27@ == 7 ?

004D: jump_if_false @PLCHUTE_10

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP "PED" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 ?

04ED: load_animation "PARACHUTE"

0006: 15@ = 1

0172: 1@ = actor $PLAYER_ACTOR Z_angle

0006: 0@ = 3



:PLCHUTE_10

00D6: if

0039: ? 0@ == 3

004D: jump_if_false @PLCHUTE_35

062E: get_actor $PLAYER_ACTOR task 2066 status_store_to 27@ ?

00D6: if

04A4: ? 27@ == 7 ?

004D: jump_if_false @PLCHUTE_11

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP "PED" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1



:PLCHUTE_11

0819: 7@ = actor $PLAYER_ACTOR distance_from_ground

00D6: if and

0023: ? 100.0 > 7@

0021: ? 7@ > 60.0

004D: jump_if_false @PLCHUTE_12

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_12

00D6: if

0038: ? $ONMISSION == 0

004D: jump_if_false @PLCHUTE_12



/* =============[TEXT: "Open your parachute!"]===============

00BC: show_text_highpriority GXT 'PARA_01' time 1000 flag 1 ?

*/



:PLCHUTE_12

0494: get_joystick 0 direction_offset_to 10@ 11@ 12@ 12@

00D6: if

0038: ? $1511 == 1

004D: jump_if_false @PLCHUTE_13

0006: 10@ = 0

0006: 11@ = 0



:PLCHUTE_13

0093: 21@ = integer 10@ to_float

0017: 21@ /= 4.267

0063: 21@ -= 2@ ?

0017: 21@ /= 20.0

005B: 2@ = 21@ ?

0087: 21@ = 2@ ?

0017: 21@ /= 5.0

0063: 1@ -= 21@ ?

00D6: if

0021: ? 1@ > 180.0

004D: jump_if_false @PLCHUTE_14

000F: 1@ -= 360.0



:PLCHUTE_14

00D6: if

0023: ? -180.0 > 1@

004D: jump_if_false @PLCHUTE_15

000B: 1@ = 360.0



:PLCHUTE_15

0093: 22@ = integer 11@ to_float

0017: 22@ /= 4.267

0063: 22@ -= 3@ ?

0017: 22@ /= 20.0

005B: 3@ = 22@ ?

083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ 8@ 9@ $1509

00D6: if

0024: ? $1504 > $1509 ?

004D: jump_if_false @PLCHUTE_16

0086: $1509 = $1504 ?



:PLCHUTE_16

00D6: if

0024: ? $8268 > $1509 ?

004D: jump_if_false @PLCHUTE_17

0086: $8268 = $1509



:PLCHUTE_17

00D6: if

0024: ? $1504 > $8268 ?

004D: jump_if_false @PLCHUTE_18

0086: $8268 = $1504 ?



:PLCHUTE_18

00D6: if and

0024: ? $1509 > $8268 ?

8038: ? not ?$1902 == 1

004D: jump_if_false @PLCHUTE_22

00D6: if

84AD: ? not actor $PLAYER_ACTOR in_water

004D: jump_if_false @PLCHUTE_21

00D6: if

0022: ? -20.0 > $8268

004D: jump_if_false @PLCHUTE_19

0004: $FREEFALL_STAGE = 2

0002: jump @PLCHUTE_20



:PLCHUTE_19

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP "PED" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time 100 ?

0004: $FREEFALL_STAGE = 7



:PLCHUTE_20

0002: jump @PLCHUTE_22



:PLCHUTE_21

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP "PED" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 0 time 100 ?

0004: $FREEFALL_STAGE = 7



:PLCHUTE_22

0087: 4@ = 3@ ?

0017: 4@ /= 30.0

006F: 4@ *= $1505 ?

02F6: $1507 = sine 1@ ?

02F7: $1508 = cosine 1@ ?

006D: $1507 *= 4@ ?

006D: $1508 *= 4@ ?

0011: $1508 *= -1.0

0059: $1508 = $1506 ?

0087: 21@ = 8@ ?

0065: 21@ -= $1507 ?

0013: 21@ *= 0.01

0088: $1507 = 8@ ?

0067: $1507 -= 21@

0087: 21@ = 9@ ?

0065: 21@ -= $1508 ?

0013: 21@ *= 0.01

0088: $1508 = 9@ ?

0067: $1508 -= 21@ ?

0085: 12@ = 10@ ?

0085: 13@ = 11@ ?

0095: make 12@ absolute_integer

0095: make 13@ absolute_integer

00D6: if or

0019: ? 12@ > 40

0019: ? 13@ > 40

004D: jump_if_false @PLCHUTE_32

00D6: if

001D: ? 12@ > 13@ ?

004D: jump_if_false @PLCHUTE_27

00D6: if

0029: ? 10@ >= 0

004D: jump_if_false @PLCHUTE_24

00D6: if

8039: ? not ?15@ == 2

004D: jump_if_false @PLCHUTE_24

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_23

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_R" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?



:PLCHUTE_23

0006: 15@ = 2



:PLCHUTE_24

00D6: if

001B: ? 0 > 10@

004D: jump_if_false @PLCHUTE_26

00D6: if

8039: ? not ?15@ == 3

004D: jump_if_false @PLCHUTE_26

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_25

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_L" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?



:PLCHUTE_25

0006: 15@ = 3



:PLCHUTE_26

0002: jump @PLCHUTE_31



:PLCHUTE_27

00D6: if

0029: ? 11@ >= 0

004D: jump_if_false @PLCHUTE_29

00D6: if

8039: ? not ?15@ == 4

004D: jump_if_false @PLCHUTE_29

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_28

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?



:PLCHUTE_28

0006: 15@ = 4



:PLCHUTE_29

00D6: if

001B: ? 0 > 11@

004D: jump_if_false @PLCHUTE_31

00D6: if

8039: ? not ?15@ == 5

004D: jump_if_false @PLCHUTE_31

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_30

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_ACCEL" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2



:PLCHUTE_30

0006: 15@ = 5



:PLCHUTE_31

0002: jump @PLCHUTE_34



:PLCHUTE_32

00D6: if

8039: ? not ?15@ == 1

004D: jump_if_false @PLCHUTE_34

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_34

0812: AS_actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?

0006: 15@ = 1



//:PLCHUTE_33



:PLCHUTE_34

00D6: if or

00E1: ? player 0 pressed_key 17

0038: ? $1512 == 1

004D: jump_if_false @PLCHUTE_35

00D6: if

8038: ? not ?$1902 == 1

004D: jump_if_false @PLCHUTE_35

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_35

00D6: if and

0038: ? $PARACHUTE_CREATION_STAGE == 3

0038: ? $1511 == 0

004D: jump_if_false @PLCHUTE_35

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_OPEN" IFP "PARACHUTE" framedelta 8.0 loopA 0 lockX 0 lockY 0 lockF 1 time -2 ?

097A: play_audio_at -1000.0 -1000.0 -1000.0 event 1038

008A: $8270 = 32@

0008: $8270 = 1100

0004: $FREEFALL_STAGE = 3

0006: 0@ = 0



:PLCHUTE_35

00D6: if

0038: ? $FREEFALL_STAGE == 2

004D: jump_if_false @PLCHUTE_38

00D6: if

04EE: ? animation "PARACHUTE" loaded

004D: jump_if_false @PLCHUTE_36

0173: set_actor $PLAYER_ACTOR Z_angle_to 1@

0829: actor $PLAYER_ACTOR perform_animation "FALL_SKYDIVE_DIE" IFP_file "PARACHUTE" 1000.0 time 0 and_dies

09F1: play_audio_at_actor $PLAYER_ACTOR event 1189

0002: jump @PLCHUTE_37



:PLCHUTE_36

05BE: AS_actor $PLAYER_ACTOR die



:PLCHUTE_37

0002: jump @PLCHUTE_73



:PLCHUTE_38

00D6: if

0038: ? $FREEFALL_STAGE == 3

004D: jump_if_false @PLCHUTE_61

00D6: if

0018: ? $8270 > 0

004D: jump_if_false @PLCHUTE_39

00D6: if

001F: ? 32@ > $8270 ?

004D: jump_if_false @PLCHUTE_39

097A: play_audio_at -1000.0 -1000.0 -1000.0 event 1039

0004: $8270 = 0



:PLCHUTE_39

00D6: if

0039: ? 0@ == 0

004D: jump_if_false @PLCHUTE_40

0087: 25@ = 3@

0017: 25@ /= 500.0

0087: 26@ = 2@

0017: 26@ /= 500.0

0085: 18@ = 32@ ?

0085: 19@ = 32@ ?

0087: 5@ = 4@ ?

0013: 5@ *= -1.0

0089: 6@ = $1509

0006: 0@ = 1



:PLCHUTE_40

00D6: if

0039: ? 0@ == 1

004D: jump_if_false @PLCHUTE_42

0085: 10@ = 32@ ?

0062: 10@ -= 19@ ?

00D6: if

001B: ? 500 > 10@

004D: jump_if_false @PLCHUTE_41

0085: 10@ = 32@ ?

0062: 10@ -= 18@ ?

0085: 18@ = 32@ ?

0093: 21@ = integer 10@ to_float

0087: 22@ = 25@ ?

006B: 22@ *= 21@ ?

0087: 23@ = 26@ ?

006B: 23@ *= 21@ ?

0063: 3@ -= 22@

0063: 2@ -= 23@

0002: jump @PLCHUTE_42



:PLCHUTE_41

0007: 2@ = 0.0

0007: 3@ = 0.0

0006: 0@ = 2



:PLCHUTE_42

00D6: if

0039: ? 0@ == 2

004D: jump_if_false @PLCHUTE_43

00D6: if

03CA: ? object 17@ exists

004D: jump_if_false @PLCHUTE_43

0750: set_object 17@ visibility 1

08D2: object 17@ scale_model 0.0

0085: 19@ = 32@ ?

0001: wait 0 ms

075A: set_object 17@ animation "PARA_OPEN_O" IFP_file "PARACHUTE" 1000.0 lockF 0 loop 1 // IF AND SET

0006: 0@ = 3



:PLCHUTE_43

00D6: if

0039: ? 0@ == 3

004D: jump_if_false @PLCHUTE_45

0085: 10@ = 32@ ?

0062: 10@ -= 19@ ?

00D6: if

001B: ? 500 > 10@

004D: jump_if_false @PLCHUTE_44

0093: 21@ = integer 10@ to_float

0017: 21@ /= 500.0

08D2: object 17@ scale_model 21@

0002: jump @PLCHUTE_45



:PLCHUTE_44

08D2: object 17@ scale_model 1.0

0006: 0@ = 4



:PLCHUTE_45

00D6: if

0039: ? 0@ == 5

004D: jump_if_false @PLCHUTE_46

0107: 20@ = create_object #PARA_COLLISION at 0.0 0.0 0.0

0750: set_object 20@ visibility 0

0392: make_object 20@ moveable 1

04D9: object 20@ set_scripted_collision_check 1

0006: 0@ = 6



:PLCHUTE_46

00D6: if

0039: ? 0@ == 6

004D: jump_if_false @PLCHUTE_58

0494: get_joystick 0 direction_offset_to 10@ 11@ 12@ 12@

00D6: if

0038: ? $1511 == 1

004D: jump_if_false @PLCHUTE_47

0006: 10@ = 0

0006: 11@ = 0



:PLCHUTE_47

0093: 21@ = integer 10@ to_float

0017: 21@ /= 4.267

0063: 21@ -= 2@ ?

0017: 21@ /= 20.0

005B: 2@ = 21@ ?

0087: 21@ = 2@ ?

0017: 21@ /= 15.0

0063: 1@ -= 21@ ?

00D6: if

0021: ? 1@ > 180.0

004D: jump_if_false @PLCHUTE_48

000F: 1@ -= 360.0



:PLCHUTE_48

00D6: if

0023: ? -180.0 > 1@

004D: jump_if_false @PLCHUTE_49

000B: 1@ = 360.0



:PLCHUTE_49

02F6: $1507 = sine 1@

02F7: $1508 = cosine 1@

0069: $1507 *= $1500

0069: $1508 *= $1500

0011: $1507 *= -1.0

0085: 12@ = 10@

0085: 13@ = 11@

0095: make 12@ absolute_integer

0095: make 13@ absolute_integer

00D6: if or

0019: ? 12@ > 40

0019: ? 13@ > 40

004D: jump_if_false @PLCHUTE_55

00D6: if

001D: ? 12@ > 13@

004D: jump_if_false @PLCHUTE_52

0089: 21@ = $1501 ?

0065: 21@ -= $1509

0017: 21@ /= 20.0

005F: $1509 = 21@ ?

00D6: if

0029: ? 10@ >= 0

004D: jump_if_false @PLCHUTE_50

00D6: if

8039: ? not ?15@ == 2

004D: jump_if_false @PLCHUTE_50

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_STEERR" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2

075A: set_object 17@ animation "PARA_STEERR_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 ?

0006: 15@ = 2



:PLCHUTE_50

00D6: if

001B: ? 0 > 10@

004D: jump_if_false @PLCHUTE_51

00D6: if

8039: ? not ?15@ == 3

004D: jump_if_false @PLCHUTE_51

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_STEERL" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?

075A: set_object 17@ animation "PARA_STEERL_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 ?

0006: 15@ = 3



:PLCHUTE_51

0002: jump @PLCHUTE_54



:PLCHUTE_52

00D6: if

0029: ? 11@ >= 0

004D: jump_if_false @PLCHUTE_53

0089: 21@ = $1503 ?

0065: 21@ -= $1509 ?

0017: 21@ /= 20.0

005F: $1509 = 21@ ?

00D6: if

8039: ? not ?15@ == 4

004D: jump_if_false @PLCHUTE_53

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_DECEL" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?

075A: set_object 17@ animation "PARA_DECEL_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 ?

0006: 15@ = 4



:PLCHUTE_53

00D6: if

001B: ? 0 > 11@

004D: jump_if_false @PLCHUTE_54

0089: 21@ = $1501 ?

0065: 21@ -= $1509 ?

0017: 21@ /= 20.0

005F: $1509 = 21@ ?

00D6: if

8039: ? not ?15@ == 5

004D: jump_if_false @PLCHUTE_54

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_FLOAT" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?

075A: set_object 17@ animation "PARA_FLOAT_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 ?

0006: 15@ = 5



:PLCHUTE_54

0002: jump @PLCHUTE_56



:PLCHUTE_55

0089: 21@ = $1501

0065: 21@ -= $1509 ?

0017: 21@ /= 20.0

005F: $1509 = 21@ ?

00D6: if

8039: ? not ?15@ == 5

004D: jump_if_false @PLCHUTE_56

00D6: if

8039: ? not ?15@ == 1

004D: jump_if_false @PLCHUTE_56

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_FLOAT" IFP "PARACHUTE" framedelta 1.0 loopA 1 lockX 0 lockY 0 lockF 1 time -2 ?

075A: set_object 17@ animation "PARA_FLOAT_O" IFP_file "PARACHUTE" 1.0 lockF 1 loop 1 ?

0006: 15@ = 1



:PLCHUTE_56

01BB: store_object 17@ position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3

0815: put_object 20@ at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 and_keep_rotation

00D6: if

04DA: ? has_object 20@ collided

004D: jump_if_false @PLCHUTE_57

075A: set_object 17@ animation "PARA_RIP_LOOP_O" IFP_file "PARACHUTE" 8.0 lockF 1 loop 1

0006: 0@ = 7



:PLCHUTE_57

00D6: if

00E1: ? player 0 pressed_key 15

004D: jump_if_false @PLCHUTE_58

0792: disembark_instantly_actor $PLAYER_ACTOR

0004: $FREEFALL_STAGE = 6

0004: $1498 = 3



:PLCHUTE_58

00D6: if

03CA: ? object 17@ exists

004D: jump_if_false @PLCHUTE_59

00D6: if

0837: ? object 17@ animation == "PARA_OPEN_O"

004D: jump_if_false @PLCHUTE_59

0839: get_object 17@ animation "PARA_OPEN_O" progress_to 21@

0087: 22@ = 6@ ?

0065: 22@ -= $1501 ?

0087: 23@ = 22@ ?

006B: 23@ *= 21@

0088: $1509 = 6@ ?

0067: $1509 -= 23@ ?

0087: 22@ = 5@

0065: 22@ -= $1500

0087: 23@ = 22@ ?

006B: 23@ *= 21@

0087: 4@ = 5@ ?

0063: 4@ -= 23@ ?

02F6: $1507 = sine 1@ ?

02F7: $1508 = cosine 1@ ?

006D: $1507 *= 4@ ?

006D: $1508 *= 4@ ?

0011: $1507 *= -1.0

00D6: if and

0043: ? 21@ == 1.0

0039: ? 0@ == 4

004D: jump_if_false @PLCHUTE_59

0006: 0@ = 5



:PLCHUTE_59

00D6: if

8118: ? not actor $PLAYER_ACTOR dead

004D: jump_if_false @PLCHUTE_61

00D6: if

04AD: ? actor $PLAYER_ACTOR in_water

004D: jump_if_false @PLCHUTE_60

0812: AS_actor $PLAYER_ACTOR perform_animation "PARA_LAND_WATER" IFP "PARACHUTE" framedelta 8.0 loopA 1 lockX 1 lockY 0 lockF 0 time 1000

075A: set_object 17@ animation "PARA_LAND_WATER_O" IFP_file "PARACHUTE" 1000.0 lockF 0 loop 1 ?

0004: $FREEFALL_STAGE = 5

0006: 0@ = 0



:PLCHUTE_60

083D: get_actor $PLAYER_ACTOR velocity_in_direction_XYZ 21@ 21@ 23@

00D6: if

0021: ? 23@ > -0.1

004D: jump_if_false @PLCHUTE_61

0004: $FREEFALL_STAGE = 4

0006: 0@ = 0



:PLCHUTE_61

00D6: if

0038: ? $FREEFALL_STAGE == 4

004D: jump_if_false @PLCHUTE_67

00D6: if

0039: ? 0@ == 0

004D: jump_if_false @PLCHUTE_66

0004: $1498 = 1

00A0: store_actor $PLAYER_ACTOR position_to $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD

000D: $TEMPVAR_Z_COORD -= 1.0

00A1: put_actor $PLAYER_ACTOR at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD

083E: set_actor $PLAYER_ACTOR rotation 0.0 0.0 1@ while_in_air

00D6: if

0022: ? -10.0 > $1509

004D: jump_if_false @PLCHUTE_62

0004: $FREEFALL_STAGE = 2

0006: 0@ = 0

0002: jump @PLCHUTE_65



:PLCHUTE_62

00D6: if

0022: ? -4.0 > $1509

004D: jump_if_false @PLCHUTE_63

0615: define_AS_pack_begin 14@

0812: AS_actor -1 perform_animation "FALL_FRONT" IFP "PED" framedelta 20.0 loopA 0 lockX 0 lockY 0 lockF 1 time 700 ?

0812: AS_actor -1 perform_animation "GETUP_FRONT" IFP "PED" framedelta 8.0 loopA 0 lockX 1 lockY 0 lockF 0 time -2

0616: define_AS_pack_end 14@

0618: assign_actor $PLAYER_ACTOR to_AS_pack 14@

061B: remove_references_to_AS_pack 14@

0002: jump @PLCHUTE_64



:PLCHUTE_63

0812: AS_actor $PLAYER_ACTOR perform_animation "RUN_PLAYER" IFP "PED" framedelta 8.0 loopA 1 lockX 1 lockY 0 lockF 0 time 1000



:PLCHUTE_64

0006: 0@ = 1



:PLCHUTE_65

075A: set_object 17@ animation "PARA_LAND_O" IFP_file "PARACHUTE" 1000.0 lockF 0 loop 1

0682: detach_object 17@ 0.0 0.0 0.0 collision_detection 0

0085: 18@ = 32@

000A: 18@ = 1000



:PLCHUTE_66

00D6: if

0039: ? 0@ == 1

004D: jump_if_false @PLCHUTE_67

00D6: if

0837: ? object 17@ animation == "PARA_LAND_O"

004D: jump_if_false @PLCHUTE_67

0839: get_object 17@ animation "PARA_LAND_O" progress_to 21@

00D6: if

0043: ? 21@ == 1.0

004D: jump_if_false @PLCHUTE_67

0004: $1498 = 2

0002: jump @PLCHUTE_73



:PLCHUTE_67

00D6: if

0038: ? $FREEFALL_STAGE == 5

004D: jump_if_false @PLCHUTE_68

0004: $1498 = 1

00D6: if

0039: ? 0@ == 0

004D: jump_if_false @PLCHUTE_68

0004: $1498 = 2

0002: jump @PLCHUTE_73



:PLCHUTE_68

00D6: if and

0018: ? $FREEFALL_STAGE > 0

001A: ? 4 > $FREEFALL_STAGE

004D: jump_if_false @PLCHUTE_69

00D6: if

8118: ? not actor $PLAYER_ACTOR dead

004D: jump_if_false @PLCHUTE_69

083C: set_actor $PLAYER_ACTOR velocity_in_direction_XYZ $1507 $1508 $1509

0173: set_actor $PLAYER_ACTOR Z_angle_to 1@

083E: set_actor $PLAYER_ACTOR rotation 3@ 2@ 1@ while_in_air



:PLCHUTE_69

00D6: if

0038: ? $FREEFALL_STAGE == 6

004D: jump_if_false @PLCHUTE_70

0002: jump @PLCHUTE_73



:PLCHUTE_70

00D6: if

0038: ? $FREEFALL_STAGE == 7

004D: jump_if_false @PLCHUTE_71

0002: jump @PLCHUTE_72



:PLCHUTE_71

0002: jump @PLCHUTE_2



:PLCHUTE_72

0004: $FREEFALL_STAGE = 0

0006: 0@ = 0

0249: release_model #PARACHUTE

04EF: release_animation "PARACHUTE"

083E: set_actor $PLAYER_ACTOR rotation 0.0 0.0 1@ while_in_air

0992: set_player $PLAYER_CHAR weapons_scrollable 1

0002: jump @PLCHUTE_71



:PLCHUTE_73

0682: detach_object 17@ 0.0 0.0 0.0 collision_detection 0

09A2: destroy_object_with_fade 17@

0108: destroy_object 20@

0555: remove_weapon 46 from_actor $PLAYER_ACTOR

0004: $FREEFALL_STAGE = 0

0004: $PARACHUTE_CREATION_STAGE = 0

0006: 0@ = 0

0249: release_model #PARACHUTE

04EF: release_animation "PARACHUTE"

0249: release_model 371

083E: set_actor $PLAYER_ACTOR rotation 0.0 0.0 1@ while_in_air

0992: set_player $PLAYER_CHAR weapons_scrollable 1

0002: jump @PLCHUTE_71

//---------------------------------[ ? PLCHUTE END ? ]----------------------------------



RE: Custom GTA SA filesand other stuff - jking - 2019-11-08

I forget:



- Native sorting/searching algorithms.