Created
May 6, 2019 20:45
-
-
Save JuniorDjjr/874671b522258af0e7a94c4e1891bcac to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// You need: https://forum.mixmods.com.br/f16-utilidades/t179-gta3script-while-true-return_true-e-return_false | |
SCRIPT_START | |
{ | |
LVAR_INT scplayer char i j p iHealth medic task secPlayer victim medicPad victimPad medicPlayer | |
LVAR_FLOAT animTime | |
GET_PLAYER_CHAR 0 scplayer | |
WHILE TRUE | |
WAIT 0 | |
GOSUB ForTwoPlayers | |
ENDWHILE | |
ForTwoPlayers: | |
IF IS_2PLAYER_GAME_GOING_ON | |
REQUEST_ANIMATION CRACK | |
REQUEST_ANIMATION BOMBER | |
WHILE NOT HAS_ANIMATION_LOADED CRACK | |
OR NOT HAS_ANIMATION_LOADED BOMBER | |
WAIT 0 | |
ENDWHILE | |
WHILE IS_2PLAYER_GAME_GOING_ON | |
GET_PLAYER_CHAR 1 secPlayer | |
victim = -1 | |
medic = -1 | |
GET_CHAR_HEALTH secPlayer (iHealth) | |
IF iHealth < 40 | |
AND iHealth > 0 | |
victim = 1 | |
medic = 0 | |
ELSE | |
GET_CHAR_HEALTH scplayer (iHealth) | |
IF iHealth < 40 | |
AND iHealth > 0 | |
victim = 0 | |
medic = 1 | |
ENDIF | |
ENDIF | |
IF victim > -1 | |
IF victim = 0 | |
medic = secPlayer | |
victim = scplayer | |
victimPad = 0 | |
medicPad = 1 | |
medicPlayer = 0 | |
ELSE | |
medic = scplayer | |
victim = secPlayer | |
victimPad = 1 | |
medicPad = 0 | |
medicPlayer = 1 | |
ENDIF | |
IF NOT IS_CHAR_PLAYING_ANIM victim CRCKIDLE1 | |
IF NOT IS_CHAR_PLAYING_ANIM medic CRCKIDLE1 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE victim CRCKIDLE1 CRACK 4.0 1 0 0 0 -1 | |
CLEO_CALL TogglePadControls 0 (victimPad 0) | |
ENDIF | |
ELSE | |
IF IS_BUTTON_PRESSED medicPad DPADUP | |
AND IS_PLAYER_CONTROL_ON medicPlayer | |
IF LOCATE_CHAR_ANY_MEANS_CHAR_3D medic victim 2.0 2.0 1.0 FALSE | |
OPEN_SEQUENCE_TASK task | |
TASK_TURN_CHAR_TO_FACE_CHAR -1 victim | |
TASK_PLAY_ANIM -1 BOM_Plant BOMBER 4.0 0 0 0 0 -1 | |
CLOSE_SEQUENCE_TASK task | |
PERFORM_SEQUENCE_TASK medic task | |
timera = 0 | |
WHILE TRUE | |
GET_CHAR_ANIM_CURRENT_TIME medic BOM_Plant (animTime) | |
IF animTime > 0.6 | |
CLEAR_SEQUENCE_TASK task | |
CLEO_CALL TogglePadControls 0 (victimPad 1) | |
SET_CHAR_HEALTH victim 80 | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE victim GETUP PED 4.0 0 0 0 0 -1 | |
BREAK | |
ENDIF | |
WAIT 0 | |
IF timera > 3000 | |
OR NOT DOES_CHAR_EXIST victim | |
CLEAR_SEQUENCE_TASK task | |
BREAK | |
ENDIF | |
ENDWHILE | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
WAIT 0 | |
ENDWHILE | |
REMOVE_ANIMATION CRACK | |
REMOVE_ANIMATION BOMBER | |
ENDIF | |
RETURN | |
} | |
SCRIPT_END | |
{ | |
LVAR_INT pad enable //In | |
LVAR_INT i j | |
TogglePadControls: | |
CALL_FUNCTION_RETURN 0x53FB70 1 1 (pad) (pad) // CPad *__cdecl CPad::GetPad(int number) | |
i = pad + 0x10E | |
READ_MEMORY i 2 FALSE j | |
IF enable = FALSE | |
SET_LOCAL_VAR_BIT_CONST j 0 // Disable | |
ELSE | |
CLEAR_LOCAL_VAR_BIT_CONST j 0 // Enable | |
ENDIF | |
WRITE_MEMORY i 2 j FALSE | |
CLEO_RETURN 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment