0% found this document useful (0 votes)
145 views5 pages

Zone Text

This document contains code for displaying zone, town, and interior text labels in Grand Theft Auto: San Andreas. The code checks the player's location and status, retrieves the appropriate text strings, and draws the text on the screen if certain conditions are met. It uses memory addresses and game functions to get information about the player's state and location in the game world.

Uploaded by

Wevelly Souza
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
145 views5 pages

Zone Text

This document contains code for displaying zone, town, and interior text labels in Grand Theft Auto: San Andreas. The code checks the player's location and status, retrieves the appropriate text strings, and draws the text on the screen if certain conditions are met. It uses memory addresses and game functions to get information about the player's state and location in the game world.

Uploaded by

Wevelly Souza
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

{$CLEO} { Mod Name: Author: Credits: } const PX = 1@ PY = 2@ PZ = 3@ CURRENT_TOWN = 7@ WIDESCREEN_STATUS = 8@ IS_IN_WIDESCREEN = 9@ ENTER_STATUS = 10@ IS_OPENING_DOOR = 11@ IS_IN_CUTSCENE = 12@

RADAR_MODE = 13@ RADAR_ENABLED = 14@ IS_RADAR_ONSCREEN = 15@ INTO_INTERIOR = 16@ IS_IN_INTERIOR = 17@ ///-------------------------ZONE_TEXT = s$93 TOWN_TEXT = s$95 INTERIOR_TEXT = v$99 end IS_IN_WIDESCREEN = FALSE IS_OPENING_DOOR = FALSE IS_IN_CUTSCENE = FALSE IS_RADAR_ONSCREEN = TRUE IS_IN_INTERIOR = FALSE 0000: Starting code... while true wait 0 gosub @WideScreenCheck gosub @OpenDoorCheck gosub @CutsceneCheck gosub @GetRadarOnScreen if or IS_IN_WIDESCREEN == TRUE IS_OPENING_DOOR == TRUE IS_IN_CUTSCENE == TRUE IS_RADAR_ONSCREEN == FALSE then 03F0: enable_text_draw 0 else if and 80DF: not actor $PLAYER_ACTOR driving 00E1: player $PLAYER_CHAR pressed_key 4 then 03F0: enable_text_draw 0 else 03F0: enable_text_draw 1 Town\Zone texts Wesser Nope

gosub @ZoneTextDisplay end end end :WideScreenCheck 0A8D: WIDESCREEN_STATUS = read_memory 0xB6F065 size 4 virtual_protect 0 if WIDESCREEN_STATUS == 1 then IS_IN_WIDESCREEN = TRUE else IS_IN_WIDESCREEN = FALSE end return :OpenDoorCheck 0A8D: ENTER_STATUS = read_memory 0x96A7CC size 4 virtual_protect 0 // I found th is :) if or ENTER_STATUS == 1 ENTER_STATUS == 2 then IS_OPENING_DOOR = TRUE else IS_OPENING_DOOR = FALSE end return :CutsceneCheck if 06B9: cutscene_data_loaded then if 82E9: not cutscene_reached_end then IS_IN_CUTSCENE = TRUE end else IS_IN_CUTSCENE = FALSE end return :GetRadarOnScreen 0A8D: RADAR_MODE = read_memory 0xBA676C size 4 virtual_protect 0 0A8D: RADAR_ENABLED = read_memory 0xBAA3FB size 4 virtual_protect 0 if and RADAR_MODE == 2 RADAR_ENABLED == 0 then IS_RADAR_ONSCREEN = FALSE else IS_RADAR_ONSCREEN = TRUE end return :ZoneTextDisplay gosub @InteriorCheck

if IS_IN_INTERIOR == FALSE then gosub @GetZoneText gosub @TownTextDisplay if or 05AD: ZONE_TEXT 05AD: ZONE_TEXT 05AD: ZONE_TEXT then 05A9: ZONE_TEXT = end if 05AD: ZONE_TEXT then 05A9: ZONE_TEXT = end gosub @DrawZoneText else gosub @InteriorTextDisplay end return :InteriorCheck 077E: get_active_interior_to INTO_INTERIOR if INTO_INTERIOR == 0 then IS_IN_INTERIOR = FALSE else IS_IN_INTERIOR = TRUE end return :GetZoneText 00A0: store_actor $PLAYER_ACTOR position_to PX PY PZ 0843: get_zone_at PX PY PZ nameA_to ZONE_TEXT // 8-byte string return :TownTextDisplay gosub @GetCurrentTown if CURRENT_TOWN == 0 then 05A9: TOWN_TEXT = 'CS' // Country Side end if CURRENT_TOWN == 1 then 05A9: TOWN_TEXT = 'LA' // Los Santos end if CURRENT_TOWN == 2 then 05A9: TOWN_TEXT = 'SF' // San Fierro end == 'LA' // Los Santos == 'SF' // San Fierro == 'VE' // Las Venturas 'CT' // Country == 'SAN_AND' // San Andreas 'CN' // Ocean

if CURRENT_TOWN == 3 then 05A9: TOWN_TEXT = 'VE' // Las Venturas end if 05AD: then 05A9: TOWN_TEXT = 'SAN_AND' // San Andreas end if 05AD: then 05A9: TOWN_TEXT = 'LA' // Los Santos end if 05AD: then 05A9: TOWN_TEXT = 'SF' // San Fierro end if 05AD: then 05A9: TOWN_TEXT = 'VE' // Las Venturas end gosub @DrawTownText return :DrawZoneText 03E0: unknown_text_draw_flag 1 033F: set_text_draw_letter_size 0.3 1.2 0342: enable_text_draw_centered 1 081C: draw_text_outline 2 RGBA 0 0 0 255 033E: set_draw_text_position 88.0 426.0 GXT ZONE_TEXT return :GetCurrentTown 0842: CURRENT_TOWN = player $PLAYER_CHAR town_number return :DrawTownText 03E0: unknown_text_draw_flag 1 033F: set_text_draw_letter_size 0.3 1.2 0342: enable_text_draw_centered 1 081C: draw_text_outline 2 RGBA 0 0 0 255 033E: set_draw_text_position 88.0 326.0 GXT TOWN_TEXT return :InteriorTextDisplay gosub @GetInteriorText gosub @DrawInteriorText // DrawZoneText as DrawInteriorText gosub @DrawTownText return :GetInteriorText 094B: INTERIOR_TEXT = get_active_interior_name_from_actor $PLAYER_ACTOR // 16-by te string return ZONE_TEXT == 'VE' // Las Venturas ZONE_TEXT == 'SF' // San Fierro ZONE_TEXT == 'LA' // Los Santos ZONE_TEXT == 'SAN_AND' // San Andreas

:DrawInteriorText 03E0: unknown_text_draw_flag 1 033F: set_text_draw_letter_size 0.3 1.2 0342: enable_text_draw_centered 1 081C: draw_text_outline 2 RGBA 0 0 0 255 033E: set_draw_text_position 88.0 426.0 GXT INTERIOR_TEXT return

You might also like