Last active
January 5, 2024 17:24
-
-
Save JuniorDjjr/9f15f2042e92c50194b3695c06d58bc9 to your computer and use it in GitHub Desktop.
This file contains hidden or 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/f141-gta3script-cleo/t5206-como-criar-scripts-com-cleo | |
SCRIPT_START | |
{ | |
LVAR_INT iPlayerId //In | |
LVAR_INT scplayer i iWeaponType iLastWeaponType pWeaponInfo bFireButtonOff iSave | |
LVAR_FLOAT fBackupStat69 fBackupStat70 f g | |
WAIT 0 | |
WAIT 0 | |
// force silenced be always loaded (so not required to edit default.ide) | |
REQUEST_ANIMATION SILENCED | |
LOAD_ALL_MODELS_NOW | |
GET_FLOAT_STAT 69 fBackupStat69 | |
GET_FLOAT_STAT 70 fBackupStat70 | |
GOSUB ChangeStats | |
// Make sure default weapon skill is not 2 | |
READ_MEMORY 0x05E83D0 1 TRUE (i) | |
IF i = 2 | |
WRITE_MEMORY 0x05E83D0 1 1 TRUE | |
ENDIF | |
STREAM_CUSTOM_SCRIPT_FROM_LABEL ScriptStart 1 | |
GET_PLAYER_CHAR iPlayerId (scplayer) | |
SET_SCRIPT_EVENT_SAVE_CONFIRMATION ON OnSaveConfirmation iSave | |
ScriptStart: | |
WHILE TRUE | |
GOSUB Process | |
IF iPlayerId = 1 | |
IF IS_2PLAYER_GAME_GOING_ON | |
GET_PLAYER_CHAR iPlayerId (scplayer) | |
ELSE | |
CONTINUE | |
ENDIF | |
ENDIF | |
GET_CURRENT_CHAR_WEAPON scplayer (iWeaponType) | |
IF iWeaponType > 1 | |
IF IS_WEAPON_FIRE_TYPE iWeaponType WEAPONFIRE_INSTANT_HIT | |
GET_CURRENT_CHAR_WEAPONINFO scplayer pWeaponInfo | |
GET_WEAPONINFO_ANIMGROUP pWeaponInfo (i) | |
//PRINT_FORMATTED_NOW "%i" 1000 i | |
IF i = 13 | |
OR i = 15 | |
READ_STRUCT_OFFSET pWeaponInfo 0x50 4 (f) | |
READ_STRUCT_OFFSET pWeaponInfo 0x54 4 (g) | |
f -= g | |
//PRINT_FORMATTED_NOW "%f" 1000 f | |
IF f > 0.15 | |
GOSUB Activate | |
ENDIF | |
ENDIF | |
IF i = 16 | |
OR i = 17 | |
OR i = 18 | |
OR i = 19 | |
OR i = 20 | |
OR i = 11 | |
OR i = 12 | |
GOSUB Activate | |
ENDIF | |
IF i = 27 | |
GOSUB Activate | |
ENDIF | |
ELSE | |
IF IS_WEAPON_FIRE_TYPE iWeaponType WEAPONFIRE_PROJECTILE | |
GOSUB Activate | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDWHILE | |
Activate: | |
iLastWeaponType = iWeaponType | |
WHILE iLastWeaponType = iWeaponType | |
IF bFireButtonOff = TRUE | |
IF NOT IS_ANY_FIRE_BUTTON_PRESSED iPlayerId | |
SET_PLAYER_FIRE_BUTTON iPlayerId ON | |
bFireButtonOff = FALSE | |
ENDIF | |
ENDIF | |
GET_CHAR_WEAPON_STATE scplayer (i) | |
IF i = WEAPONSTATE_SHOOTING | |
OR IS_CHAR_SHOOTING scplayer | |
//PRINT_STRING_NOW "A" 1 | |
SET_PLAYER_FIRE_BUTTON iPlayerId OFF | |
bFireButtonOff = TRUE | |
/*ELSE | |
PRINT_STRING_NOW "I" 1*/ | |
ENDIF | |
GOSUB Process | |
IF iPlayerId = 1 | |
IF NOT IS_2PLAYER_GAME_GOING_ON | |
BREAK | |
ENDIF | |
ENDIF | |
GET_CURRENT_CHAR_WEAPON scplayer (iWeaponType) | |
ENDWHILE | |
RETURN | |
ChangeStats: | |
SHOW_UPDATE_STATS OFF | |
SET_FLOAT_STAT 69 41.0 | |
SET_FLOAT_STAT 70 501.0 | |
SHOW_UPDATE_STATS ON | |
RETURN | |
Process: | |
WAIT 0 | |
IF iSave = -1 //just saved | |
GOSUB ChangeStats | |
iSave = 0 | |
ENDIF | |
RETURN | |
OnSaveConfirmation: | |
SHOW_UPDATE_STATS OFF | |
SET_FLOAT_STAT 69 fBackupStat69 | |
SET_FLOAT_STAT 70 fBackupStat70 | |
SHOW_UPDATE_STATS ON | |
iSave = -1 | |
RETURN_SCRIPT_EVENT | |
} | |
SCRIPT_END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment