#2 Re: GTA Modding » wshield and SAMP » 24-03-2010 21:49

ok but this is not problem. I still dont see money in SAMP

#4 Re: GTA Modding » wshield and SAMP » 24-03-2010 18:07

I do not understand you can paste the revised section?

#5 Re: GTA Modding » wshield and SAMP » 24-03-2010 17:31

to nie ma nic wspólnego. Jeżeli nawet kasa jest na serwer to pokazywało by znaczek $

#6 Re: GTA Modding » wshield and SAMP » 24-03-2010 16:06

his is not texture. Ican load texture in MP. AN i can load texdraw but i cant display money :\

#7 Re: GTA Modding » wshield and SAMP » 24-03-2010 14:44

{$CLEO}

{
    Mod Name:   Windshield GUI

}

const
   PX                = 1@
   SX                = 2@
   PX2               = 3@
   SX2               = 4@
   PX3               = 5@
   SX3               = 6@
   PL_HEALTH         = 7@
   PL_MAX_HEALTH     = 8@
   PL_ARMOUR         = 9@
   PL_MAX_ARMOUR     = 10@
   BREATH_LVL        = 11@
   MAX_BREATH_LVL    = 12@
   CURRENT_WEAP      = 13@
   WEAP_AMMO         = 14@
   CURRENT_SLOT      = 15@
   AMMO_CLIP         = 16@
   AMMO_OTH          = 17@
   IS_WEAP_FOUND     = 18@
   PREV_WEAP         = 19@
   NEXT_WEAP         = 20@
   STATUS            = 21@
   STATUS2           = 22@
   WEAP_SEL          = 23@
   WEAP_MODEL        = 24@
   WANTED_LVL        = 25@
   PL_MONEY          = 26@
   CUR_HOURS         = 27@
   CUR_MINS          = 28@
   ALPHA             = 29@
   MAX_AMMO_CLIP     = 30@
   PL_VEHICLE        = 31@
///-------------------------
   STRING            = $5
   STRING2           = $30
///-------------------------
   VEHICLE_TEXT      = 0@s
///-------------------------
   WIDESCREEN_STATUS = $36
   IS_IN_WIDESCREEN  = $76
   ENTER_STATUS      = $77
   IS_OPENING_DOOR   = $78
   IS_IN_CUTSCENE    = $79
   HUD_MODE          = $80
   IS_HUD_ENABLED    = $81
end

IS_IN_WIDESCREEN = FALSE
IS_OPENING_DOOR = FALSE
IS_IN_CUTSCENE = FALSE
IS_HUD_ENABLED = TRUE
IS_WEAP_FOUND = FALSE

0000: Starting code...

gosub @LoadTxdDictionary
gosub @RemoveOnScreenTexts


while true
    wait 0
    gosub @WideScreenCheck
    gosub @OpenDoorCheck
    gosub @CutsceneCheck
    gosub @HudEnabledCheck
   
    if  or
        IS_IN_WIDESCREEN == TRUE
        IS_OPENING_DOOR == TRUE
        IS_IN_CUTSCENE == TRUE
        IS_HUD_ENABLED == FALSE
    then
        03F0: enable_text_draw 0
    else
        03F0: enable_text_draw 1
       
        gosub @HealthBarDisplay
        gosub @ArmourBarDisplay
        gosub @BreathBarDisplay
        gosub @WeapAmmoDisplay
        gosub @WeapIconDisplay
        gosub @WantedStarDisplay
        gosub @MoneyTextDisplay
        gosub @TimeTextDisplay
        gosub @VehicleTextDisplay

    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 this smile
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

:HudEnabledCheck
0A8D: HUD_MODE = read_memory 0xBA6769 size 4 virtual_protect 0
if
    HUD_MODE == 0
then
    IS_HUD_ENABLED = FALSE
else
    IS_HUD_ENABLED = TRUE
end
return

:HealthBarDisplay
gosub @GetPlayerHealth

if
    PL_HEALTH > 0
then
    gosub @GetPlayerMaxHealth
    gosub @GetHealthMath
    gosub @DrawHealthBar
   
end
return

:GetPlayerHealth
PL_HEALTH = Actor.Health($PLAYER_ACTOR)
return

:GetPlayerMaxHealth
0653: PL_MAX_HEALTH = float_stat 24
PL_MAX_HEALTH /= 5.69
return

:GetHealthMath
008D: PL_HEALTH = integer PL_HEALTH to_float
PX = 549.0
SX = 100.0
if
0025:   PL_MAX_HEALTH > PL_HEALTH // (float)
then
    PX = 599.0
    0073: PL_MAX_HEALTH /= PL_HEALTH // (float)
    0073: SX /= PL_MAX_HEALTH // (float)
    0087: PL_HEALTH = SX // (float)
    PL_HEALTH /= 2.0
    0063: PX -= PL_HEALTH // (float)
end
return

:DrawHealthBar
03E3: set_texture_to_be_drawn_antialiased 1
038E: draw_box_position PX 401.0 size SX 8.0 RGBA 0 255 0 100
return

:ArmourBarDisplay
gosub @GetPlayerArmour

if
    PL_ARMOUR > 0
then
    gosub @GetPlayerMaxArmour
    gosub @GetArmourMath
    gosub @DrawArmourBar
   
end
return

:GetPlayerArmour
04DD: PL_ARMOUR = actor $PLAYER_ACTOR armour
return

:GetPlayerMaxArmour
0945: get_player $PLAYER_CHAR max_armour_to PL_MAX_ARMOUR
008D: PL_MAX_ARMOUR = integer PL_MAX_ARMOUR to_float
return

:GetArmourMath
008D: PL_ARMOUR = integer PL_ARMOUR to_float
PX2 = 549.0
SX2 = 100.0
if
0025:   PL_MAX_ARMOUR > PL_ARMOUR // (float)
then
    PX2 = 599.0
    0073: PL_MAX_ARMOUR /= PL_ARMOUR // (float)
    0073: SX2 /= PL_MAX_ARMOUR // (float)
    0087: PL_ARMOUR = SX2 // (float)
    PL_ARMOUR /= 2.0
    0063: PX2 -= PL_ARMOUR // (float)
end
return

:DrawArmourBar
03E3: set_texture_to_be_drawn_antialiased 1
038E: draw_box_position PX2 418.0 size SX2 8.0 RGBA 255 255 255 100
return

:BreathBarDisplay
gosub @GetPlayerBreath

if  and
    BREATH_LVL > 0
0965:   actor $PLAYER_ACTOR swimming
then
    gosub @GetPlayerMaxBreath
    gosub @GetBreathMath
    gosub @DrawBreathBar
   
end
return

:GetPlayerBreath
0652: BREATH_LVL = integer_stat 4080

:GetPlayerMaxBreath
0653: MAX_BREATH_LVL = float_stat 225
MAX_BREATH_LVL *= 1.5
MAX_BREATH_LVL += 1150.0
return

:GetBreathMath
PX3 = 549.0
SX3 = 100.0
if
0025:   MAX_BREATH_LVL > BREATH_LVL // (float)
then
    PX3 = 599.0
    0073: MAX_BREATH_LVL /= BREATH_LVL // (float)
    0073: SX3 /= MAX_BREATH_LVL // (float)
    0087: BREATH_LVL = SX3 // (float)
    BREATH_LVL /= 2.0
    0063: PX3 -= BREATH_LVL // (float)
end
return

:DrawBreathBar
03E3: set_texture_to_be_drawn_antialiased 1
038E: draw_box_position PX3 384.0 size SX3 8.0 RGBA 150 200 255 120
return

:WeapAmmoDisplay
gosub @GetCurrentWeap

if  and
    CURRENT_WEAP > 15
    not CURRENT_WEAP == 40
    not CURRENT_WEAP > 43
then
    gosub @GetCurrentWeapAmmo
   
    if  or
        CURRENT_WEAP == 16
        CURRENT_WEAP == 17
        CURRENT_WEAP == 18
        CURRENT_WEAP == 35
        CURRENT_WEAP == 36
        CURRENT_WEAP == 39
    then
        gosub @DrawWeapAmmoOne

    else
        gosub @GetCurrentSlot
       
        0A96: 0@ = actor $PLAYER_ACTOR struct
        000A: 0@ += 0x5A0
        CURRENT_SLOT *= 0x1C
        005A: 0@ += CURRENT_SLOT // (int)
        000A: 0@ += 0x8
        0A8D: AMMO_CLIP = read_memory 0@ size 4 virtual_protect 0 // GetAmmoClip
        0062: WEAP_AMMO -= AMMO_CLIP // (int)
        0085: AMMO_OTH = WEAP_AMMO // (int)
        gosub @DrawWeapAmmoTwo
       
    end
end
return

:DrawWeapAmmoOne
0341: unknown_text_draw_flag 0
060D: draw_text_shadow 1 color_RGBA 0 0 0 255
0342: enable_text_draw_centered 1
03E0: unknown_text_draw_flag 1
0340: set_text_draw_RGBA 255 255 255 190
033F: set_text_draw_letter_size 0.4 1.2
045A: draw_text_1number 578.0 315.0 GXT 'NUMBER' number WEAP_AMMO  // ~1~
return

:DrawWeapAmmoTwo
0341: unknown_text_draw_flag 0
060D: draw_text_shadow 1 color_RGBA 0 0 0 255
0342: enable_text_draw_centered 1
03E0: unknown_text_draw_flag 1
0340: set_text_draw_RGBA 255 255 255 190
033F: set_text_draw_letter_size 0.4 1.2
045B: draw_text_2numbers 578.0 315.0 GXT 'SCOREB' numbers AMMO_CLIP AMMO_OTH  // ~1~-~1~
return

:WeapIconDisplay
gosub @GetCurrentWeap
gosub @GetPrevWeap
gosub @GetNextWeap
gosub @RemoveWeap
gosub @WeapFoundCheck
gosub @DrawWeapIcon
return

:DrawWeapIcon
CURRENT_WEAP += 1
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture CURRENT_WEAP position 579.0 303.0 size 45.0 45.0 RGBA 150 150 150 150
if
    IS_WEAP_FOUND == TRUE
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture PREV_WEAP position 579.0 264.0 size 30.0 30.0 RGBA 150 150 150 90
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture NEXT_WEAP position 579.0 342.0 size 30.0 30.0 RGBA 150 150 150 90
end
return

:GetPrevWeap
if
    STATUS == 0
then
    gosub @GetCurrentSlot
   
    CURRENT_SLOT += 1
end
CURRENT_SLOT -= 1
if
    not CURRENT_SLOT > 0
then
    CURRENT_SLOT = 13
end
gosub @GetAllWeapData

if  or
    CURRENT_SLOT == 1
    not WEAP_MODEL == -1
then
    0085: PREV_WEAP = WEAP_SEL // (int)
    PREV_WEAP += 1
    STATUS = 0
else
    STATUS = 1
    jump @GetPrevWeap // this will increase the speed
end
return

:GetNextWeap
if
    STATUS2 == 0
then
    gosub @GetCurrentSlot
   
    CURRENT_SLOT += 1
end
CURRENT_SLOT += 1
if
    CURRENT_SLOT > 13
then
    CURRENT_SLOT = 1
end
gosub @GetAllWeapData

if  or
    CURRENT_SLOT == 1
    not WEAP_MODEL == -1
then
    0085: NEXT_WEAP = WEAP_SEL // (int)
    NEXT_WEAP += 1
    STATUS2 = 0
else
    STATUS2 = 1
    jump @GetNextWeap // this will increase the speed
end
return

:GetAllWeapData
04B8: get_weapon_data_from_actor $PLAYER_ACTOR weapon_group CURRENT_SLOT weapon WEAP_SEL ammo WEAP_AMMO model WEAP_MODEL
return

:RemoveWeap
gosub @GetCurrentWeap

0085: 0@ = CURRENT_WEAP // (int)
0012: 0@ *= 0x70
000A: 0@ += 0xC8AAB8
000A: 0@ += 0x20
0A8D: MAX_AMMO_CLIP = read_memory 0@ size 4 virtual_protect 0
if
    MAX_AMMO_CLIP > 0
then
    gosub @GetCurrentWeapAmmo
   
    if
        WEAP_AMMO == 0
    then
        0555: remove_weapon CURRENT_WEAP from_actor $PLAYER_ACTOR
    end
end
return

:WeapFoundCheck
if
803B:   not  CURRENT_WEAP == WEAP_SEL // (int)
then
    IS_WEAP_FOUND = TRUE
else
    IS_WEAP_FOUND = FALSE
end
return

:GetCurrentWeap
0470: CURRENT_WEAP = actor $PLAYER_ACTOR current_weapon
return

:GetCurrentWeapAmmo
041A: WEAP_AMMO = actor $PLAYER_ACTOR weapon CURRENT_WEAP ammo
return

:GetCurrentSlot
0A96: 0@ = actor $PLAYER_ACTOR struct
000A: 0@ += 0x718
0A8D: CURRENT_SLOT = read_memory 0@ size 1 virtual_protect 0
return

:WantedStarDisplay
gosub @GetCurrentWantedlvl
gosub @DrawWantedStar
return

:GetCurrentWantedlvl
WANTED_LVL = Player.WantedLevel($PLAYER_CHAR)
return

:DrawWantedStar
if
    WANTED_LVL > 0
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture 48 position 620.0 353.0 size 20.0 20.0 RGBA 150 150 150 120
end
if
    WANTED_LVL > 1
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture 48 position 620.0 333.0 size 20.0 20.0 RGBA 150 150 150 120
end
if
    WANTED_LVL > 2
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture 48 position 620.0 313.0 size 20.0 20.0 RGBA 150 150 150 120
end
if
    WANTED_LVL > 3
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture 48 position 620.0 293.0 size 20.0 20.0 RGBA 150 150 150 120
end
if
    WANTED_LVL > 4
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture 48 position 620.0 273.0 size 20.0 20.0 RGBA 150 150 150 120
end
if
    WANTED_LVL > 5
then
    03E3: set_texture_to_be_drawn_antialiased 1
    038D: draw_texture 48 position 620.0 253.0 size 20.0 20.0 RGBA 150 150 150 120
end
return

:MoneyTextDisplay
PL_MONEY = Player.Money($PLAYER_CHAR)
if
  PL_MONEY > -1
then
    0340: set_text_draw_RGBA 0 255 0 120
else
    0340: set_text_draw_RGBA 255 0 0 120
    PL_MONEY *= -1
end
gosub @DrawMoneyText
return

:DrawMoneyText
03E0: unknown_text_draw_flag 1
033F: set_text_draw_letter_size 0.45 1.3
03E4: enable_text_draw_align_right 1
060D: draw_text_shadow 1 color_RGBA 0 0 0 255
045A: draw_text_1number 474.0 394.0 GXT 'AUICASH' number PL_MONEY
return

:TimeTextDisplay
00BF: CUR_HOURS = current_time_hours, CUR_MINS = current_time_minutes
if
    10 > CUR_MINS
then
    gosub @DrawTimeTextOne
else
    gosub @DrawTimeTextTwo
end
return

:DrawTimeTextOne
03E0: unknown_text_draw_flag 1
033F: set_text_draw_letter_size 0.45 1.3
03E4: enable_text_draw_align_right 1
060D: draw_text_shadow 1 color_RGBA 0 0 0 255
0340: set_text_draw_RGBA 255 255 255 140
045B: draw_text_2numbers 474.0 412.0 GXT 'TIME_0' numbers CUR_HOURS CUR_MINS  // ~1~:0~1~
return

:DrawTimeTextTwo
03E0: unknown_text_draw_flag 1
033F: set_text_draw_letter_size 0.45 1.3
03E4: enable_text_draw_align_right 1
060D: draw_text_shadow 1 color_RGBA 0 0 0 255
0340: set_text_draw_RGBA 255 255 255 140
045B: draw_text_2numbers 474.0 412.0 GXT 'TIME' numbers CUR_HOURS CUR_MINS  // ~1~:~1~
return

:VehicleTextDisplay
if
00DF:   actor $PLAYER_ACTOR driving
then
    03C0: PL_VEHICLE = actor $PLAYER_ACTOR car
    0441: 0@ = car PL_VEHICLE model
    000E: 0@ -= 400
    0012: 0@ *= 0x308
    000A: 0@ += 0xB1F650
    000A: 0@ += 0x36
    0A8D: STRING = read_memory 0@ size 4 virtual_protect 0 // I found this smile
    000A: 0@ += 0x4
    0A8D: STRING2 = read_memory 0@ size 3 virtual_protect 0
    0AB1: call_scm_func @SubString 2 STRING STRING2
end
return

:SubString
gosub @DrawVehicleText
0AB2: ret 0

:DrawVehicleText
03E0: unknown_text_draw_flag 1
033F: set_text_draw_letter_size 0.3 1.2
081C: draw_text_outline 2 RGBA 0 0 0 255
033E: set_draw_text_position 142.0 376.0 GXT VEHICLE_TEXT
return

:LoadTxdDictionary
0391: release_txd_dictionary
0390: load_txd_dictionary 'WSHIELD'
038F: load_texture "FIST" as 1 // Load dictionary with 0390 first
038F: load_texture "KNUCKLS" as 2 // Load dictionary with 0390 first
038F: load_texture "GLFCLUB" as 3 // Load dictionary with 0390 first
038F: load_texture "NSTICK" as 4 // Load dictionary with 0390 first
038F: load_texture "KNIFE" as 5 // Load dictionary with 0390 first
038F: load_texture "BASBALB" as 6 // Load dictionary with 0390 first
038F: load_texture "SHOVEL" as 7 // Load dictionary with 0390 first
038F: load_texture "POOLCUE" as 8 // Load dictionary with 0390 first
038F: load_texture "KATANA" as 9 // Load dictionary with 0390 first
038F: load_texture "CHAINSW" as 10 // Load dictionary with 0390 first
038F: load_texture "DILDO" as 11 // Load dictionary with 0390 first
038F: load_texture "DILDO2" as 12 // Load dictionary with 0390 first
038F: load_texture "VIBE" as 13 // Load dictionary with 0390 first
038F: load_texture "VIBE2" as 14 // Load dictionary with 0390 first
038F: load_texture "FLOWERS" as 15 // Load dictionary with 0390 first
038F: load_texture "CANE" as 16 // Load dictionary with 0390 first
038F: load_texture "GRENADE" as 17 // Load dictionary with 0390 first
038F: load_texture "TEARGAS" as 18 // Load dictionary with 0390 first
038F: load_texture "MOLOTOV" as 19 // Load dictionary with 0390 first
038F: load_texture "PISTOL" as 23 // Load dictionary with 0390 first
038F: load_texture "SILENCD" as 24 // Load dictionary with 0390 first
038F: load_texture "DEAGLE" as 25 // Load dictionary with 0390 first
038F: load_texture "SHOTGUN" as 26 // Load dictionary with 0390 first
038F: load_texture "SAWNOFF" as 27 // Load dictionary with 0390 first
038F: load_texture "SPAS" as 28 // Load dictionary with 0390 first
038F: load_texture "UZI" as 29 // Load dictionary with 0390 first
038F: load_texture "MP5" as 30 // Load dictionary with 0390 first
038F: load_texture "AK47" as 31 // Load dictionary with 0390 first
038F: load_texture "M4" as 32 // Load dictionary with 0390 first
038F: load_texture "TEC9" as 33 // Load dictionary with 0390 first
038F: load_texture "CUNTGUN" as 34 // Load dictionary with 0390 first
038F: load_texture "SNIPER" as 35 // Load dictionary with 0390 first
038F: load_texture "ROCKETL" as 36 // Load dictionary with 0390 first
038F: load_texture "HSEEKER" as 37 // Load dictionary with 0390 first
038F: load_texture "FLAMET" as 38 // Load dictionary with 0390 first
038F: load_texture "MINIGUN" as 39 // Load dictionary with 0390 first
038F: load_texture "SATCHEL" as 40 // Load dictionary with 0390 first
038F: load_texture "DETNATR" as 41 // Load dictionary with 0390 first
038F: load_texture "SPRAYC" as 42 // Load dictionary with 0390 first
038F: load_texture "FXTING" as 43 // Load dictionary with 0390 first
038F: load_texture "CAMERA" as 44 // Load dictionary with 0390 first
038F: load_texture "NVGOGLS" as 45 // Load dictionary with 0390 first
038F: load_texture "IRGOGLS" as 46 // Load dictionary with 0390 first
038F: load_texture "PARCHUT" as 47 // Load dictionary with 0390 first
038F: load_texture "WSTAR" as 48 // Load dictionary with 0390 first
return

:RemoveOnScreenTexts
09BA: show_entered_zone_name 0
0826: enable_hud 0
09B9: show_entered_car_name 0
return

#8 Re: GTA Modding » wshield and SAMP » 23-03-2010 22:49

but part of the script works.

#9 GTA Modding » wshield and SAMP » 23-03-2010 20:45

convers
Replies: 19

Hi, i find this cleo mod http://www.gtaforums.com/index.php?show … 15203&st=0.

This mod work in gta sa single player. but I need to work on SAMP. Can u tell me why dont display money and ammo in SAMP ?

Board footer

Powered by FluxBB