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

    2. News

    1. Red Dead Redemption 2

      1. News
      2. Red Dead Online
      3. The Armadillo Inn
    1. GTA Online

      1. After Hours
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Crews

      1. Events
      2. Recruitment
    1. Grand Theft Auto Series

    2. GTA Next

    3. GTA V

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

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

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

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

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

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

      1. GTA Advance
      2. GTA 2
      3. GTA
    12. 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. Forum Support

    2. Site Suggestions

Alexander Blade

[V] Script/Native Documentation and Research

Recommended Posts

NTAuthority

Every windows machine capable of running GTA V comes with .net framework installed.

Not every version, however.

 

Windows Vista ships 3.0, 7 ships 3.5, and 8+ only ship 4.5 by default. If one would target the 4.0 CLR, Vista/7 users would need an additional installation; and if one would target the 2.0 CLR 8.x users would need to install that CLR as well.

 

 

Also .Net just blows everything else out of the water imo (in ease of use and libraries).

So much stuff you don't have to worry about, you just need to worry about what your script will actually do.

And in the meantime you're using parts of the BCL/FCL that aren't supposed to be used in a game at all, or worse: doing so on the main thread/doing bad things with attempting to multithread such.

 

 

"plus eventually the game will be playable on *nix through wine, and using the scripthook.net bindings on wine is not easy"

Even if they manage to run GTA V on linux, there's a big chance scripthook won't work. And if it does, there's mono which comes with the most popular distros.

Native hooks overwriting code work perfectly fine on Wine, and Mono won't even remotely be able to run /clr-compiled code, and yet doesn't ship with either of the two most popular desktop distributions.

 

Oh, and a .NET 'script hook' could be done with embedded Mono too, which a) resolves it not working on Wine and b) has all dependencies shipped locally. Sadly, most people are too ingrained with /clr to ever think about the consequences (including forcibly depending on the separate CRT installation for that VS version, which is a side-by-side mess) of doing so.

 

 

gta iv under wine still runs on 5fps using good hardware , the only way to play it on wine was to use gallium-nine drivers with patched wine

+ this is a pile of rubbish, a GTX 650 Ti can run it using WineD3D (not some weird state tracker that only works with broken and slow open source Mesa/Gallium/DRI driver stack) using the closed NVIDIA drivers at 30-40 fps on a 'normal' resolution with shadows disabled, and the Wine command buffer patch would only increase that performance.

 

(and really, sh*tty IPB, breaking double posting and merging the posts and whining about a quote limit due to your forcibly-imposed merge? retarded forum software, really...)

Edited by NTAuthority

Share this post


Link to post
Share on other sites
Aleph-Zero

"plus eventually the game will be playable on *nix through wine, and using the scripthook.net bindings on wine is not easy"

Even if they manage to run GTA V on linux, there's a big chance scripthook won't work. And if it does, there's mono which comes with the most popular distros.

Native hooks overwriting code work perfectly fine on Wine, and Mono won't even remotely be able to run /clr-compiled code, and yet doesn't ship with either of the two most popular desktop distributions.

 

Last time i checked Ubuntu came with Mono pre-installed but looks like they stopped doing it in the newest versions. Still, it's in the repositories. Literally just a command away from being installed.

Share this post


Link to post
Share on other sites
XeClutch

 

Every windows machine capable of running GTA V comes with .net framework installed.

Not every version, however.

 

Windows Vista ships 3.0, 7 ships 3.5, and 8+ only ship 4.5 by default. If one would target the 4.0 CLR, Vista/7 users would need an additional installation; and if one would target the 2.0 CLR 8.x users would need to install that CLR as well.

If they have Windows Update installed then it would automatically update itself.

Share this post


Link to post
Share on other sites
Alexander Blade

Let's stick to the topic plz

Share this post


Link to post
Share on other sites
Rugz007

So which language is gta 5 modding is going to be ?

Share this post


Link to post
Share on other sites
aru

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

Share this post


Link to post
Share on other sites
Alexander Blade

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

http://gtaforums.com/topic/717612-scriptnative-documentation-and-research/page-2?do=findComment&comment=1065742778

 

I agree that as the result we can end up with large JS framework for GTA V , the goal of JS must be in using classes and not in using natives , like it was for .net script hook , thats why in order to get there we must have at least half of the natives fully described and verified , we don't have this now . For now focus is on natives and C++ perfectly suits the task , and the header with natives can be easily reparsed into another language when there will be enough natives to reparse from .

Share this post


Link to post
Share on other sites
aru

http://gtaforums.com/topic/717612-scriptnative-documentation-and-research/page-2?do=findComment&comment=1065742778

 

 

 

I agree that as the result we can end up with large JS framework for GTA V , the goal of JS must be in using classes and not in using natives , like it was for .net script hook , thats why in order to get there we must have at least half of the natives fully described and verified , we don't have this now . For now focus is on natives and C++ perfectly suits the task , and the header with natives can be easily reparsed into another language when there will be enough natives to reparse from .

 

 

I agree that the focus we have now is correct -- we should primarily be focusing on research and not the implementation.

 

As for the scripting engine / hierarchy / etc, the idea is good -- I like it. However, I also think the general API structure should be the same regardless of the language we use for scripting. i.e., for JS, you may do:

var vehicle = new Vehicle(...);Player.ped.setIntoVehicle(vehicle, 1);

In C#, the API would be:

var vehicle = new Vehicle(...);Player.Ped.SetIntoVehicle(vehicle, 1);

in C++, the final interfacing API should be just be the following. We could still have the base low level API (as in your .h file), but the ideal point of interaction should just be:

shared_ptr<Vehicle> vehicle = new Vehicle(...);Player::getPed().setIntoVehicle(vehicle, 1);

So, we end up with one set of documentation, one unified API, regardless of language. Of course, it would take considerable effort from the interface makers to conform to this structure, but if its well established enough, I think we can get buy-in from everyone. Since this is purely a design exercise, we might as well start writing up a Wiki doc detailing such an object oriented API.

Edited by aru

Share this post


Link to post
Share on other sites
NTAuthority
	void NETWORK_SET_KEEP_FOCUSPOINT(Any p0, Any p1); // 0x075321B5

this seems wrong, why would a function with that name call rage::snJoinSessionTask::snJoinSessionTask in functions called by it?

 

(hm, it actually does seem right from its script usage almost... I guess it's just my PPC reading being wrong, or something wrongly being hashed/named somewhere)

Edited by NTAuthority

Share this post


Link to post
Share on other sites
Alexander Blade

we might as well start writing up a Wiki doc detailing such an object oriented API.

The only one question is when gtamodding wiki will be open for editing

 

 

void NETWORK_SET_KEEP_FOCUSPOINT(Any p0, Any p1); // 0x075321B5

this seems wrong, why would a function with that name call rage::snJoinSessionTask::snJoinSessionTask in functions called by it?

 

(hm, it actually does seem right from its script usage almost... I guess it's just my PPC reading being wrong, or something wrongly being hashed/named somewhere)

 

Just looked there , name is not correct anyway because native is Voice related

Edited by Alexander Blade

Share this post


Link to post
Share on other sites
identitymatrix

 

we might as well start writing up a Wiki doc detailing such an object oriented API.

The only one question is when gtamodding wiki will be open for editing

 

 

void NETWORK_SET_KEEP_FOCUSPOINT(Any p0, Any p1); // 0x075321B5

this seems wrong, why would a function with that name call rage::snJoinSessionTask::snJoinSessionTask in functions called by it?

 

(hm, it actually does seem right from its script usage almost... I guess it's just my PPC reading being wrong, or something wrongly being hashed/named somewhere)

 

Just looked there , name is not correct anyway because native is Voice related

 

 

Maybe we need ask?

Share this post


Link to post
Share on other sites
identitymatrix

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

I agree, JavaScript would be a great scripting language, but some of the best scripters aren't familiar with it as it is primarily a web language. I just hope the clever guys will make some language wrappers, because I'm screwed if I know how to do that. What ever happened to Hazardx. Has he left the GTA IV modding scene?

Share this post


Link to post
Share on other sites
Alexander Blade

Has he left the GTA IV modding scene?

 

You can write him on twitter and ask

https://twitter.com/codeapparat

Share this post


Link to post
Share on other sites
identitymatrix

 

Has he left the GTA IV modding scene?

 

You can write him on twitter and ask

https://twitter.com/codeapparat

 

I had in the past, but he doesn't answer anymore. Without him .net scripting wouldn't be and that would be a shame. Last time he answered, it was about 1.5 years ago saying something on lines of:

 

" I got bored and I moved on to new things. I'd like to work on GTA V, but we'll see. "

Share this post


Link to post
Share on other sites
byteMe420

 

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

I agree, JavaScript would be a great scripting language, but some of the best scripters aren't familiar with it as it is primarily a web language. I just hope the clever guys will make some language wrappers, because I'm screwed if I know how to do that. What ever happened to Hazardx. Has he left the GTA IV modding scene?

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

Edited by byteMe420

Share this post


Link to post
Share on other sites
identitymatrix

 

 

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

I agree, JavaScript would be a great scripting language, but some of the best scripters aren't familiar with it as it is primarily a web language. I just hope the clever guys will make some language wrappers, because I'm screwed if I know how to do that. What ever happened to Hazardx. Has he left the GTA IV modding scene?

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

 

What you mean 'MulleDK19' guy? He never bothered releasing the update he did. I have been waiting years for him to release it, but sadly I don't think he will. He also never answers my comments so I can't get any hints about what is happening with it.

Share this post


Link to post
Share on other sites
Alexander Blade

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

MP3 has a different branch of R* script engine , it's an evolution of the one from GTA IV , while GTA V is using an RDR one as the base with specific for GTA features , it has nothing to do with MP3 at all .

Edited by Alexander Blade

Share this post


Link to post
Share on other sites
byteMe420

 

 

 

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

I agree, JavaScript would be a great scripting language, but some of the best scripters aren't familiar with it as it is primarily a web language. I just hope the clever guys will make some language wrappers, because I'm screwed if I know how to do that. What ever happened to Hazardx. Has he left the GTA IV modding scene?

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

 

What you mean 'MulleDK19' guy? He never bothered releasing the update he did. I have been waiting years for him to release it, but sadly I don't think he will. He also never answers my comments so I can't get any hints about what is happening with it.

 

Yeah not sure, I know he is always adding stuff to it so I think when V comes out he will release it and be done with it. He probably doesn't want to do multiple releases or something.

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

MP3 has a different branch of R* script engine , it's an evolution of the one from GTA IV , while GTA V is using an RDR one as the base with specific for GTA features , it has nothing to do with MP3 at all .

 

That is nice to know as I really liked the RDR engine (was playing yesterday actually). Yeah I guess he was doing it out of boredom or for practice to be familiar for V. He was able to identify hashed gta v natives from MP3 native names so it actually has been helping his research.

Edited by byteMe420

Share this post


Link to post
Share on other sites
identitymatrix

 

 

 

 

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

I agree, JavaScript would be a great scripting language, but some of the best scripters aren't familiar with it as it is primarily a web language. I just hope the clever guys will make some language wrappers, because I'm screwed if I know how to do that. What ever happened to Hazardx. Has he left the GTA IV modding scene?

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

 

What you mean 'MulleDK19' guy? He never bothered releasing the update he did. I have been waiting years for him to release it, but sadly I don't think he will. He also never answers my comments so I can't get any hints about what is happening with it.

 

Yeah not sure, I know he is always adding stuff to it so I think when V comes out he will release it and be done with it. He probably doesn't want to do multiple releases or something.

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

MP3 has a different branch of R* script engine , it's an evolution of the one from GTA IV , while GTA V is using an RDR one as the base with specific for GTA features , it has nothing to do with MP3 at all .

 

That is nice to know as I really liked the RDR engine (was playing yesterday actually). Yeah I guess he was doing it out of boredom or for practice to be familiar for V. He was able to identify hashed gta v natives from MP3 native names so it actually has been helping his research.

 

How do you know this? This guy stopped updating the thread where he took charge. Last comment on that post is someone asking for and update a year or so ago.

Share this post


Link to post
Share on other sites
byteMe420

 

 

 

 

 

 

So which language is gta 5 modding is going to be ?

 

I vote JavaScript on V8.

 

You may think I'm joking -- I'm actually semi-serious... I personally think we should evolve as modders, not repeat the same hack. ScriptHook was an evolution from our old modding ways of monkey patching raw SCM assembly. The only way this road should lead is forward.

 

I agree, JavaScript would be a great scripting language, but some of the best scripters aren't familiar with it as it is primarily a web language. I just hope the clever guys will make some language wrappers, because I'm screwed if I know how to do that. What ever happened to Hazardx. Has he left the GTA IV modding scene?

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

What you mean 'MulleDK19' guy? He never bothered releasing the update he did. I have been waiting years for him to release it, but sadly I don't think he will. He also never answers my comments so I can't get any hints about what is happening with it.

 

Yeah not sure, I know he is always adding stuff to it so I think when V comes out he will release it and be done with it. He probably doesn't want to do multiple releases or something.

 

HazardX handed his source over to another dev and this person is updating the iv .net hook (unreleased) and researching the V hook. He already made a MP3 .net hook as part of his research for V.

 

MP3 has a different branch of R* script engine , it's an evolution of the one from GTA IV , while GTA V is using an RDR one as the base with specific for GTA features , it has nothing to do with MP3 at all .

 

That is nice to know as I really liked the RDR engine (was playing yesterday actually). Yeah I guess he was doing it out of boredom or for practice to be familiar for V. He was able to identify hashed gta v natives from MP3 native names so it actually has been helping his research.

 

How do you know this? This guy stopped updating the thread where he took charge. Last comment on that post is someone asking for and update a year or so ago.I see him in irc, he has his own .net hook channel for people who need assistance with the current .net hook. Edited by byteMe420

Share this post


Link to post
Share on other sites
MulleDK19

I see him in irc, he has his own .net hook channel for people who need assistance with the current .net hook.

Not only the .NET Script Hook.

Edited by MulleDK19

Share this post


Link to post
Share on other sites
identitymatrix

 

I see him in irc, he has his own .net hook channel for people who need assistance with the current .net hook.

Not only the .NET Script Hook.

 

 

You're alive! So many questions!

Share this post


Link to post
Share on other sites
Skorpro

Hi Alexander, hi @all!

 

I've made a very simple (console) tool to create enums for C/C++.

Make a text/data file with your models/natives etc. (like input example) and load it with this EnumGen to create a enums file (like output example).

Note: I'm not sure GTA V is using the same hash algorithm like GTA IV but for the natives it seems to work (GET_PLAYER_PED => 0x6e31e993)...

 

DOWNLOAD HERE

 

Example Input (GTA V Vehicles)

 

 

//---------CARSAIRTUGADDERAIRBUSAMBULANASEAASTEROPEBARRACKSBARRACKS2BIFFBALLERBALLER2BANSHEEBENSONBISONBFINJECTBJXLBLAZERBLAZER2BLISTABOBCATXLBODHI2BOXVILLEBUCCANEEBUFFALOBUFFALO2BULLETBURRITOBUSCADDYCADDY2CAMPERCARBONIZCAVCADECHEETAHCOACHCOGCABRIOCOMETCOQUETTECRUSADERDILETTANTEDOCKTUGDOMINATORDLOADERDUBSTADUNEDUNE2ELEGY2ENTITYXFEMPEROREXEMPLARF620FBIFBI2FBIOLDFELONFELON2FELTZERFLATBEDFIRETRUKFORKLIFTFQ2FUGITIVEFUTOFUSILADEGAUNTLETGBURRITOGRANGERGRESLEYHABANEROHANDLERHAULERHOTKNIFEINFERNUSINGOTINTRUDERISSIJACKALJB700JOURNEYKHAMELLANDSTALKERLGUARDMANANAMARBELLAMINIVANMIXERMIXER2MESAMULEMONROEMOWERNINEFORACLEORACLE2PACKERPBUSPHANTOMPATRIOTPENUMBRAPEYOTEPHOENIXPICADORPOLICEPOLICE2POLICE3POLICETPOLICEOLDPOLICEOL2PONYPOUNDERPRAIRIEPRANGERPREMIERPRIMORADIRANCHERXLRLOADERRAPIDGTREBELREGINARHAPSODYRIOTRIPLEYROCOTOROMERORUBBLERUINERRUMPOSADLERSABREGTSANDKINGSCHAFTER2SCHWARZESCRAPSENTINELSEMINOLESERRANOSERRANO2SHERIFFSPEEDOSTANIERSTINGERSTINGERGTSTOCKADESTRATUMSTRETCHSULTANSURANOSURFERSURGESUPERDTACOTAILGATETAXI2TIPTRUCKTIPTRUCK2TORNADOTOURBUSTOWTRUCKTOWTRUCK2TRASHTRACTORTRACTOR2URANUSUTILTRUCUTILTRUC2UTILTRUC3VACCAVIGEROVOODOO2VOLTICWASHINGTONYOUGAZTYPEZION//---------BIKESAKUMABAGGERBATICARBONDAEMONDOUBLEFAGGIOHEXERNEMESISPCJRUFFIANSANCHEZPOLICEBVADER//---------PEDALBIKESBMXCRUISERFIXTERSCORCHERTRIBIKE//---------AIRCRAFTCARGOPLANECUBAN800DUSTERLUXORJETLAZERSTUNTTITANSHAMALSPMEDSPSMALLMAMMATUSVELUM//---------TRAINSFREIGHTFREIGHTCARMETROTRAIN//---------TRAILERARMYTRAILERBALETRAILERBOATTRAILERDOCKTRAILERGRAINTRAILPROPTRAILERRAKETRAILERTANKERTRAILERLTRAILERTRAILER2TR2TR3TRFLATTRAILERSMAL//---------SPECIALBULLDOZECUTTERDUMPRHINOSUBMERSIBLE//---------BOATSDINGHYDINGHY2MARQUISPREDATORJETMAXSQUALOSUNTRAPSEASHARKTROPIC//---------HELIANNIHLBUZZARDBUZZARD2CARGOBOBFROGGERMAVERICKPOLMAVSKYLIFT//---------BLIMPBLIMP

 

 

 

 

Example Output (GTA V Vehicles Enums)

 

 

// Created with EnumGen by Skorproenum eHash{    //---------CARS    MODEL_AIRTUG = 0x5D0AAC8F,    MODEL_ADDER = 0xB779A091,    MODEL_AIRBUS = 0x4C80EB0E,    MODEL_AMBULAN = 0x6922CAEB,    MODEL_ASEA = 0x94204D89,    MODEL_ASTEROPE = 0x8E9254FB,    MODEL_BARRACKS = 0xCEEA3F4B,    MODEL_BARRACKS2 = 0x4008EABB,    MODEL_BIFF = 0x32B91AE8,    MODEL_BALLER = 0xCFCA3668,    MODEL_BALLER2 = 0x8852855,    MODEL_BANSHEE = 0xC1E908D2,    MODEL_BENSON = 0x7A61B330,    MODEL_BISON = 0xFEFD644F,    MODEL_BFINJECT = 0x345EBF35,    MODEL_BJXL = 0x32B29A4B,    MODEL_BLAZER = 0x8125BCF9,    MODEL_BLAZER2 = 0xFD231729,    MODEL_BLISTA = 0xEB70965F,    MODEL_BOBCATXL = 0x3FC5D440,    MODEL_BODHI2 = 0xAA699BB6,    MODEL_BOXVILLE = 0x898ECCEA,    MODEL_BUCCANEE = 0xDB8AA7E0,    MODEL_BUFFALO = 0xEDD516C6,    MODEL_BUFFALO2 = 0x2BEC3CBE,    MODEL_BULLET = 0x9AE6DDA1,    MODEL_BURRITO = 0xAFBB2CA4,    MODEL_BUS = 0xD577C962,    MODEL_CADDY = 0x44623884,    MODEL_CADDY2 = 0xDFF0594C,    MODEL_CAMPER = 0x6FD95F68,    MODEL_CARBONIZ = 0xAB7EC4DF,    MODEL_CAVCADE = 0x1FD5D1FC,    MODEL_CHEETAH = 0xB1D95DA0,    MODEL_COACH = 0x84718D34,    MODEL_COGCABRIO = 0x13B57D8A,    MODEL_COMET = 0x3F637729,    MODEL_COQUETTE = 0x67BC037,    MODEL_CRUSADER = 0x132D5A1A,    MODEL_DILETTANTE = 0xBC993509,    MODEL_DOCKTUG = 0xCB44B1CA,    MODEL_DOMINATOR = 0x4CE68AC,    MODEL_DLOADER = 0x698521E3,    MODEL_DUBSTA = 0x462FE277,    MODEL_DUNE = 0x9CF21E0F,    MODEL_DUNE2 = 0x1FD824AF,    MODEL_ELEGY2 = 0xDE3D9D22,    MODEL_ENTITYXF = 0xB2FE5CF9,    MODEL_EMPEROR = 0xD7278283,    MODEL_EXEMPLAR = 0xFFB15B5E,    MODEL_F620 = 0xDCBCBE48,    MODEL_FBI = 0x432EA949,    MODEL_FBI2 = 0x9DC66994,    MODEL_FBIOLD = 0x8F6ADC54,    MODEL_FELON = 0xE8A8BDA8,    MODEL_FELON2 = 0xFAAD85EE,    MODEL_FELTZER = 0xBE9075F1,    MODEL_FLATBED = 0x50B0215A,    MODEL_FIRETRUK = 0x73920F8E,    MODEL_FORKLIFT = 0x58E49664,    MODEL_FQ2 = 0xBC32A33B,    MODEL_FUGITIVE = 0x71CB2FFB,    MODEL_FUTO = 0x7836CE2F,    MODEL_FUSILADE = 0x1DC0BA53,    MODEL_GAUNTLET = 0x94B395C5,    MODEL_GBURRITO = 0x97FA4F36,    MODEL_GRANGER = 0x9628879C,    MODEL_GRESLEY = 0xA3FC0F4D,    MODEL_HABANERO = 0x34B7390F,    MODEL_HANDLER = 0x1A7FCEFA,    MODEL_HAULER = 0x5A82F9AE,    MODEL_HOTKNIFE = 0x239E390,    MODEL_INFERNUS = 0x18F25AC7,    MODEL_INGOT = 0xB3206692,    MODEL_INTRUDER = 0x34DD8AA1,    MODEL_ISSI = 0x730CE01F,    MODEL_JACKAL = 0xDAC67112,    MODEL_JB700 = 0x3EAB5555,    MODEL_JOURNEY = 0xF8D48E7A,    MODEL_KHAMEL = 0x4FE57110,    MODEL_LANDSTALKER = 0x4BA4E8DC,    MODEL_LGUARD = 0x1BF8D381,    MODEL_MANANA = 0x81634188,    MODEL_MARBELLA = 0x4DC293EA,    MODEL_MINIVAN = 0xED7EADA4,    MODEL_MIXER = 0xD138A6BB,    MODEL_MIXER2 = 0x1C534995,    MODEL_MESA = 0x36848602,    MODEL_MULE = 0x35ED670B,    MODEL_MONROE = 0xE62B361B,    MODEL_MOWER = 0x6A4BD8F6,    MODEL_NINEF = 0x3D8FA25C,    MODEL_ORACLE = 0x506434F6,    MODEL_ORACLE2 = 0xE18195B2,    MODEL_PACKER = 0x21EEE87D,    MODEL_PBUS = 0x885F3671,    MODEL_PHANTOM = 0x809AA4CB,    MODEL_PATRIOT = 0xCFCFEB3B,    MODEL_PENUMBRA = 0xE9805550,    MODEL_PEYOTE = 0x6D19CCBC,    MODEL_PHOENIX = 0x831A21D5,    MODEL_PICADOR = 0x59E0FBF3,    MODEL_POLICE = 0x79FBB0C5,    MODEL_POLICE2 = 0x9F05F101,    MODEL_POLICE3 = 0x71FA16EA,    MODEL_POLICET = 0x1B38E955,    MODEL_POLICEOLD = 0x5C239DB6,    MODEL_POLICEOL2 = 0x8847F602,    MODEL_PONY = 0xF8DE29A8,    MODEL_POUNDER = 0x7DE35E7D,    MODEL_PRAIRIE = 0xA988D3A2,    MODEL_PRANGER = 0x2C33B46E,    MODEL_PREMIER = 0x8FB66F9B,    MODEL_PRIMO = 0xBB6B404F,    MODEL_RADI = 0x9D96B45B,    MODEL_RANCHERXL = 0x6210CBB0,    MODEL_RLOADER = 0xBD303B8,    MODEL_RAPIDGT = 0x8CB29A14,    MODEL_REBEL = 0xB802DD46,    MODEL_REGINA = 0xFF22D208,    MODEL_RHAPSODY = 0x322CF98F,    MODEL_RIOT = 0xB822A1AA,    MODEL_RIPLEY = 0xCD935EF9,    MODEL_ROCOTO = 0x7F5C91F1,    MODEL_ROMERO = 0x2560B2FC,    MODEL_RUBBLE = 0x9A5B1DCC,    MODEL_RUINER = 0xF26CEFF9,    MODEL_RUMPO = 0x4543B74D,    MODEL_SADLER = 0xDC434E51,    MODEL_SABREGT = 0x9B909C94,    MODEL_SANDKING = 0xB9210FD0,    MODEL_SCHAFTER2 = 0xB52B5113,    MODEL_SCHWARZE = 0xA7F873E0,    MODEL_SCRAP = 0x9A9FD3DF,    MODEL_SENTINEL = 0x50732C82,    MODEL_SEMINOLE = 0x48CECED3,    MODEL_SERRANO = 0x4FB1A214,    MODEL_SERRANO2 = 0x3EA948D6,    MODEL_SHERIFF = 0x9BAA707C,    MODEL_SPEEDO = 0xCFB3870C,    MODEL_STANIER = 0xA7EDE74D,    MODEL_STINGER = 0x5C23AF9B,    MODEL_STINGERGT = 0x82E499FA,    MODEL_STOCKADE = 0x6827CF72,    MODEL_STRATUM = 0x66B4FC45,    MODEL_STRETCH = 0x8B13F083,    MODEL_SULTAN = 0x39DA2754,    MODEL_SURANO = 0x16E478C1,    MODEL_SURFER = 0x29B0DA97,    MODEL_SURGE = 0x8F0E3594,    MODEL_SUPERD = 0x42F2ED16,    MODEL_TACO = 0x744CA80D,    MODEL_TAILGATE = 0x527649E0,    MODEL_TAXI2 = 0x480DAF95,    MODEL_TIPTRUCK = 0x2E19879,    MODEL_TIPTRUCK2 = 0xC7824E5E,    MODEL_TORNADO = 0x1BB290BC,    MODEL_TOURBUS = 0x73B1C3CB,    MODEL_TOWTRUCK = 0xB12314E0,    MODEL_TOWTRUCK2 = 0xE5A2D6C6,    MODEL_TRASH = 0x72435A19,    MODEL_TRACTOR = 0x61D6BA8C,    MODEL_TRACTOR2 = 0x843B73DE,    MODEL_URANUS = 0x5B73F5B7,    MODEL_UTILTRUC = 0xE981E1B2,    MODEL_UTILTRUC2 = 0x7B562623,    MODEL_UTILTRUC3 = 0x9A726473,    MODEL_VACCA = 0x142E0DC3,    MODEL_VIGERO = 0xCEC6B9B7,    MODEL_VOODOO2 = 0x1F3766E3,    MODEL_VOLTIC = 0x9F4B77BE,    MODEL_WASHINGTON = 0x69F06B57,    MODEL_YOUGA = 0x3E5F6B8,    MODEL_ZTYPE = 0x2D3BD401,    MODEL_ZION = 0xBD1B39C3,    //---------BIKES    MODEL_AKUMA = 0x63ABADE7,    MODEL_BAGGER = 0x806B9CC3,    MODEL_BATI = 0xF9300CC5,    MODEL_CARBON = 0x9C2387D0,    MODEL_DAEMON = 0x77934CEE,    MODEL_DOUBLE = 0x9C669788,    MODEL_FAGGIO = 0x9229E4EB,    MODEL_HEXER = 0x11F76C14,    MODEL_NEMESIS = 0xDA288376,    MODEL_PCJ = 0xC9CEAF06,    MODEL_RUFFIAN = 0xCABD11E8,    MODEL_SANCHEZ = 0x2EF89E46,    MODEL_POLICEB = 0xFDEFAEC3,    MODEL_VADER = 0xF79A00F7,    //---------PEDALBIKES    MODEL_BMX = 0x43779C54,    MODEL_CRUISER = 0x1ABA13B5,    MODEL_FIXTER = 0xCE23D3BF,    MODEL_SCORCHER = 0xF4E1AA15,    MODEL_TRIBIKE = 0x4339CD69,    //---------AIRCRAFT    MODEL_CARGOPLANE = 0x15F27762,    MODEL_CUBAN800 = 0xD9927FE3,    MODEL_DUSTER = 0x39D6779E,    MODEL_LUXOR = 0x250B0C5E,    MODEL_JET = 0x3F119114,    MODEL_LAZER = 0xB39B0AE6,    MODEL_STUNT = 0x81794C70,    MODEL_TITAN = 0x761E2AD3,    MODEL_SHAMAL = 0xB79C1BF5,    MODEL_SPMED = 0xD1900A49,    MODEL_SPSMALL = 0xB31F4F95,    MODEL_MAMMATUS = 0x97E55D11,    MODEL_VELUM = 0x9C429B6A,    //---------TRAINS    MODEL_FREIGHT = 0x3D6AAA9B,    MODEL_FREIGHTCAR = 0xAFD22A6,    MODEL_METROTRAIN = 0x33C9E158,    //---------TRAILER    MODEL_ARMYTRAILER = 0xA7FF33F5,    MODEL_BALETRAILER = 0xE82AE656,    MODEL_BOATTRAILER = 0x1F3D44B5,    MODEL_DOCKTRAILER = 0x806EFBEE,    MODEL_GRAINTRAIL = 0x7AD8CEC4,    MODEL_PROPTRAILER = 0x153E1B0A,    MODEL_RAKETRAILER = 0x174CB172,    MODEL_TANKER = 0xD46F4737,    MODEL_TRAILERL = 0x481EB6E8,    MODEL_TRAILER = 0x5C27AA11,    MODEL_TRAILER2 = 0x9B195CEC,    MODEL_TR2 = 0x7BE032C6,    MODEL_TR3 = 0x6A59902D,    MODEL_TRFLAT = 0xAF62F6B2,    MODEL_TRAILERSMAL = 0xFF310F37,    //---------SPECIAL    MODEL_BULLDOZE = 0x6E8A4D8A,    MODEL_CUTTER = 0xC3FBA120,    MODEL_DUMP = 0x810369E2,    MODEL_RHINO = 0x2EA68690,    MODEL_SUBMERSIBLE = 0x2DFF622F,    //---------BOATS    MODEL_DINGHY = 0x3D961290,    MODEL_DINGHY2 = 0x107F392C,    MODEL_MARQUIS = 0xC1CE1183,    MODEL_PREDATOR = 0xE2E7D4AB,    MODEL_JETMAX = 0x33581161,    MODEL_SQUALO = 0x17DF5EC2,    MODEL_SUNTRAP = 0xEF2295C9,    MODEL_SEASHARK = 0xC2974024,    MODEL_TROPIC = 0x1149422F,    //---------HELI    MODEL_ANNIHL = 0x8F4FE53D,    MODEL_BUZZARD = 0x2F03547B,    MODEL_BUZZARD2 = 0x2C75F0DD,    MODEL_CARGOBOB = 0xFCFCB68B,    MODEL_FROGGER = 0x2C634FBD,    MODEL_MAVERICK = 0x9D0450CA,    MODEL_POLMAV = 0x1517D4D9,    MODEL_SKYLIFT = 0x3E48BF23,    //---------BLIMP    MODEL_BLIMP = 0xF7004C86,};

 

 

 

Hope it's useful :)

 

Skorpro

 

 

PS: If you want to create a single hash please use this tool.

Share this post


Link to post
Share on other sites
jenksta

Hi Alexander, hi @all!

 

I've made a very simple (console) tool to create enums for C/C++.

Make a text/data file with your models/natives etc. (like input example) and load it with this EnumGen to create a enums file (like output example).

Note: I'm not sure GTA V is using the same hash algorithm like GTA IV but for the natives it seems to work (GET_PLAYER_PED => 0x6e31e993)...

 

DOWNLOAD HERE

 

Example Input (GTA V Vehicles)

 

 

//---------CARSAIRTUGADDERAIRBUSAMBULANASEAASTEROPEBARRACKSBARRACKS2BIFFBALLERBALLER2BANSHEEBENSONBISONBFINJECTBJXLBLAZERBLAZER2BLISTABOBCATXLBODHI2BOXVILLEBUCCANEEBUFFALOBUFFALO2BULLETBURRITOBUSCADDYCADDY2CAMPERCARBONIZCAVCADECHEETAHCOACHCOGCABRIOCOMETCOQUETTECRUSADERDILETTANTEDOCKTUGDOMINATORDLOADERDUBSTADUNEDUNE2ELEGY2ENTITYXFEMPEROREXEMPLARF620FBIFBI2FBIOLDFELONFELON2FELTZERFLATBEDFIRETRUKFORKLIFTFQ2FUGITIVEFUTOFUSILADEGAUNTLETGBURRITOGRANGERGRESLEYHABANEROHANDLERHAULERHOTKNIFEINFERNUSINGOTINTRUDERISSIJACKALJB700JOURNEYKHAMELLANDSTALKERLGUARDMANANAMARBELLAMINIVANMIXERMIXER2MESAMULEMONROEMOWERNINEFORACLEORACLE2PACKERPBUSPHANTOMPATRIOTPENUMBRAPEYOTEPHOENIXPICADORPOLICEPOLICE2POLICE3POLICETPOLICEOLDPOLICEOL2PONYPOUNDERPRAIRIEPRANGERPREMIERPRIMORADIRANCHERXLRLOADERRAPIDGTREBELREGINARHAPSODYRIOTRIPLEYROCOTOROMERORUBBLERUINERRUMPOSADLERSABREGTSANDKINGSCHAFTER2SCHWARZESCRAPSENTINELSEMINOLESERRANOSERRANO2SHERIFFSPEEDOSTANIERSTINGERSTINGERGTSTOCKADESTRATUMSTRETCHSULTANSURANOSURFERSURGESUPERDTACOTAILGATETAXI2TIPTRUCKTIPTRUCK2TORNADOTOURBUSTOWTRUCKTOWTRUCK2TRASHTRACTORTRACTOR2URANUSUTILTRUCUTILTRUC2UTILTRUC3VACCAVIGEROVOODOO2VOLTICWASHINGTONYOUGAZTYPEZION//---------BIKESAKUMABAGGERBATICARBONDAEMONDOUBLEFAGGIOHEXERNEMESISPCJRUFFIANSANCHEZPOLICEBVADER//---------PEDALBIKESBMXCRUISERFIXTERSCORCHERTRIBIKE//---------AIRCRAFTCARGOPLANECUBAN800DUSTERLUXORJETLAZERSTUNTTITANSHAMALSPMEDSPSMALLMAMMATUSVELUM//---------TRAINSFREIGHTFREIGHTCARMETROTRAIN//---------TRAILERARMYTRAILERBALETRAILERBOATTRAILERDOCKTRAILERGRAINTRAILPROPTRAILERRAKETRAILERTANKERTRAILERLTRAILERTRAILER2TR2TR3TRFLATTRAILERSMAL//---------SPECIALBULLDOZECUTTERDUMPRHINOSUBMERSIBLE//---------BOATSDINGHYDINGHY2MARQUISPREDATORJETMAXSQUALOSUNTRAPSEASHARKTROPIC//---------HELIANNIHLBUZZARDBUZZARD2CARGOBOBFROGGERMAVERICKPOLMAVSKYLIFT//---------BLIMPBLIMP

 

 

 

 

Example Output (GTA V Vehicles Enums)

 

 

// Created with EnumGen by Skorproenum eHash{    //---------CARS    MODEL_AIRTUG = 0x5D0AAC8F,    MODEL_ADDER = 0xB779A091,    MODEL_AIRBUS = 0x4C80EB0E,    MODEL_AMBULAN = 0x6922CAEB,    MODEL_ASEA = 0x94204D89,    MODEL_ASTEROPE = 0x8E9254FB,    MODEL_BARRACKS = 0xCEEA3F4B,    MODEL_BARRACKS2 = 0x4008EABB,    MODEL_BIFF = 0x32B91AE8,    MODEL_BALLER = 0xCFCA3668,    MODEL_BALLER2 = 0x8852855,    MODEL_BANSHEE = 0xC1E908D2,    MODEL_BENSON = 0x7A61B330,    MODEL_BISON = 0xFEFD644F,    MODEL_BFINJECT = 0x345EBF35,    MODEL_BJXL = 0x32B29A4B,    MODEL_BLAZER = 0x8125BCF9,    MODEL_BLAZER2 = 0xFD231729,    MODEL_BLISTA = 0xEB70965F,    MODEL_BOBCATXL = 0x3FC5D440,    MODEL_BODHI2 = 0xAA699BB6,    MODEL_BOXVILLE = 0x898ECCEA,    MODEL_BUCCANEE = 0xDB8AA7E0,    MODEL_BUFFALO = 0xEDD516C6,    MODEL_BUFFALO2 = 0x2BEC3CBE,    MODEL_BULLET = 0x9AE6DDA1,    MODEL_BURRITO = 0xAFBB2CA4,    MODEL_BUS = 0xD577C962,    MODEL_CADDY = 0x44623884,    MODEL_CADDY2 = 0xDFF0594C,    MODEL_CAMPER = 0x6FD95F68,    MODEL_CARBONIZ = 0xAB7EC4DF,    MODEL_CAVCADE = 0x1FD5D1FC,    MODEL_CHEETAH = 0xB1D95DA0,    MODEL_COACH = 0x84718D34,    MODEL_COGCABRIO = 0x13B57D8A,    MODEL_COMET = 0x3F637729,    MODEL_COQUETTE = 0x67BC037,    MODEL_CRUSADER = 0x132D5A1A,    MODEL_DILETTANTE = 0xBC993509,    MODEL_DOCKTUG = 0xCB44B1CA,    MODEL_DOMINATOR = 0x4CE68AC,    MODEL_DLOADER = 0x698521E3,    MODEL_DUBSTA = 0x462FE277,    MODEL_DUNE = 0x9CF21E0F,    MODEL_DUNE2 = 0x1FD824AF,    MODEL_ELEGY2 = 0xDE3D9D22,    MODEL_ENTITYXF = 0xB2FE5CF9,    MODEL_EMPEROR = 0xD7278283,    MODEL_EXEMPLAR = 0xFFB15B5E,    MODEL_F620 = 0xDCBCBE48,    MODEL_FBI = 0x432EA949,    MODEL_FBI2 = 0x9DC66994,    MODEL_FBIOLD = 0x8F6ADC54,    MODEL_FELON = 0xE8A8BDA8,    MODEL_FELON2 = 0xFAAD85EE,    MODEL_FELTZER = 0xBE9075F1,    MODEL_FLATBED = 0x50B0215A,    MODEL_FIRETRUK = 0x73920F8E,    MODEL_FORKLIFT = 0x58E49664,    MODEL_FQ2 = 0xBC32A33B,    MODEL_FUGITIVE = 0x71CB2FFB,    MODEL_FUTO = 0x7836CE2F,    MODEL_FUSILADE = 0x1DC0BA53,    MODEL_GAUNTLET = 0x94B395C5,    MODEL_GBURRITO = 0x97FA4F36,    MODEL_GRANGER = 0x9628879C,    MODEL_GRESLEY = 0xA3FC0F4D,    MODEL_HABANERO = 0x34B7390F,    MODEL_HANDLER = 0x1A7FCEFA,    MODEL_HAULER = 0x5A82F9AE,    MODEL_HOTKNIFE = 0x239E390,    MODEL_INFERNUS = 0x18F25AC7,    MODEL_INGOT = 0xB3206692,    MODEL_INTRUDER = 0x34DD8AA1,    MODEL_ISSI = 0x730CE01F,    MODEL_JACKAL = 0xDAC67112,    MODEL_JB700 = 0x3EAB5555,    MODEL_JOURNEY = 0xF8D48E7A,    MODEL_KHAMEL = 0x4FE57110,    MODEL_LANDSTALKER = 0x4BA4E8DC,    MODEL_LGUARD = 0x1BF8D381,    MODEL_MANANA = 0x81634188,    MODEL_MARBELLA = 0x4DC293EA,    MODEL_MINIVAN = 0xED7EADA4,    MODEL_MIXER = 0xD138A6BB,    MODEL_MIXER2 = 0x1C534995,    MODEL_MESA = 0x36848602,    MODEL_MULE = 0x35ED670B,    MODEL_MONROE = 0xE62B361B,    MODEL_MOWER = 0x6A4BD8F6,    MODEL_NINEF = 0x3D8FA25C,    MODEL_ORACLE = 0x506434F6,    MODEL_ORACLE2 = 0xE18195B2,    MODEL_PACKER = 0x21EEE87D,    MODEL_PBUS = 0x885F3671,    MODEL_PHANTOM = 0x809AA4CB,    MODEL_PATRIOT = 0xCFCFEB3B,    MODEL_PENUMBRA = 0xE9805550,    MODEL_PEYOTE = 0x6D19CCBC,    MODEL_PHOENIX = 0x831A21D5,    MODEL_PICADOR = 0x59E0FBF3,    MODEL_POLICE = 0x79FBB0C5,    MODEL_POLICE2 = 0x9F05F101,    MODEL_POLICE3 = 0x71FA16EA,    MODEL_POLICET = 0x1B38E955,    MODEL_POLICEOLD = 0x5C239DB6,    MODEL_POLICEOL2 = 0x8847F602,    MODEL_PONY = 0xF8DE29A8,    MODEL_POUNDER = 0x7DE35E7D,    MODEL_PRAIRIE = 0xA988D3A2,    MODEL_PRANGER = 0x2C33B46E,    MODEL_PREMIER = 0x8FB66F9B,    MODEL_PRIMO = 0xBB6B404F,    MODEL_RADI = 0x9D96B45B,    MODEL_RANCHERXL = 0x6210CBB0,    MODEL_RLOADER = 0xBD303B8,    MODEL_RAPIDGT = 0x8CB29A14,    MODEL_REBEL = 0xB802DD46,    MODEL_REGINA = 0xFF22D208,    MODEL_RHAPSODY = 0x322CF98F,    MODEL_RIOT = 0xB822A1AA,    MODEL_RIPLEY = 0xCD935EF9,    MODEL_ROCOTO = 0x7F5C91F1,    MODEL_ROMERO = 0x2560B2FC,    MODEL_RUBBLE = 0x9A5B1DCC,    MODEL_RUINER = 0xF26CEFF9,    MODEL_RUMPO = 0x4543B74D,    MODEL_SADLER = 0xDC434E51,    MODEL_SABREGT = 0x9B909C94,    MODEL_SANDKING = 0xB9210FD0,    MODEL_SCHAFTER2 = 0xB52B5113,    MODEL_SCHWARZE = 0xA7F873E0,    MODEL_SCRAP = 0x9A9FD3DF,    MODEL_SENTINEL = 0x50732C82,    MODEL_SEMINOLE = 0x48CECED3,    MODEL_SERRANO = 0x4FB1A214,    MODEL_SERRANO2 = 0x3EA948D6,    MODEL_SHERIFF = 0x9BAA707C,    MODEL_SPEEDO = 0xCFB3870C,    MODEL_STANIER = 0xA7EDE74D,    MODEL_STINGER = 0x5C23AF9B,    MODEL_STINGERGT = 0x82E499FA,    MODEL_STOCKADE = 0x6827CF72,    MODEL_STRATUM = 0x66B4FC45,    MODEL_STRETCH = 0x8B13F083,    MODEL_SULTAN = 0x39DA2754,    MODEL_SURANO = 0x16E478C1,    MODEL_SURFER = 0x29B0DA97,    MODEL_SURGE = 0x8F0E3594,    MODEL_SUPERD = 0x42F2ED16,    MODEL_TACO = 0x744CA80D,    MODEL_TAILGATE = 0x527649E0,    MODEL_TAXI2 = 0x480DAF95,    MODEL_TIPTRUCK = 0x2E19879,    MODEL_TIPTRUCK2 = 0xC7824E5E,    MODEL_TORNADO = 0x1BB290BC,    MODEL_TOURBUS = 0x73B1C3CB,    MODEL_TOWTRUCK = 0xB12314E0,    MODEL_TOWTRUCK2 = 0xE5A2D6C6,    MODEL_TRASH = 0x72435A19,    MODEL_TRACTOR = 0x61D6BA8C,    MODEL_TRACTOR2 = 0x843B73DE,    MODEL_URANUS = 0x5B73F5B7,    MODEL_UTILTRUC = 0xE981E1B2,    MODEL_UTILTRUC2 = 0x7B562623,    MODEL_UTILTRUC3 = 0x9A726473,    MODEL_VACCA = 0x142E0DC3,    MODEL_VIGERO = 0xCEC6B9B7,    MODEL_VOODOO2 = 0x1F3766E3,    MODEL_VOLTIC = 0x9F4B77BE,    MODEL_WASHINGTON = 0x69F06B57,    MODEL_YOUGA = 0x3E5F6B8,    MODEL_ZTYPE = 0x2D3BD401,    MODEL_ZION = 0xBD1B39C3,    //---------BIKES    MODEL_AKUMA = 0x63ABADE7,    MODEL_BAGGER = 0x806B9CC3,    MODEL_BATI = 0xF9300CC5,    MODEL_CARBON = 0x9C2387D0,    MODEL_DAEMON = 0x77934CEE,    MODEL_DOUBLE = 0x9C669788,    MODEL_FAGGIO = 0x9229E4EB,    MODEL_HEXER = 0x11F76C14,    MODEL_NEMESIS = 0xDA288376,    MODEL_PCJ = 0xC9CEAF06,    MODEL_RUFFIAN = 0xCABD11E8,    MODEL_SANCHEZ = 0x2EF89E46,    MODEL_POLICEB = 0xFDEFAEC3,    MODEL_VADER = 0xF79A00F7,    //---------PEDALBIKES    MODEL_BMX = 0x43779C54,    MODEL_CRUISER = 0x1ABA13B5,    MODEL_FIXTER = 0xCE23D3BF,    MODEL_SCORCHER = 0xF4E1AA15,    MODEL_TRIBIKE = 0x4339CD69,    //---------AIRCRAFT    MODEL_CARGOPLANE = 0x15F27762,    MODEL_CUBAN800 = 0xD9927FE3,    MODEL_DUSTER = 0x39D6779E,    MODEL_LUXOR = 0x250B0C5E,    MODEL_JET = 0x3F119114,    MODEL_LAZER = 0xB39B0AE6,    MODEL_STUNT = 0x81794C70,    MODEL_TITAN = 0x761E2AD3,    MODEL_SHAMAL = 0xB79C1BF5,    MODEL_SPMED = 0xD1900A49,    MODEL_SPSMALL = 0xB31F4F95,    MODEL_MAMMATUS = 0x97E55D11,    MODEL_VELUM = 0x9C429B6A,    //---------TRAINS    MODEL_FREIGHT = 0x3D6AAA9B,    MODEL_FREIGHTCAR = 0xAFD22A6,    MODEL_METROTRAIN = 0x33C9E158,    //---------TRAILER    MODEL_ARMYTRAILER = 0xA7FF33F5,    MODEL_BALETRAILER = 0xE82AE656,    MODEL_BOATTRAILER = 0x1F3D44B5,    MODEL_DOCKTRAILER = 0x806EFBEE,    MODEL_GRAINTRAIL = 0x7AD8CEC4,    MODEL_PROPTRAILER = 0x153E1B0A,    MODEL_RAKETRAILER = 0x174CB172,    MODEL_TANKER = 0xD46F4737,    MODEL_TRAILERL = 0x481EB6E8,    MODEL_TRAILER = 0x5C27AA11,    MODEL_TRAILER2 = 0x9B195CEC,    MODEL_TR2 = 0x7BE032C6,    MODEL_TR3 = 0x6A59902D,    MODEL_TRFLAT = 0xAF62F6B2,    MODEL_TRAILERSMAL = 0xFF310F37,    //---------SPECIAL    MODEL_BULLDOZE = 0x6E8A4D8A,    MODEL_CUTTER = 0xC3FBA120,    MODEL_DUMP = 0x810369E2,    MODEL_RHINO = 0x2EA68690,    MODEL_SUBMERSIBLE = 0x2DFF622F,    //---------BOATS    MODEL_DINGHY = 0x3D961290,    MODEL_DINGHY2 = 0x107F392C,    MODEL_MARQUIS = 0xC1CE1183,    MODEL_PREDATOR = 0xE2E7D4AB,    MODEL_JETMAX = 0x33581161,    MODEL_SQUALO = 0x17DF5EC2,    MODEL_SUNTRAP = 0xEF2295C9,    MODEL_SEASHARK = 0xC2974024,    MODEL_TROPIC = 0x1149422F,    //---------HELI    MODEL_ANNIHL = 0x8F4FE53D,    MODEL_BUZZARD = 0x2F03547B,    MODEL_BUZZARD2 = 0x2C75F0DD,    MODEL_CARGOBOB = 0xFCFCB68B,    MODEL_FROGGER = 0x2C634FBD,    MODEL_MAVERICK = 0x9D0450CA,    MODEL_POLMAV = 0x1517D4D9,    MODEL_SKYLIFT = 0x3E48BF23,    //---------BLIMP    MODEL_BLIMP = 0xF7004C86,};

 

 

 

Hope it's useful :)

 

Skorpro

 

 

PS: If you want to create a single hash please use this tool.

The IV PC script natives used a different hashing algorithm from patch 5 (?) onwards so perhaps this will be the case with V too?

Share this post


Link to post
Share on other sites
Alexander Blade

The IV PC script natives used a different hashing algorithm from patch 5 (?) onwards so perhaps this will be the case with V too?

 

Doesn't rly matter :)

Share this post


Link to post
Share on other sites
jenksta

 

The IV PC script natives used a different hashing algorithm from patch 5 (?) onwards so perhaps this will be the case with V too?

 

Doesn't rly matter :)

 

I know :) I just meant if that's the case then that tool wouldn't work for native hashes.

Share this post


Link to post
Share on other sites
Alexander Blade

 

 

The IV PC script natives used a different hashing algorithm from patch 5 (?) onwards so perhaps this will be the case with V too?

 

Doesn't rly matter :)

 

I know :) I just meant if that's the case then that tool wouldn't work for native hashes.

 

That tool is for models , not for natives

Share this post


Link to post
Share on other sites
XeClutch

Hi Alexander, hi @all!

 

I've made a very simple (console) tool to create enums for C/C++.

Make a text/data file with your models/natives etc. (like input example) and load it with this EnumGen to create a enums file (like output example).

Note: I'm not sure GTA V is using the same hash algorithm like GTA IV but for the natives it seems to work (GET_PLAYER_PED => 0x6e31e993)...

 

DOWNLOAD HERE

 

Example Input (GTA V Vehicles)

 

 

//---------CARSAIRTUGADDERAIRBUSAMBULANASEAASTEROPEBARRACKSBARRACKS2BIFFBALLERBALLER2BANSHEEBENSONBISONBFINJECTBJXLBLAZERBLAZER2BLISTABOBCATXLBODHI2BOXVILLEBUCCANEEBUFFALOBUFFALO2BULLETBURRITOBUSCADDYCADDY2CAMPERCARBONIZCAVCADECHEETAHCOACHCOGCABRIOCOMETCOQUETTECRUSADERDILETTANTEDOCKTUGDOMINATORDLOADERDUBSTADUNEDUNE2ELEGY2ENTITYXFEMPEROREXEMPLARF620FBIFBI2FBIOLDFELONFELON2FELTZERFLATBEDFIRETRUKFORKLIFTFQ2FUGITIVEFUTOFUSILADEGAUNTLETGBURRITOGRANGERGRESLEYHABANEROHANDLERHAULERHOTKNIFEINFERNUSINGOTINTRUDERISSIJACKALJB700JOURNEYKHAMELLANDSTALKERLGUARDMANANAMARBELLAMINIVANMIXERMIXER2MESAMULEMONROEMOWERNINEFORACLEORACLE2PACKERPBUSPHANTOMPATRIOTPENUMBRAPEYOTEPHOENIXPICADORPOLICEPOLICE2POLICE3POLICETPOLICEOLDPOLICEOL2PONYPOUNDERPRAIRIEPRANGERPREMIERPRIMORADIRANCHERXLRLOADERRAPIDGTREBELREGINARHAPSODYRIOTRIPLEYROCOTOROMERORUBBLERUINERRUMPOSADLERSABREGTSANDKINGSCHAFTER2SCHWARZESCRAPSENTINELSEMINOLESERRANOSERRANO2SHERIFFSPEEDOSTANIERSTINGERSTINGERGTSTOCKADESTRATUMSTRETCHSULTANSURANOSURFERSURGESUPERDTACOTAILGATETAXI2TIPTRUCKTIPTRUCK2TORNADOTOURBUSTOWTRUCKTOWTRUCK2TRASHTRACTORTRACTOR2URANUSUTILTRUCUTILTRUC2UTILTRUC3VACCAVIGEROVOODOO2VOLTICWASHINGTONYOUGAZTYPEZION//---------BIKESAKUMABAGGERBATICARBONDAEMONDOUBLEFAGGIOHEXERNEMESISPCJRUFFIANSANCHEZPOLICEBVADER//---------PEDALBIKESBMXCRUISERFIXTERSCORCHERTRIBIKE//---------AIRCRAFTCARGOPLANECUBAN800DUSTERLUXORJETLAZERSTUNTTITANSHAMALSPMEDSPSMALLMAMMATUSVELUM//---------TRAINSFREIGHTFREIGHTCARMETROTRAIN//---------TRAILERARMYTRAILERBALETRAILERBOATTRAILERDOCKTRAILERGRAINTRAILPROPTRAILERRAKETRAILERTANKERTRAILERLTRAILERTRAILER2TR2TR3TRFLATTRAILERSMAL//---------SPECIALBULLDOZECUTTERDUMPRHINOSUBMERSIBLE//---------BOATSDINGHYDINGHY2MARQUISPREDATORJETMAXSQUALOSUNTRAPSEASHARKTROPIC//---------HELIANNIHLBUZZARDBUZZARD2CARGOBOBFROGGERMAVERICKPOLMAVSKYLIFT//---------BLIMPBLIMP

 

 

 

 

Example Output (GTA V Vehicles Enums)

 

 

// Created with EnumGen by Skorproenum eHash{    //---------CARS    MODEL_AIRTUG = 0x5D0AAC8F,    MODEL_ADDER = 0xB779A091,    MODEL_AIRBUS = 0x4C80EB0E,    MODEL_AMBULAN = 0x6922CAEB,    MODEL_ASEA = 0x94204D89,    MODEL_ASTEROPE = 0x8E9254FB,    MODEL_BARRACKS = 0xCEEA3F4B,    MODEL_BARRACKS2 = 0x4008EABB,    MODEL_BIFF = 0x32B91AE8,    MODEL_BALLER = 0xCFCA3668,    MODEL_BALLER2 = 0x8852855,    MODEL_BANSHEE = 0xC1E908D2,    MODEL_BENSON = 0x7A61B330,    MODEL_BISON = 0xFEFD644F,    MODEL_BFINJECT = 0x345EBF35,    MODEL_BJXL = 0x32B29A4B,    MODEL_BLAZER = 0x8125BCF9,    MODEL_BLAZER2 = 0xFD231729,    MODEL_BLISTA = 0xEB70965F,    MODEL_BOBCATXL = 0x3FC5D440,    MODEL_BODHI2 = 0xAA699BB6,    MODEL_BOXVILLE = 0x898ECCEA,    MODEL_BUCCANEE = 0xDB8AA7E0,    MODEL_BUFFALO = 0xEDD516C6,    MODEL_BUFFALO2 = 0x2BEC3CBE,    MODEL_BULLET = 0x9AE6DDA1,    MODEL_BURRITO = 0xAFBB2CA4,    MODEL_BUS = 0xD577C962,    MODEL_CADDY = 0x44623884,    MODEL_CADDY2 = 0xDFF0594C,    MODEL_CAMPER = 0x6FD95F68,    MODEL_CARBONIZ = 0xAB7EC4DF,    MODEL_CAVCADE = 0x1FD5D1FC,    MODEL_CHEETAH = 0xB1D95DA0,    MODEL_COACH = 0x84718D34,    MODEL_COGCABRIO = 0x13B57D8A,    MODEL_COMET = 0x3F637729,    MODEL_COQUETTE = 0x67BC037,    MODEL_CRUSADER = 0x132D5A1A,    MODEL_DILETTANTE = 0xBC993509,    MODEL_DOCKTUG = 0xCB44B1CA,    MODEL_DOMINATOR = 0x4CE68AC,    MODEL_DLOADER = 0x698521E3,    MODEL_DUBSTA = 0x462FE277,    MODEL_DUNE = 0x9CF21E0F,    MODEL_DUNE2 = 0x1FD824AF,    MODEL_ELEGY2 = 0xDE3D9D22,    MODEL_ENTITYXF = 0xB2FE5CF9,    MODEL_EMPEROR = 0xD7278283,    MODEL_EXEMPLAR = 0xFFB15B5E,    MODEL_F620 = 0xDCBCBE48,    MODEL_FBI = 0x432EA949,    MODEL_FBI2 = 0x9DC66994,    MODEL_FBIOLD = 0x8F6ADC54,    MODEL_FELON = 0xE8A8BDA8,    MODEL_FELON2 = 0xFAAD85EE,    MODEL_FELTZER = 0xBE9075F1,    MODEL_FLATBED = 0x50B0215A,    MODEL_FIRETRUK = 0x73920F8E,    MODEL_FORKLIFT = 0x58E49664,    MODEL_FQ2 = 0xBC32A33B,    MODEL_FUGITIVE = 0x71CB2FFB,    MODEL_FUTO = 0x7836CE2F,    MODEL_FUSILADE = 0x1DC0BA53,    MODEL_GAUNTLET = 0x94B395C5,    MODEL_GBURRITO = 0x97FA4F36,    MODEL_GRANGER = 0x9628879C,    MODEL_GRESLEY = 0xA3FC0F4D,    MODEL_HABANERO = 0x34B7390F,    MODEL_HANDLER = 0x1A7FCEFA,    MODEL_HAULER = 0x5A82F9AE,    MODEL_HOTKNIFE = 0x239E390,    MODEL_INFERNUS = 0x18F25AC7,    MODEL_INGOT = 0xB3206692,    MODEL_INTRUDER = 0x34DD8AA1,    MODEL_ISSI = 0x730CE01F,    MODEL_JACKAL = 0xDAC67112,    MODEL_JB700 = 0x3EAB5555,    MODEL_JOURNEY = 0xF8D48E7A,    MODEL_KHAMEL = 0x4FE57110,    MODEL_LANDSTALKER = 0x4BA4E8DC,    MODEL_LGUARD = 0x1BF8D381,    MODEL_MANANA = 0x81634188,    MODEL_MARBELLA = 0x4DC293EA,    MODEL_MINIVAN = 0xED7EADA4,    MODEL_MIXER = 0xD138A6BB,    MODEL_MIXER2 = 0x1C534995,    MODEL_MESA = 0x36848602,    MODEL_MULE = 0x35ED670B,    MODEL_MONROE = 0xE62B361B,    MODEL_MOWER = 0x6A4BD8F6,    MODEL_NINEF = 0x3D8FA25C,    MODEL_ORACLE = 0x506434F6,    MODEL_ORACLE2 = 0xE18195B2,    MODEL_PACKER = 0x21EEE87D,    MODEL_PBUS = 0x885F3671,    MODEL_PHANTOM = 0x809AA4CB,    MODEL_PATRIOT = 0xCFCFEB3B,    MODEL_PENUMBRA = 0xE9805550,    MODEL_PEYOTE = 0x6D19CCBC,    MODEL_PHOENIX = 0x831A21D5,    MODEL_PICADOR = 0x59E0FBF3,    MODEL_POLICE = 0x79FBB0C5,    MODEL_POLICE2 = 0x9F05F101,    MODEL_POLICE3 = 0x71FA16EA,    MODEL_POLICET = 0x1B38E955,    MODEL_POLICEOLD = 0x5C239DB6,    MODEL_POLICEOL2 = 0x8847F602,    MODEL_PONY = 0xF8DE29A8,    MODEL_POUNDER = 0x7DE35E7D,    MODEL_PRAIRIE = 0xA988D3A2,    MODEL_PRANGER = 0x2C33B46E,    MODEL_PREMIER = 0x8FB66F9B,    MODEL_PRIMO = 0xBB6B404F,    MODEL_RADI = 0x9D96B45B,    MODEL_RANCHERXL = 0x6210CBB0,    MODEL_RLOADER = 0xBD303B8,    MODEL_RAPIDGT = 0x8CB29A14,    MODEL_REBEL = 0xB802DD46,    MODEL_REGINA = 0xFF22D208,    MODEL_RHAPSODY = 0x322CF98F,    MODEL_RIOT = 0xB822A1AA,    MODEL_RIPLEY = 0xCD935EF9,    MODEL_ROCOTO = 0x7F5C91F1,    MODEL_ROMERO = 0x2560B2FC,    MODEL_RUBBLE = 0x9A5B1DCC,    MODEL_RUINER = 0xF26CEFF9,    MODEL_RUMPO = 0x4543B74D,    MODEL_SADLER = 0xDC434E51,    MODEL_SABREGT = 0x9B909C94,    MODEL_SANDKING = 0xB9210FD0,    MODEL_SCHAFTER2 = 0xB52B5113,    MODEL_SCHWARZE = 0xA7F873E0,    MODEL_SCRAP = 0x9A9FD3DF,    MODEL_SENTINEL = 0x50732C82,    MODEL_SEMINOLE = 0x48CECED3,    MODEL_SERRANO = 0x4FB1A214,    MODEL_SERRANO2 = 0x3EA948D6,    MODEL_SHERIFF = 0x9BAA707C,    MODEL_SPEEDO = 0xCFB3870C,    MODEL_STANIER = 0xA7EDE74D,    MODEL_STINGER = 0x5C23AF9B,    MODEL_STINGERGT = 0x82E499FA,    MODEL_STOCKADE = 0x6827CF72,    MODEL_STRATUM = 0x66B4FC45,    MODEL_STRETCH = 0x8B13F083,    MODEL_SULTAN = 0x39DA2754,    MODEL_SURANO = 0x16E478C1,    MODEL_SURFER = 0x29B0DA97,    MODEL_SURGE = 0x8F0E3594,    MODEL_SUPERD = 0x42F2ED16,    MODEL_TACO = 0x744CA80D,    MODEL_TAILGATE = 0x527649E0,    MODEL_TAXI2 = 0x480DAF95,    MODEL_TIPTRUCK = 0x2E19879,    MODEL_TIPTRUCK2 = 0xC7824E5E,    MODEL_TORNADO = 0x1BB290BC,    MODEL_TOURBUS = 0x73B1C3CB,    MODEL_TOWTRUCK = 0xB12314E0,    MODEL_TOWTRUCK2 = 0xE5A2D6C6,    MODEL_TRASH = 0x72435A19,    MODEL_TRACTOR = 0x61D6BA8C,    MODEL_TRACTOR2 = 0x843B73DE,    MODEL_URANUS = 0x5B73F5B7,    MODEL_UTILTRUC = 0xE981E1B2,    MODEL_UTILTRUC2 = 0x7B562623,    MODEL_UTILTRUC3 = 0x9A726473,    MODEL_VACCA = 0x142E0DC3,    MODEL_VIGERO = 0xCEC6B9B7,    MODEL_VOODOO2 = 0x1F3766E3,    MODEL_VOLTIC = 0x9F4B77BE,    MODEL_WASHINGTON = 0x69F06B57,    MODEL_YOUGA = 0x3E5F6B8,    MODEL_ZTYPE = 0x2D3BD401,    MODEL_ZION = 0xBD1B39C3,    //---------BIKES    MODEL_AKUMA = 0x63ABADE7,    MODEL_BAGGER = 0x806B9CC3,    MODEL_BATI = 0xF9300CC5,    MODEL_CARBON = 0x9C2387D0,    MODEL_DAEMON = 0x77934CEE,    MODEL_DOUBLE = 0x9C669788,    MODEL_FAGGIO = 0x9229E4EB,    MODEL_HEXER = 0x11F76C14,    MODEL_NEMESIS = 0xDA288376,    MODEL_PCJ = 0xC9CEAF06,    MODEL_RUFFIAN = 0xCABD11E8,    MODEL_SANCHEZ = 0x2EF89E46,    MODEL_POLICEB = 0xFDEFAEC3,    MODEL_VADER = 0xF79A00F7,    //---------PEDALBIKES    MODEL_BMX = 0x43779C54,    MODEL_CRUISER = 0x1ABA13B5,    MODEL_FIXTER = 0xCE23D3BF,    MODEL_SCORCHER = 0xF4E1AA15,    MODEL_TRIBIKE = 0x4339CD69,    //---------AIRCRAFT    MODEL_CARGOPLANE = 0x15F27762,    MODEL_CUBAN800 = 0xD9927FE3,    MODEL_DUSTER = 0x39D6779E,    MODEL_LUXOR = 0x250B0C5E,    MODEL_JET = 0x3F119114,    MODEL_LAZER = 0xB39B0AE6,    MODEL_STUNT = 0x81794C70,    MODEL_TITAN = 0x761E2AD3,    MODEL_SHAMAL = 0xB79C1BF5,    MODEL_SPMED = 0xD1900A49,    MODEL_SPSMALL = 0xB31F4F95,    MODEL_MAMMATUS = 0x97E55D11,    MODEL_VELUM = 0x9C429B6A,    //---------TRAINS    MODEL_FREIGHT = 0x3D6AAA9B,    MODEL_FREIGHTCAR = 0xAFD22A6,    MODEL_METROTRAIN = 0x33C9E158,    //---------TRAILER    MODEL_ARMYTRAILER = 0xA7FF33F5,    MODEL_BALETRAILER = 0xE82AE656,    MODEL_BOATTRAILER = 0x1F3D44B5,    MODEL_DOCKTRAILER = 0x806EFBEE,    MODEL_GRAINTRAIL = 0x7AD8CEC4,    MODEL_PROPTRAILER = 0x153E1B0A,    MODEL_RAKETRAILER = 0x174CB172,    MODEL_TANKER = 0xD46F4737,    MODEL_TRAILERL = 0x481EB6E8,    MODEL_TRAILER = 0x5C27AA11,    MODEL_TRAILER2 = 0x9B195CEC,    MODEL_TR2 = 0x7BE032C6,    MODEL_TR3 = 0x6A59902D,    MODEL_TRFLAT = 0xAF62F6B2,    MODEL_TRAILERSMAL = 0xFF310F37,    //---------SPECIAL    MODEL_BULLDOZE = 0x6E8A4D8A,    MODEL_CUTTER = 0xC3FBA120,    MODEL_DUMP = 0x810369E2,    MODEL_RHINO = 0x2EA68690,    MODEL_SUBMERSIBLE = 0x2DFF622F,    //---------BOATS    MODEL_DINGHY = 0x3D961290,    MODEL_DINGHY2 = 0x107F392C,    MODEL_MARQUIS = 0xC1CE1183,    MODEL_PREDATOR = 0xE2E7D4AB,    MODEL_JETMAX = 0x33581161,    MODEL_SQUALO = 0x17DF5EC2,    MODEL_SUNTRAP = 0xEF2295C9,    MODEL_SEASHARK = 0xC2974024,    MODEL_TROPIC = 0x1149422F,    //---------HELI    MODEL_ANNIHL = 0x8F4FE53D,    MODEL_BUZZARD = 0x2F03547B,    MODEL_BUZZARD2 = 0x2C75F0DD,    MODEL_CARGOBOB = 0xFCFCB68B,    MODEL_FROGGER = 0x2C634FBD,    MODEL_MAVERICK = 0x9D0450CA,    MODEL_POLMAV = 0x1517D4D9,    MODEL_SKYLIFT = 0x3E48BF23,    //---------BLIMP    MODEL_BLIMP = 0xF7004C86,};

 

 

 

Hope it's useful :)

 

Skorpro

 

 

PS: If you want to create a single hash please use this tool.

Nice looking tool, GTA V uses the Bob Jenkins algorithm, not sure if GTA IV uses it aswell. Take a look at the hash generator I made awhile back. It uses the same algorithm as GTA V.

http://pastebin.com/Va2bRu58

Share this post


Link to post
Share on other sites
jenksta

That tool is for models , not for natives

Note: I'm not sure GTA V is using the same hash algorithm like GTA IV but for the natives it seems to work (GET_PLAYER_PED => 0x6e31e993)...

My original comment was aimed at that part of his post that's all.

Share this post


Link to post
Share on other sites
unknown modder

http://pastebin.com/Va2bRu58

 

Nice looking tool, GTA V uses the Bob Jenkins algorithm, not sure if GTA IV uses it aswell. Take a look at the hash generator I made awhile back. It uses the same algorithm as GTA V.

GTA V's hash function actually uses a StrToLower function before hashing may wanna sort your tool out for that

Share this post


Link to post
Share on other sites

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

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

×

Important Information

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