Last active
January 5, 2024 17:38
-
-
Save JuniorDjjr/70d76ef814355f7f63791e5fd48d386f 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
// by Junior_Djjr - MixMods.com.br | |
// You need: https://forum.mixmods.com.br/f141-gta3script-cleo/t5206-como-criar-scripts-com-cleo | |
SCRIPT_START | |
{ | |
LVAR_INT scplayer car ped weaponType weaponState model modelInfo vehicleType i j pMatrix pCarMatrix p bLimitIncreased iLanguage iMode | |
LVAR_FLOAT x y z angle f x2 y2 z2 fPointX fPointY fPointZ fThrowForce | |
LVAR_FLOAT quatX quatY quatZ quatR | |
CONST_INT MODE_CAR 0 | |
CONST_INT MODE_PED 1 | |
GET_PLAYER_CHAR 0 scplayer | |
IF NOT READ_FLOAT_FROM_INI_FILE "Shoot Stuff.ini" "Settings" "ThrowForce" (fThrowForce) | |
fThrowForce = 200.0 | |
ENDIF | |
IF NOT READ_INT_FROM_INI_FILE "Shoot Stuff.ini" "Settings" "Language" (iLanguage) | |
iLanguage = 1 | |
ENDIF | |
IF NOT READ_INT_FROM_INI_FILE "Shoot Stuff.ini" "Settings" "Mode" (iMode) | |
iMode = 1 | |
ENDIF | |
// TODO: Detect Open Limit Adjuster increased limit | |
bLimitIncreased = FALSE | |
READ_MEMORY 0x55102A 1 FALSE (i) | |
IF NOT i = 110 | |
bLimitIncreased = TRUE | |
ENDIF | |
READ_MEMORY 0x550FF2 4 FALSE (i) | |
IF NOT i = 140 | |
bLimitIncreased = TRUE | |
ENDIF | |
WHILE TRUE | |
WAIT 0 | |
IF TEST_CHEAT SHOOTSTUFF | |
PRINT_HELP CHEAT1 | |
IF bLimitIncreased = FALSE | |
IF iLanguage = 1 | |
PRINT_STRING_NOW "~r~Warning:~s~ Too much cars/peds may crash the game. Increase the cars/ped limit from to 500 or more, if not yet." 5000 | |
ELSE | |
PRINT_STRING_NOW "~r~Cuidado:~s~ Muitos carros/peds podem crashar o jogo. Aumente o limite de carros/peds para 500 ou mais, se nao ainda." 5000 | |
ENDIF | |
ENDIF | |
WHILE NOT TEST_CHEAT SHOOTSTUFF | |
GOSUB ProcessUi | |
GET_CURRENT_CHAR_WEAPON scplayer weaponType | |
IF IS_WEAPON_FIRE_TYPE weaponType WEAPONFIRE_INSTANT_HIT | |
GET_CHAR_WEAPON_STATE scplayer weaponState | |
IF weaponState = WEAPONSTATE_SHOOTING | |
WHILE TRUE | |
IF iMode = MODE_CAR | |
GENERATE_RANDOM_INT_IN_RANGE 400 612 model | |
IF IS_MODEL_AVAILABLE model | |
AND IS_MODEL_IN_CDIMAGE model | |
GET_MODEL_INFO model (modelInfo) | |
READ_STRUCT_OFFSET modelInfo 0x3C 4 (vehicleType) | |
IF NOT vehicleType = VEHICLE_SUBCLASS_TRAIN | |
AND NOT vehicleType = VEHICLE_SUBCLASS_BOAT | |
REQUEST_MODEL model | |
LOAD_ALL_MODELS_NOW | |
GET_MODEL_DIMENSIONS model x y f f f z | |
ABS_LVAR_FLOAT x | |
ABS_LVAR_FLOAT y | |
ABS_LVAR_FLOAT z | |
IF x < 12.0 | |
OR y < 6.0 | |
OR z < 6.0 | |
BREAK | |
ELSE | |
MARK_MODEL_AS_NO_LONGER_NEEDED model | |
ENDIF | |
ENDIF | |
ENDIF | |
ELSE | |
GENERATE_RANDOM_INT_IN_RANGE 6 300 model | |
IF IS_MODEL_AVAILABLE model | |
AND IS_MODEL_IN_CDIMAGE model | |
REQUEST_MODEL model | |
LOAD_ALL_MODELS_NOW | |
BREAK | |
ENDIF | |
ENDIF | |
ENDWHILE | |
IF iMode = MODE_CAR | |
y *= 2.5 | |
ELSE | |
y = 0.5 | |
ENDIF | |
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 y 0.3 (x y z) | |
IF iMode = MODE_CAR | |
CREATE_CAR model x y z (car) | |
f = 10.0 //start range | |
ELSE | |
CREATE_CHAR PEDTYPE_CIVMALE model x y z (ped) | |
f = 2.0 //start range | |
ENDIF | |
GET_CHAR_COORDINATES scplayer x y z | |
GET_VAR_POINTER x (i) | |
GET_VAR_POINTER x2 (j) //Camera | |
//514970 double __thiscall CCamera::Find3rdPersonCamTargetVector(CCamera *this, float range, float srcx, float srcy, float srcz, CVector *pCamera, CVector *pPoint) | |
CALL_METHOD 0x514970 0xB6F028 6 0 (i j z y x f)() | |
GET_VAR_POINTER fPointX (i) | |
//514970 double __thiscall CCamera::Find3rdPersonCamTargetVector(CCamera *this, float range, float srcx, float srcy, float srcz, CVector *pCamera, CVector *pPoint) | |
CALL_METHOD 0x514970 0xB6F028 6 0 (i j z y x 50.0)() | |
x2 -= fPointX | |
y2 -= fPointY | |
z2 -= fPointZ | |
IF iMode = MODE_CAR | |
GET_VEHICLE_POINTER car p | |
ELSE | |
GET_PED_POINTER ped p | |
ENDIF | |
READ_STRUCT_OFFSET p 0x14 4 (pCarMatrix) | |
// fix start ground coord | |
IF iMode = MODE_CAR | |
z -= 3.0 | |
GET_GROUND_Z_FOR_3D_COORD x y z (f) | |
IF f = 0.0 | |
z += 10.0 | |
GET_GROUND_Z_FOR_3D_COORD x y z (z) | |
ENDIF | |
z += 2.5 | |
ELSE | |
GET_GROUND_Z_FOR_3D_COORD x y z (f) | |
IF f = 0.0 | |
z += 3.0 | |
GET_GROUND_Z_FOR_3D_COORD x y z (z) | |
z += 0.0 | |
ELSE | |
z += 0.0 | |
ENDIF | |
ENDIF | |
GET_VAR_POINTER x j //start | |
GET_VAR_POINTER x2 i //end | |
//RwMatrixTag *__thiscall Fx_c::CreateMatFromVec(Fx_c *this, RwMatrixTag *matrix, CVector *start, CVector *end) | |
CALL_METHOD_RETURN 0x49E950 0x0 3 0 (i j pCarMatrix)(pCarMatrix) | |
ROTATE_MATRIX_ON_AXIS pCarMatrix 0.0 0.0 1.0 180.0 RWCOMBINE_PRECONCAT | |
f = fThrowForce | |
IF IS_CURRENT_CHAR_WEAPON scplayer WEAPONTYPE_MINIGUN | |
f *= 3.0 | |
ENDIF | |
IF iMode = MODE_PED | |
f *= 1.0 | |
ENDIF | |
IF iMode = MODE_CAR | |
SET_CAR_FORWARD_SPEED car f | |
MARK_CAR_AS_NO_LONGER_NEEDED car | |
ELSE | |
//TASK_FALL_AND_GET_UP ped 0 5000 | |
GET_CHAR_HEADING ped angle | |
SIN angle (x) | |
COS angle (y) | |
x *= f | |
y *= f | |
x *= -1.0 | |
z -= z2 | |
z -= 1.0 | |
f *= 0.02 | |
z *= f | |
SET_CHAR_VELOCITY ped x y z | |
MARK_CHAR_AS_NO_LONGER_NEEDED ped | |
GOSUB ProcessUi | |
IF DOES_CHAR_EXIST ped | |
SET_CHAR_HEALTH ped 0 | |
TASK_DIE ped | |
ENDIF | |
ENDIF | |
MARK_MODEL_AS_NO_LONGER_NEEDED model | |
ENDIF | |
ENDIF | |
ENDWHILE | |
PRINT_HELP CHEAT8 | |
ENDIF | |
ENDWHILE | |
ProcessUi: | |
WAIT 0 | |
IF iLanguage = 1 | |
IF iMode = MODE_CAR | |
DRAW_STRING_EXT "Mode: CAR (M)" DRAW_EVENT_BEFORE_HUD 320.0 430.0 0.4 0.8 TRUE FONT_MENU TRUE ALIGN_CENTER 640.0 FALSE (255 255 255 255) 1 0 (0 0 0 255) FALSE (0 0 0 0) | |
ELSE | |
DRAW_STRING_EXT "Mode: PED (M)" DRAW_EVENT_BEFORE_HUD 320.0 430.0 0.4 0.8 TRUE FONT_MENU TRUE ALIGN_CENTER 640.0 FALSE (255 255 255 255) 1 0 (0 0 0 255) FALSE (0 0 0 0) | |
ENDIF | |
ELSE | |
IF iMode = MODE_CAR | |
DRAW_STRING_EXT "Modo: CARRO (M)" DRAW_EVENT_BEFORE_HUD 320.0 430.0 0.4 0.8 TRUE FONT_MENU TRUE ALIGN_CENTER 640.0 FALSE (255 255 255 255) 1 0 (0 0 0 255) FALSE (0 0 0 0) | |
ELSE | |
DRAW_STRING_EXT "Modo: PEDESTRE (M)" DRAW_EVENT_BEFORE_HUD 320.0 430.0 0.4 0.8 TRUE FONT_MENU TRUE ALIGN_CENTER 640.0 FALSE (255 255 255 255) 1 0 (0 0 0 255) FALSE (0 0 0 0) | |
ENDIF | |
ENDIF | |
IF IS_KEY_JUST_PRESSED VK_KEY_M | |
IF iMode = MODE_CAR | |
iMode = MODE_PED | |
ELSE | |
iMode = MODE_CAR | |
ENDIF | |
ENDIF | |
RETURN | |
} | |
SCRIPT_END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment