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

    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Online

      1. Gameplay
      2. Find Lobbies & Outlaws
      3. Help & Support
      4. Frontier Pursuits
    1. Crews & Posses

      1. Recruitment
    2. Events

    1. GTA Online

      1. DLC
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
      7. The Diamond Casino Heist
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    5. GTA IV

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

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

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

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    12. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

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

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    1. Off-Topic

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

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

    2. Forum Support

    3. Site Suggestions

Sign in to follow this  
kasakka

Getting objects from hashes?

Recommended Posts

kasakka

Can anyone explain to me how the hashes work in GTA V?

 

For example if I want to get the current weapon the player has, I can use the

WEAPON.GET_SELECTED_PED_WEAPON(player, weaponHash, true) 

to fill variable weaponHash. However, if I then want to get the weapon OBJECT, how do I do that? Is every object type (WEAPON, PLAYER, VEHICLE etc) supposed to have its own function to get an object from hash?

 

I'm trying to make a mod that allows you to toggle weapon attachments like silencer on and off but have difficulty getting the needed weapon and attachment (referred to as weapon component in the functions I think) objects. Getting the hashes seems to be easier.

Share this post


Link to post
Share on other sites
BoXz_modder

Can anyone explain to me how the hashes work in GTA V?

 

For example if I want to get the current weapon the player has, I can use the

WEAPON.GET_SELECTED_PED_WEAPON(player, weaponHash, true) 

to fill variable weaponHash. However, if I then want to get the weapon OBJECT, how do I do that? Is every object type (WEAPON, PLAYER, VEHICLE etc) supposed to have its own function to get an object from hash?

 

I'm trying to make a mod that allows you to toggle weapon attachments like silencer on and off but have difficulty getting the needed weapon and attachment (referred to as weapon component in the functions I think) objects. Getting the hashes seems to be easier.

 

What language are you writing in?

Share this post


Link to post
Share on other sites
sjaak327

 

Hash weaponPed playerPed= PLAYER::PLAYER_PED_ID();WEAPON::GET_CURRENT_PED_WEAPON(playerPed,&weapon,1);

Easy.

 

You already have the hash, that hash is used to do stuff with the weapon, like adding ammo, adding attachments etc.

 

To get the hash for say WEAPON_PISTOL you would simply do:

 

hash Pistol=GET_HASH_KEY("WEAPON_PISTOL");

 

That native works for Cars, Peds Weapons and objects.

Edited by sjaak327

Share this post


Link to post
Share on other sites
BenBaron

Hi,

 

I don't know if I understand you correctly, but internally all is masked using hashes instead of clear names. So for each native to spawn something you'd need the object hash (object in terms of vehicle, peds and objects), so we got for example Hash GAMEPLAY::GET_HASH_KEY(char*) to translate a "clear name" into a hash that can than be used. Always provided your "clear name" is an object name that translates into a hash that is actually in the game.

 

I didn't try, but in C++ I'd do something like this:

Ped playerPed = PLAYER::PLAYER_PED_ID();Hash weaponHash = WEAPON::GET_SELECTED_PED_WEAPON(playerPed);WEAPON::GIVE_WEAPON_COMPONENT_TO_PED(playerPed, weaponHash, weaponComponentHash);

Of course you'd need to test if weaponHash is actually a weapon and you need the suitable weaponComponentHash.

 

This is not tested, though but this is, what I'd try.

Share this post


Link to post
Share on other sites
thewhitehammer99

converted the above code to C# (looks like thats what op is using)

            int pedID = PLAYER_PED_ID();            int weapon = GET_SELECTED_PED_WEAPON(pedID);            GIVE_WEAPON_COMPONENT_TO_PED(pedID, weapon, /*weapon component hash*/);

edit - sorry :/ i stuffed up the code, but it should be right now :D

Edited by thewhitehammer99

Share this post


Link to post
Share on other sites
sjaak327

That's one step more than needed. GET_CURRENT_PED_WEAPON will get the weapon hash and can be directly used for GIVE_WEAPON_COMPONENT_TO_PED

 

 

Unless I am missing something, but isn't the selected weapon always the current weapon ?

Share this post


Link to post
Share on other sites
kasakka

So basically you don't need to get the weapon or attachment object first to do stuff with them, the hash is enough? So for example if in LUA I do

local playerPed = PLAYER.PLAYER_PED_ID()local player = PLAYER.GET_PLAYER_PED(playerPed)

Is the player variable now just a hash representing the player pedestrian?

Share this post


Link to post
Share on other sites
c39687

So basically you don't need to get the weapon or attachment object first to do stuff with them, the hash is enough? So for example if in LUA I do

local playerPed = PLAYER.PLAYER_PED_ID()local player = PLAYER.GET_PLAYER_PED(playerPed)

Is the player variable now just a hash representing the player pedestrian?

those functions return handles, not hashes... when you work with models for example you will have to take a model's string name and convert to hash value in order to use with natives.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • 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.