Skip to content

Instantly share code, notes, and snippets.

@JuniorDjjr
Created January 16, 2021 13:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save JuniorDjjr/1e62f370d24183a1ad9df562db13fa6b to your computer and use it in GitHub Desktop.
Save JuniorDjjr/1e62f370d24183a1ad9df562db13fa6b to your computer and use it in GitHub Desktop.
// by Junior_Djjr - MixMods.com.br
// You need: https://forum.mixmods.com.br/f141-gta3script-cleo/t5206-como-criar-scripts-com-cleoplus
SCRIPT_START
{
LVAR_INT i j hCarDamaged hCharDamaged pEntityDamager iType iPiece hCharDamager
LVAR_FLOAT fAmountPed fAmountVeh fIntensity f
IF LOAD_DYNAMIC_LIBRARY "CLEO+.cleo" (i)
IF GET_DYNAMIC_LIBRARY_PROCEDURE "GetCleoPlusVersion" i (j)
CALL_FUNCTION_RETURN j 0 0 ()(j)
IF j < 0x01000700 // 01 00 07 00 = v1.0.7.0
PRINT_STRING_NOW "~r~Outdated CLEO+ version. Update it." 5000
FREE_DYNAMIC_LIBRARY i
TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
ENDIF
FREE_DYNAMIC_LIBRARY i
ELSE
PRINT_STRING_NOW "~r~CLEO+ not installed." 5000
TERMINATE_THIS_CUSTOM_SCRIPT
ENDIF
READ_FLOAT_FROM_INI_FILE "CLEO\Hit Health.ini" "Settings" "AmountPed" (fAmountPed)
READ_FLOAT_FROM_INI_FILE "CLEO\Hit Health.ini" "Settings" "AmountVeh" (fAmountVeh)
IF fAmountPed > 0.0
SET_SCRIPT_EVENT_CHAR_DAMAGE ON OnCharDamage hCharDamaged
ENDIF
IF fAmountVeh > 0.0
SET_SCRIPT_EVENT_CAR_WEAPON_DAMAGE ON OnCarWeaponDamage hCarDamaged
ENDIF
WHILE TRUE
WAIT 0x7FFFFFFF
ENDWHILE
OnCharDamage:
GET_CHAR_DAMAGE_LAST_FRAME hCharDamaged (pEntityDamager iType iPiece fIntensity)
IF pEntityDamager > 0x0
AND fIntensity > 0.0
GET_ENTITY_TYPE pEntityDamager (i)
IF i = ENTITY_TYPE_PED
GET_PED_REF pEntityDamager (hCharDamager)
GET_PED_TYPE hCharDamager (i)
IF i = PEDTYPE_PLAYER1
OR i = PEDTYPE_PLAYER2
GET_CHAR_HEALTH_PERCENT hCharDamager (f)
IF f < 100.0
GET_CHAR_HEALTH hCharDamager i
f =# i
fIntensity *= fAmountPed
CLAMP_FLOAT fIntensity 1.0 50.0 (fIntensity)
//PRINT_FORMATTED_NOW "%f" 1000 fIntensity
f += fIntensity
i =# f
SET_CHAR_HEALTH hCharDamager i
ENDIF
ENDIF
ENDIF
ENDIF
RETURN_SCRIPT_EVENT
OnCarWeaponDamage:
GET_CAR_WEAPON_DAMAGE_LAST_FRAME hCarDamaged (hCharDamager iType fIntensity)
IF hCharDamager > 0x0
AND fIntensity > 0.0
GET_PED_TYPE hCharDamager (i)
IF i = PEDTYPE_PLAYER1
OR i = PEDTYPE_PLAYER2
GET_CHAR_HEALTH_PERCENT hCharDamager (f)
IF f < 100.0
GET_CHAR_HEALTH hCharDamager i
f =# i
fIntensity *= fAmountVeh
CLAMP_FLOAT fIntensity 1.0 50.0 (fIntensity)
//PRINT_FORMATTED_NOW "%f" 1000 fIntensity
f += fIntensity
i =# f
SET_CHAR_HEALTH hCharDamager i
ENDIF
ENDIF
ENDIF
RETURN_SCRIPT_EVENT
}
SCRIPT_END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment