Created
November 1, 2019 20:54
-
-
Save JuniorDjjr/efc3d532ecbafaa54aa89538bbd95347 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
// Plant Tree mod by Junior_Djjr - MixMods | |
// You need: https://forum.mixmods.com.br/f16-utilidades/t179-gta3script-while-true-return_true-e-return_false | |
SCRIPT_START | |
{ | |
LVAR_INT scplayer iModel hObject iStartTime iCurTime iDifTime iLastUpdateTime iDaysToFullyGrow | |
LVAR_FLOAT fTemp1 fSize fDaysToFullyGrow fDaysToFullyGrowSpeed fStartSize fFrontOffset fGroundOffset zDim1 zDim2 | |
LVAR_FLOAT x y z | |
LVAR_TEXT_LABEL16 sCommand | |
WAIT 500 | |
SAVE_THIS_CUSTOM_SCRIPT | |
GET_PLAYER_CHAR 0 scplayer | |
scriptStart: | |
IF NOT READ_INT_FROM_INI_FILE "CLEO/Plant Tree.ini" "Settings" "Model" (iModel) | |
OR NOT READ_INT_FROM_INI_FILE "CLEO/Plant Tree.ini" "Settings" "DaysToFullyGrow" (iDaysToFullyGrow) | |
OR NOT READ_FLOAT_FROM_INI_FILE "CLEO/Plant Tree.ini" "Settings" "StartSize" (fStartSize) | |
OR NOT READ_FLOAT_FROM_INI_FILE "CLEO/Plant Tree.ini" "Settings" "FrontOffset" (fFrontOffset) | |
OR NOT READ_FLOAT_FROM_INI_FILE "CLEO/Plant Tree.ini" "Settings" "GroundOffset" (fGroundOffset) | |
OR NOT READ_STRING_FROM_INI_FILE "CLEO/Plant Tree.ini" "Settings" "Command" (sCommand) | |
PRINT_STRING_NOW "Fail to read 'CLEO/Plant Tree.ini'" 10000 | |
TERMINATE_THIS_CUSTOM_SCRIPT | |
ENDIF | |
fDaysToFullyGrowSpeed = 1.0 | |
fDaysToFullyGrow =# iDaysToFullyGrow | |
fDaysToFullyGrowSpeed /= fDaysToFullyGrow | |
///////////////////////////////////////////////// | |
WHILE TRUE | |
WAIT 0 | |
IF NOT IS_CHAR_IN_ANY_CAR scplayer | |
IF TEST_CHEAT $sCommand | |
AND IS_PLAYER_PLAYING 0 | |
AND IS_PLAYER_CONTROL_ON 0 | |
AND NOT IS_CHAR_DEAD scplayer | |
SET_CURRENT_CHAR_WEAPON scplayer 0 | |
GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS scplayer 0.0 fFrontOffset 0.0 x y z | |
GET_GROUND_Z_FOR_3D_COORD x y z (z) | |
REQUEST_MODEL iModel | |
REQUEST_ANIMATION BOMBER | |
LOAD_ALL_MODELS_NOW | |
TASK_PLAY_ANIM_NON_INTERRUPTABLE scplayer BOM_Plant BOMBER 4.0 FALSE FALSE FALSE FALSE -1 | |
WAIT 1500 | |
// Create object | |
CREATE_OBJECT_NO_OFFSET iModel x y z hObject | |
// Set start | |
GET_INT_STAT 134 (iStartTime) | |
GET_MODEL_DIMENSIONS iModel fTemp1 fTemp1 zDim1 fTemp1 fTemp1 zDim2 | |
zDim1 -= zDim2 | |
ABS_LVAR_FLOAT zDim1 | |
zDim1 /= 14.0 | |
IF zDim1 < 1.0 | |
zDim1 = 1.0 | |
ENDIF | |
fSize = fStartSize | |
fSize /= zDim1 | |
SET_OBJECT_SCALE hObject fSize | |
SET_OBJECT_COLLISION hObject FALSE | |
WAIT 2000 | |
// Release | |
MARK_MODEL_AS_NO_LONGER_NEEDED iModel | |
REMOVE_ANIMATION BOMBER | |
// Wait CJ to get off to make it collidable | |
fFrontOffset += 0.5 | |
timera = 0 | |
WHILE TRUE | |
WAIT 0 | |
IF NOT LOCATE_CHAR_ON_FOOT_OBJECT_3D scplayer hObject fFrontOffset fFrontOffset fFrontOffset FALSE | |
IF timera > 2000 | |
BREAK | |
ENDIF | |
ELSE | |
timera = 0 | |
ENDIF | |
IF IS_CURRENT_CHAR_WEAPON scplayer WEAPONTYPE_CHAINSAW | |
// expected that the player want to delete the tree now, so jump this fix | |
BREAK | |
ENDIF | |
ENDWHILE | |
SET_OBJECT_COLLISION hObject TRUE | |
// Grow loop | |
iLastUpdateTime = 0 | |
WHILE TRUE | |
WAIT 0 | |
GET_INT_STAT 134 (iCurTime) | |
iDifTime = iCurTime - iStartTime | |
IF iDifTime > iLastUpdateTime | |
OR TEST_CHEAT "NEX" | |
fSize += fDaysToFullyGrowSpeed | |
IF fSize >= 1.0 | |
SET_OBJECT_SCALE hObject 1.0 | |
TERMINATE_THIS_CUSTOM_SCRIPT | |
ENDIF | |
SET_OBJECT_SCALE hObject fSize | |
iLastUpdateTime++ | |
ENDIF | |
IF IS_PLAYER_PLAYING 0 | |
AND IS_PLAYER_CONTROL_ON 0 | |
IF IS_CURRENT_CHAR_WEAPON scplayer WEAPONTYPE_CHAINSAW | |
IF LOCATE_CHAR_ON_FOOT_OBJECT_3D scplayer hObject fFrontOffset fFrontOffset fFrontOffset FALSE | |
IF IS_CHAR_PLAYING_ANIM scplayer CSAW_1 | |
OR IS_CHAR_PLAYING_ANIM scplayer CSAW_2 | |
OR IS_CHAR_PLAYING_ANIM scplayer CSAW_3 | |
//OR IS_CHAR_PLAYING_ANIM CSAW_G | |
OR IS_CHAR_PLAYING_ANIM scplayer CSAW_PART | |
WAIT 500 | |
DELETE_OBJECT hObject | |
GOTO scriptStart | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDIF | |
ENDWHILE | |
ENDIF | |
ENDIF | |
ENDWHILE | |
} | |
SCRIPT_END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment