Last active
January 5, 2024 17:57
-
-
Save JuniorDjjr/bb03504decd505e76390b16fc2b7f002 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
/* | |
By Junior_Djjr - MixMods.com.br | |
You need: https://forum.mixmods.com.br/f16-utilidades/t179-gta3script-while-true-return_true-e-return_false | |
*/ | |
SCRIPT_START | |
{ | |
LVAR_INT curWeather nextWeather sprite hour min weather night_start_hour stats iniDrawShadow iniSnow usingMobileHud pPed scplayer | |
LVAR_FLOAT posX posY sizX sizY iniPosX iniPosY iniSizX iniSizY | |
// Sprites const | |
CONST_INT SPRITE_FOG 1 | |
CONST_INT SPRITE_NIGHT 2 | |
CONST_INT SPRITE_NIGHT_PARTLY_CLOUDY 3 | |
CONST_INT SPRITE_NIGHT_RAIN 4 | |
CONST_INT SPRITE_CLOUDY 5 | |
CONST_INT SPRITE_CLOUDY_NIGHT 6 | |
CONST_INT SPRITE_CLOUDY_S_RAIN 7 | |
CONST_INT SPRITE_CLOUDY_S_SUNNY 8 | |
CONST_INT SPRITE_RAIN 9 | |
CONST_INT SPRITE_RAIN_NIGHT 10 | |
CONST_INT SPRITE_RAIN_S_CLOUDY 11 | |
CONST_INT SPRITE_RAIN_S_SUNNY 12 | |
CONST_INT SPRITE_THUNDERSTORMS 13 | |
CONST_INT SPRITE_SUNNY 14 | |
CONST_INT SPRITE_PARTLY_CLOUD 15 | |
CONST_INT SPRITE_SUNNY_S_CLOUDY 16 | |
CONST_INT SPRITE_SUNNY_S_RAIN 17 | |
CONST_INT SPRITE_WINDY 18 | |
IF READ_FLOAT_FROM_INI_FILE "cleo\Weather Forecast.ini" "Icon" "PosX" (iniPosX) | |
AND READ_FLOAT_FROM_INI_FILE "cleo\Weather Forecast.ini" "Icon" "PosY" (iniPosY) | |
AND READ_FLOAT_FROM_INI_FILE "cleo\Weather Forecast.ini" "Icon" "SizX" (iniSizX) | |
AND READ_FLOAT_FROM_INI_FILE "cleo\Weather Forecast.ini" "Icon" "SizY" (iniSizY) | |
AND READ_INT_FROM_INI_FILE "cleo\Weather Forecast.ini" "Icon" "DrawShadow" (iniDrawShadow) | |
ELSE | |
PRINT_STRING_NOW "~r~Error: Fail to read 'cleo\weather forecast.ini'" 6000 | |
TERMINATE_THIS_CUSTOM_SCRIPT | |
ENDIF | |
IF NOT READ_INT_FROM_INI_FILE "cleo\Weather Forecast.ini" "Icon" "SnowVersion" (iniSnow) | |
iniSnow = FALSE | |
ENDIF | |
// Load sprites | |
LOAD_TEXTURE_DICTIONARY WEAFORE | |
IF iniSnow = FALSE | |
LOAD_SPRITE SPRITE_NIGHT night | |
LOAD_SPRITE SPRITE_NIGHT_PARTLY_CLOUDY night_p_cldy | |
LOAD_SPRITE SPRITE_NIGHT_RAIN night_rain | |
LOAD_SPRITE SPRITE_CLOUDY cloudy | |
LOAD_SPRITE SPRITE_CLOUDY_NIGHT cloudy_night | |
LOAD_SPRITE SPRITE_CLOUDY_S_RAIN cloudy_s_rain | |
LOAD_SPRITE SPRITE_CLOUDY_S_SUNNY cloudy_s_sunny | |
LOAD_SPRITE SPRITE_RAIN rain | |
LOAD_SPRITE SPRITE_RAIN_NIGHT rain_night | |
LOAD_SPRITE SPRITE_RAIN_S_CLOUDY rain_s_cloudy | |
LOAD_SPRITE SPRITE_RAIN_S_SUNNY rain_s_sunny | |
LOAD_SPRITE SPRITE_THUNDERSTORMS thunderstorms | |
LOAD_SPRITE SPRITE_FOG fog | |
LOAD_SPRITE SPRITE_WINDY windy | |
LOAD_SPRITE SPRITE_SUNNY sunny | |
LOAD_SPRITE SPRITE_PARTLY_CLOUD partly_cloudy | |
LOAD_SPRITE SPRITE_SUNNY_S_CLOUDY sunny_s_cloudy | |
LOAD_SPRITE SPRITE_SUNNY_S_RAIN sunny_s_rain | |
ELSE | |
LOAD_SPRITE SPRITE_NIGHT night_snow | |
LOAD_SPRITE SPRITE_NIGHT_PARTLY_CLOUDY night_snow | |
LOAD_SPRITE SPRITE_NIGHT_RAIN night_rain | |
LOAD_SPRITE SPRITE_CLOUDY snow_s_cloudy | |
LOAD_SPRITE SPRITE_CLOUDY_NIGHT night_snow | |
LOAD_SPRITE SPRITE_CLOUDY_S_RAIN cloudy_s_rain | |
LOAD_SPRITE SPRITE_CLOUDY_S_SUNNY snow_light | |
LOAD_SPRITE SPRITE_RAIN rain | |
LOAD_SPRITE SPRITE_RAIN_NIGHT rain_night | |
LOAD_SPRITE SPRITE_RAIN_S_CLOUDY rain_s_cloudy | |
LOAD_SPRITE SPRITE_RAIN_S_SUNNY rain_s_sunny | |
LOAD_SPRITE SPRITE_THUNDERSTORMS thunderstorms | |
LOAD_SPRITE SPRITE_FOG snow | |
LOAD_SPRITE SPRITE_WINDY windy | |
LOAD_SPRITE SPRITE_SUNNY snow_light | |
LOAD_SPRITE SPRITE_PARTLY_CLOUD snow_s_cloudy | |
LOAD_SPRITE SPRITE_SUNNY_S_CLOUDY snow_s_cloudy | |
LOAD_SPRITE SPRITE_SUNNY_S_RAIN sunny_s_rain | |
ENDIF | |
// Weathers const | |
CONST_INT EXTRASUNNY_LA 0 | |
CONST_INT SUNNY_LA 1 | |
CONST_INT EXTRASUNNY_SMOG_LA 2 | |
CONST_INT SUNNY_SMOG_LA 3 | |
CONST_INT CLOUDY_LA 4 | |
CONST_INT SUNNY_SF 5 | |
CONST_INT EXTRASUNNY_SF 6 | |
CONST_INT CLOUDY_SF 7 | |
CONST_INT RAINY_SF 8 | |
CONST_INT FOGGY_SF 9 | |
CONST_INT SUNNY_VEGAS 10 | |
CONST_INT EXTRASUNNY_VEGAS 11 | |
CONST_INT CLOUDY_VEGAS 12 | |
CONST_INT EXTRASUNNY_COUNTRYSIDE 13 | |
CONST_INT SUNNY_COUNTRYSIDE 14 | |
CONST_INT CLOUDY_COUNTRYSIDE 15 | |
CONST_INT RAINY_COUNTRYSIDE 16 | |
CONST_INT EXTRASUNNY_DESERT 17 | |
CONST_INT SUNNY_DESERT 18 | |
CONST_INT SANDSTORM_DESERT 19 | |
GET_PLAYER_CHAR 0 scplayer | |
///////////////////////////////////////////////// | |
WHILE TRUE | |
WAIT 0 | |
//__int16 __thiscall CPad::GetDisplayVitalStats(CPad *this, CPed *a2) | |
GET_PED_POINTER scplayer (pPed) | |
CALL_METHOD_RETURN 0x5408B0 0xB73458 1 0 (pPed)(stats) | |
IF stats = TRUE | |
AND NOT IS_CHAR_IN_ANY_CAR scplayer | |
/* | |
IF IS_KEY_PRESSED 107 | |
weather++ | |
FORCE_WEATHER_NOW weather | |
WHILE IS_KEY_PRESSED 107 | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
IF IS_KEY_PRESSED 109 | |
weather-- | |
FORCE_WEATHER_NOW weather | |
WHILE IS_KEY_PRESSED 109 | |
WAIT 0 | |
ENDWHILE | |
ENDIF | |
*/ | |
GET_TIME_OF_DAY hour min | |
READ_MEMORY 0xC81320 2 FALSE (curWeather) | |
READ_MEMORY 0xC8131C 2 FALSE (nextWeather) | |
SWITCH curWeather | |
CASE EXTRASUNNY_LA | |
CASE EXTRASUNNY_SMOG_LA | |
CASE EXTRASUNNY_SF | |
CASE EXTRASUNNY_VEGAS | |
CASE EXTRASUNNY_COUNTRYSIDE | |
CASE EXTRASUNNY_DESERT | |
SWITCH nextWeather | |
CASE CLOUDY_LA | |
CASE CLOUDY_SF | |
CASE CLOUDY_VEGAS | |
CASE CLOUDY_COUNTRYSIDE | |
sprite = SPRITE_SUNNY_S_CLOUDY | |
BREAK | |
CASE RAINY_SF | |
CASE RAINY_COUNTRYSIDE | |
sprite = SPRITE_SUNNY_S_RAIN | |
BREAK | |
DEFAULT | |
sprite = SPRITE_SUNNY | |
BREAK | |
ENDSWITCH | |
BREAK | |
CASE SUNNY_LA | |
CASE SUNNY_SMOG_LA | |
CASE SUNNY_SF | |
CASE SUNNY_VEGAS | |
CASE SUNNY_COUNTRYSIDE | |
CASE SUNNY_DESERT | |
SWITCH nextWeather | |
CASE CLOUDY_LA | |
CASE CLOUDY_SF | |
CASE CLOUDY_VEGAS | |
CASE CLOUDY_COUNTRYSIDE | |
sprite = SPRITE_SUNNY_S_CLOUDY | |
BREAK | |
CASE RAINY_SF | |
CASE RAINY_COUNTRYSIDE | |
sprite = SPRITE_SUNNY_S_RAIN | |
BREAK | |
DEFAULT | |
sprite = SPRITE_PARTLY_CLOUD | |
BREAK | |
ENDSWITCH | |
BREAK | |
CASE CLOUDY_LA | |
CASE CLOUDY_SF | |
CASE CLOUDY_VEGAS | |
CASE CLOUDY_COUNTRYSIDE | |
SWITCH nextWeather | |
CASE SUNNY_LA | |
CASE SUNNY_SMOG_LA | |
CASE SUNNY_SF | |
CASE SUNNY_VEGAS | |
CASE SUNNY_COUNTRYSIDE | |
CASE SUNNY_DESERT | |
CASE EXTRASUNNY_LA | |
CASE EXTRASUNNY_SMOG_LA | |
CASE EXTRASUNNY_SF | |
CASE EXTRASUNNY_VEGAS | |
CASE EXTRASUNNY_COUNTRYSIDE | |
CASE EXTRASUNNY_DESERT | |
sprite = SPRITE_CLOUDY_S_SUNNY | |
BREAK | |
CASE RAINY_SF | |
CASE RAINY_COUNTRYSIDE | |
sprite = SPRITE_CLOUDY_S_RAIN | |
BREAK | |
DEFAULT | |
sprite = SPRITE_CLOUDY | |
BREAK | |
ENDSWITCH | |
BREAK | |
CASE RAINY_SF | |
CASE RAINY_COUNTRYSIDE | |
SWITCH nextWeather | |
CASE SUNNY_LA | |
CASE SUNNY_SMOG_LA | |
CASE SUNNY_SF | |
CASE SUNNY_VEGAS | |
CASE SUNNY_COUNTRYSIDE | |
CASE SUNNY_DESERT | |
CASE EXTRASUNNY_LA | |
CASE EXTRASUNNY_SMOG_LA | |
CASE EXTRASUNNY_SF | |
CASE EXTRASUNNY_VEGAS | |
CASE EXTRASUNNY_COUNTRYSIDE | |
CASE EXTRASUNNY_DESERT | |
sprite = SPRITE_RAIN_S_SUNNY | |
BREAK | |
CASE CLOUDY_LA | |
CASE CLOUDY_SF | |
CASE CLOUDY_VEGAS | |
CASE CLOUDY_COUNTRYSIDE | |
sprite = SPRITE_RAIN_S_CLOUDY | |
BREAK | |
DEFAULT | |
sprite = SPRITE_THUNDERSTORMS | |
BREAK | |
ENDSWITCH | |
BREAK | |
CASE FOGGY_SF | |
sprite = SPRITE_FOG | |
BREAK | |
CASE SANDSTORM_DESERT | |
sprite = SPRITE_WINDY | |
BREAK | |
DEFAULT | |
sprite = SPRITE_SUNNY | |
BREAK | |
ENDSWITCH | |
READ_MEMORY 0x713D2C 1 FALSE (night_start_hour) // stars render (compatible with Change Night Hour mod) | |
// night | |
IF hour >= night_start_hour | |
OR hour <= 5 | |
SWITCH sprite | |
CASE SPRITE_CLOUDY_S_SUNNY | |
CASE SPRITE_SUNNY_S_CLOUDY | |
CASE SPRITE_PARTLY_CLOUD | |
sprite = SPRITE_NIGHT_PARTLY_CLOUDY | |
BREAK | |
CASE SPRITE_SUNNY | |
sprite = SPRITE_NIGHT | |
BREAK | |
CASE SPRITE_RAIN | |
CASE SPRITE_RAIN_S_SUNNY | |
CASE SPRITE_RAIN_S_CLOUDY | |
CASE SPRITE_SUNNY_S_RAIN | |
sprite = SPRITE_RAIN_NIGHT | |
BREAK | |
ENDSWITCH | |
ENDIF | |
//PRINT_FORMATTED_NOW "%i %i - sprite %i" 2000 curWeather nextWeather sprite | |
CLEO_CALL GetXYSizeInScreen4x3ScaleBy640x480 0 (iniSizX iniSizY) (sizX sizY) | |
IF iniDrawShadow = TRUE | |
posX = iniPosX + 1.0 | |
posY = iniPosY + 1.0 | |
DRAW_SPRITE sprite (posX posY) (sizX sizY) (0 0 0 180) | |
ENDIF | |
DRAW_SPRITE sprite (iniPosX iniPosY) (sizX sizY) (255 255 255 255) | |
USE_TEXT_COMMANDS 0 | |
ENDIF | |
ENDWHILE | |
} | |
SCRIPT_END | |
///////////////////////////////////////////////// | |
// by fastman92 | |
{ | |
LVAR_FLOAT x y // In | |
LVAR_FLOAT fresX fresY | |
LVAR_INT iresX iresY | |
GetXYSizeInScreen4x3ScaleBy640x480: | |
READ_MEMORY 0x00C17044 4 FALSE (iresX) // Get current resolution X | |
READ_MEMORY 0x00C17048 4 FALSE (iresY) // Y | |
fresX =# iresX | |
fresY =# iresY | |
fresY *= 1.33333333 | |
fresX /= fresY | |
x /= fresX | |
y /= 1.07142857 | |
CLEO_RETURN 0 (x y) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment