Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Tuners
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    2. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    3. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    4. Bugs*

    1. Grand Theft Auto Series

      1. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    6. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

      1. GTANet 20th Anniversary
    2. Support

    3. Suggestions

Custom Sniper Scope


ThirteenAG
 Share

Recommended Posts

I made a proper texture draw function, when i was working on gasoline and zonetext mods, but i didn't found a way to use it, and decided to make a little tutorial. There's what you need to know to make a texture mod:
1) TXD. I just downloaded dalva's custom scope DSS.TXD. Then, using txd workshop, i converted it to vice city format, and left only one scope texture.
1dd491de4ba0b7ab51b3c73de1c93f2b.jpg

2)CLEO. Well, draw function itself:

CODE :draw_texture
{example:
05F5: call_scm_func @draw_texture params 9 _and it is - position 220.0 170.0 size 191.25 170.0 RGBA 255 255 255 255 texture_id 1
}
05E0: [email protected] = read_memory 0xA0FD04 size 4 virtual_protect 1 //X 1920
05E0: [email protected] = read_memory 0xA0FD08 size 4 virtual_protect 1 //Y 1080
0093: [email protected] = integer [email protected] to_float
0093: [email protected] = integer [email protected] to_float
//coordX = sa_coordX*(currentResX/640.0)
0015: [email protected] /= 640.0 // currentResX/640.0
0069: [email protected] *= [email protected] // floating-point values
0015: [email protected] /= 448.0 // currentResY/448.0
0069: [email protected] *= [email protected] // floating-point values
0069: [email protected] *= [email protected] // floating-point values
0069: [email protected] *= [email protected] // floating-point values
03F0: enable_text_draw 1
038D: draw_texture [email protected] position [email protected] [email protected] size [email protected] [email protected] RGBA [email protected] [email protected] [email protected] [email protected]
05F6: ret 0

Position and size values are independent to game resolution, just like in SA. They can be 0.0 - 640.0 for X, and 0.0 - 448.0 for Y.

And the full code:

CODE {$CLEO}
0000:
0390: load_txd_dictionary 'DSS'
038F: load_texture 'SCOPE' as 1
while true
wait 0
gosub @AimingCheck

if
[email protected] == true
then
if
02D7: player $PLAYER_CHAR currentweapon == 28 //#SNIPER
then
05DF: write_memory 0x5786A0 size 4 value 0x90 virtual_protect 1
05DF: write_memory 0x5786A0 size 2 value 0x28C2 virtual_protect 1
05DF: write_memory 0x5786A2 size 1 value 0x00 virtual_protect 1
05F5: call_scm_func @draw_texture params 9 _and it is - position 320.0 224.0 size 640.0 448.0 RGBA 255 255 255 255 texture_id 1
end
else
05E0: [email protected] = read_memory 0x5786A0 size 1 virtual_protect 1
if
[email protected] <> 0x8B
then
05DF: write_memory 0x5786A0 size 4 value 0x0424448B virtual_protect 1 //restore CTexture__Draw
end
end

end


:draw_texture
{example:
05F5: call_scm_func @draw_texture params 9 _and it is - position 220.0 170.0 size 191.25 170.0 RGBA 255 255 255 255 texture_id 1
}
05E0: [email protected] = read_memory 0xA0FD04 size 4 virtual_protect 1 //X 1920
05E0: [email protected] = read_memory 0xA0FD08 size 4 virtual_protect 1 //Y 1080
0093: [email protected] = integer [email protected] to_float
0093: [email protected] = integer [email protected] to_float
//coordX = sa_coordX*(currentResX/640.0)
0015: [email protected] /= 640.0 // currentResX/640.0
0069: [email protected] *= [email protected] // floating-point values
0015: [email protected] /= 448.0 // currentResY/448.0
0069: [email protected] *= [email protected] // floating-point values
0069: [email protected] *= [email protected] // floating-point values
0069: [email protected] *= [email protected] // floating-point values
03F0: enable_text_draw 1
038D: draw_texture [email protected] position [email protected] [email protected] size [email protected] [email protected] RGBA [email protected] [email protected] [email protected] [email protected]
05F6: ret 0

:AimingCheck
05E6: [email protected] = actor $PLAYER_ACTOR struct
[email protected] += 0x244
05E0: [email protected] = read_memory [email protected] size 1 virtual_protect 1
if [email protected] <> 0x0C
then
[email protected] = false
else
[email protected] = true
end
return

9dbbfcd78be2fce5afdab0437c651721.jpeg

Download example[full mod below] - [VC]Custom_Sniper_Scope.zip

Edited by TJGM
Link to comment
Share on other sites

  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.