Quantcast
Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!   (91,696 visits to this link)

    2. News

    1. GTA Online

      1. Find Lobbies & Players
      2. Guides & Strategies
      3. Vehicles
      4. Content Creator
      5. 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

    2. Red Dead Redemption

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

Seemann

Generic GTA 4 documentation

Recommended Posts

Seemann

As scripting in GTA 4 is more or less available (thanks to Alexander and his Alice), I propose to begin collecting information about how things work. We were doing similar in that topic.

 

So post your findings there.

 

I begin.

 

List of all native functions of GTA 4

 

List of statistics IDs

 

P.S. Please, also consider adding your findings to the GTAModding Wiki! Its really easy and you will much help to the community.

Share this post


Link to post
Share on other sites
ceedj

Gawd I hate to muck up this topic with stupid questions, but I can't reconcile this.

 

In the "example" script main.sc, we have this:

 

CREATE_CAR CAR_CHEETAH -1138.406f -661.471f -100.0f TEST_CAR (5 params)

 

CREATE_CHAR PEDTYPE_CIVMALE male01 1500.0 -1660.0 13.0f test_char (6 params)

 

Looks like our friendly standard GTA III through SA scripting. But in Alexanders used_natives_parameters file, we have this:

 

CREATE_CAR=6, False

 

CREATE_CHAR=7, False

 

In each, an extra parameter. I REALLY want to help figure some of this out, but I can't figure out those extra two params. I thought maybe it was a boolean function in there (true/false), but then you've got this. GET_CAR_MODEL=2, False, which probably follows the old way of Var Car, Var Model.

 

Am I missing something blindingly obvious? cry.gif

 

ALSO, can we load/check model loading with Alice yet?

Edited by ceedj

Share this post


Link to post
Share on other sites
aru

Don't look at main.sc... its the same file that was in SA and hasn't changed! smile.gif

 

If you would like to see some of the natives as they are used in GTAIV to better understand the parameters/etc, the latest version of SparkIV supports decompiling the .sco files into a C-like format. The info from there will certainly help to fill in the Wiki pages smile.gif

Share this post


Link to post
Share on other sites
ceedj

Oh sure, make me look all stupid and stuff. lol.gif

 

Thanks aru, appreciated. smile.gif

 

EDIT: Ok.

 

CREATE_CHAR(26, 0xd55caac, -247.282f, 951.638f, 2.7161f, &L[1123], 1);

 

PedType, Model, X, Y, Z, LocalHandle, Bool(?)

 

Found a 1 at the end of every entry I've seen so far. Maybe it IS a bool? Same with create_car and create_object as well....

 

Interesting. wink.gif

 

EDIT2: Either a defined local (L[1023] packie2) or a hex (0x7eed7363) is used as the model name in most instances. Or this is the decompilation at work.

 

EDIT3: Pedtypes most common are 26 and 25 with a few 4, 5, and 7's sprinkled in. If we follow the old games' tendancies, 4 would be CivMale, 5 is CivFemale, 7 is a gang (I think) and 25 and 26 would be specials. Special Female and Special Male? I'M SPECIAL DARN IT! tounge.gif

Edited by ceedj

Share this post


Link to post
Share on other sites
aru

L[1123] is where the created Char object will be stored... Essentially thats just storage index in the Script Local Variables (only used for that script). When its a G[xxx], thats the Global Variables shared by all scripts.

 

So passing in &L[1123] is just passing a pointer to that. After the function is called L[1122] would return the Char object. And yeah, the last param always seems to be 1. Unfortunately, the script engine doesn't differentiate between ints or bools.

 

Edit: Oh yeah, the models are all hashes. No real names are used... we have a make a mapping of the hash -> names.

Share this post


Link to post
Share on other sites
ceedj

 

L[1123] is where the created Char object will be stored... Essentially thats just storage index in the Script Local Variables (only used for that script). When its a G[xxx], thats the Global Variables shared by all scripts.

 

So passing in &L[1123] is just passing a pointer to that. After the function is called L[1122] would return the Char object. And yeah, the last param always seems to be 1. Unfortunately, the script engine doesn't differentiate between ints or bools.

 

Edit: Oh yeah, the models are all hashes. No real names are used... we have a make a mapping of the hash -> names.

Ok, I think that's the technical/C way of saying L[1122] = @ACTOR_PACKIE, since it does essentailly what you just described. I think most of us are used to Barton's/Sanny way of describing things, hence the sort of confusion.

 

I suck at pointers BTW. Can't you tell? lol.gif

 

Shame I have to work early tomorrow; I could mess with this stuff all night. Thanks again for putting the work into this. smile.gif.

 

EDIT: Oh, I see what you are saying, you were referring to the local in the model slot. Yeah, same thing, I think.

Edited by ceedj

Share this post


Link to post
Share on other sites
aru

Yup.. I saw the Barton/Sanny way of doing things and I found it too confusing for myself, so I went with a C like approach. Besides, that was dealing with opcodes, however this is more like real code when decompiled.

Share this post


Link to post
Share on other sites
Simon.

I was looking at the sixaxis tutorial script (sixaxistutorial.sco in script.img) and these stood out:

 

LOAD_TXD( szTextureLibrary[ ] ); // Returns iTextureLibraryHandle (szTextureLibrary is a *.wtd file)

GET_TEXTURE( iTextureLibraryHandle, szTextureName[ ] ); // Returns iTextureHandle (szTextureName is a *.dds file within the TextureLibrary)

 

RELEASE_TEXTURE( iTextureHandle ); // Released before REMOVE_TXD

REMOVE_TXD( iTextureLibraryHandle ); // Released after releasing the textures

 

The textures must be drawn with DRAW_SPRITE for them actually to show up, there's work with things named "widgets" so it gets very confusing here. I'll note down what I think for reference:

 

DRAW_SPRITE( iTextureHandle, fXPosition(?), fYPosition(?), iWidgetFloatSliderReference(?), iWidgetFloatSliderReference(?), fA, iB, iC, iD, iE);

 

iB, iC, iD, iE commonly had the values of "255, 255, 255, 255". I'm assuming that they're "Alpha, Red, Green, Blue" or "Red, Green, Blue, Alpha" values.

 

fA commonly had the value of 0.0f, I have no clue what it stands for but rotation on screen or size scale are hunches.

 

fXPosition and fYPosition were assumed because I see no other place where the X, Y position of the sprite is determined. Unless of course they're determined in the "ADD_WIDGET_FLOAT_SLIDER" function, if they're not position then they I'd assume they're XScale and YScale. The y-value was associated with the second reference value in "GET_HELP_MESSAGE_BOX_SIZE" (this function has 2 parameters, which are both reference values (X and Y scale?)).

 

Anyways, I think I'm blabbering now blush.gif ...

Share this post


Link to post
Share on other sites
ceedj

How...wha...whe...did...

 

ARGH!!!!

 

I hate that ya'll are so much smarter than I. lol.gif

 

Oh, nice job too Seemann. And thanks for fixing my Wiki entries; I'll do my best to use your format in the future. wink.gif

 

EDIT: Added a few more to the Wiki (CREATE OBJECT, CREATE CAM, some others).

Edited by ceedj

Share this post


Link to post
Share on other sites
klanly

 

My question: How to use these hashes in the lua script? Is it PushInt(Dec.), or Pushxxx(Hex.)?

 

I've found something like this in network_main.sco (which in script_network.img):

 

CHANGE_PLAYER_MODEL(sub_bb(), GET_PLAYERSETTINGS_MODEL_CHOICE())

 

the "sub_bb" is playerindex; the "GET_PLAYERSETTINGS_MODEL_CHOICE()" may be the hash, for there is REQUEST_MODEL(GET_PLAYERSETTINGS_MODEL_CHOICE()) in this script.

 

BTW, the native CHANGE_PLAYER_MODEL do change the model (or props) of the player, here's a video of "transformation" below..

 

 

(I didn't know anything about hashs when i made this video. Maybe some program exception caused this result biggrin.gif )

 

Thanks for reply.

Edited by klanly

Share this post


Link to post
Share on other sites
Seemann

 

My question: How to use these hashes in the lua script? Is it PushInt(Dec.), or Pushxxx(Hex.)?

Hash decimal and hash hexadimal are same numbers they are just in different representation. You may use any of them. According to the Lua manual it supports both types.

 

 

Lua also accepts integer hexadecimal constants, by prefixing them with 0x.

 

And both these numbers are integer so use PushInt.

 

@aru, Simon, ceedj: thanks for your articles smile.gif

Share this post


Link to post
Share on other sites
mystra007

I just wanted to know where we were about the .sco file format. I'm trying to decipher the format myself, but I think its a bit useless since I assume it's already "readable" and full of opcodes? What about the WHM? They all seem to start with the same script command:

 

unsigned char rawData[16] =

{

0x52, 0x53, 0x43, 0x05, 0x01, 0x00, 0x00, 0x00, 0x18, 0x18, 0x1A, 0xD4, 0x78, 0xDA, 0xEC, 0x7D,

} ;

 

0x78 to 0x7D seems to be common to all WHM files. (Except for the header which I assume to be 0x52 to the double 0x18s)

Share this post


Link to post
Share on other sites
aru
I just wanted to know where we were about the .sco file format. I'm trying to decipher the format myself, but I think its a bit useless since I assume it's already "readable" and full of opcodes? What about the WHM? They all seem to start with the same script command:

 

unsigned char rawData[16] =

{

0x52, 0x53, 0x43, 0x05, 0x01, 0x00, 0x00, 0x00, 0x18, 0x18, 0x1A, 0xD4, 0x78, 0xDA, 0xEC, 0x7D,

} ;

 

0x78 to 0x7D seems to be common to all WHM files. (Except for the header which I assume to be 0x52 to the double 0x18s)

You could look at the SparkIV source code to figure out most of the sco format... perhaps someone can write it up neatly on the wiki... since the source is somewhat crude.

 

http://code.google.com/p/gtaivtools/source...cripting/Script

 

Key files of interest:

File.cs

Header.cs

OpCode.cs (Note that I mostly named the OpCode by myself, and they're not "real" R* names... perhaps we need to standardize on something for the OpCode definitions)

 

Share this post


Link to post
Share on other sites
Sacky

Does anyone know what the parameters of ACTIVATE_SCRIPTED_CAMS are? I know there are 2 bools and no return, but I can't decide what each represents.

Share this post


Link to post
Share on other sites
spaceeinstein

Is there anyway to get the names of the garages? I'm using the Placement Tool and it views the garage names as hash. This is what I have from the SCO files

 

bs3MG - Garage used in "Clean Getaway"

BxGRG1 - Stevie's garage

PaulMH3 - Garage used in "Harboring a Grudge"

QW2MG1 - Garage used in "Crime and Punishment"

 

EDIT AGAIN: Interesting functions

SET_PHONE_HUD_ITEM

Shows the little message above the radar when you receive a text or contact, this shows a list of available IDs for each event.

 

START_CUSTOM_MOBILE_PHONE_RINGING

A COMPLETE list of all available ringtones in the game. It even includes audio clips for most of the ringtones!

 

TRIGGER_POLICE_REPORT

The police scanner reporting a major incident, this lists all available audio that can be played.

Edited by spaceeinstein

Share this post


Link to post
Share on other sites
ceedj

GIVE_WEAPON_TO_CHAR

 

Param 4 is 0 (hidden) or 1 (showing). Wiki page updated.

 

Also, weapon models (and the cell phone) are automatically loaded with the native, unlike III era games where you must request the model first.

 

EDIT:

 

(1)TERMINATE_ALL_SCRIPTS_WITH_THIS_NAME (script name (no extension))

 

Very handy. This:

 

TerminateAllScriptsWithThisName("spcellphone");TerminateAllScriptsWithThisName("spcellphonecalling");TerminateAllScriptsWithThisName("spcellphonedebug");TerminateAllScriptsWithThisName("spcellphoneendcall");TerminateAllScriptsWithThisName("spcellphonemain");TerminateAllScriptsWithThisName("spcellphonenetwork");TerminateAllScriptsWithThisName("spcellphonetutorial");

 

Turns off that damn cell phone. lol.gif

 

(2)DISABLE_CAR_GENERATORS (bool - on off, unknown)(0)SET_ALL_CAR_GENERATORS_BACK_TO_ACTIVE (none)(1)SET_PARKED_CAR_DENSITY_MULTIPLIER (float)(1)SET_PED_DENSITY_MULTIPLIER (float)(1)SET_CAR_DENSITY_MULTIPLIER (float)(1)SET_RANDOM_CAR_DENSITY_MULTIPLIER (float)

 

 

EDIT AGAIN:

 

It appears that TASK_DRIVE_CAR_TO_COORD can only be done inside a Sequence Task. BOO! Create the task (Open Sequence Task), Put in the task to do, close it, then run it (Task Perform Sequence). Here's what I THINK the parameters are for Drive To Coords:

 

TaskCarDriveToCoord(0, AnCar, fX, fY, fZ, 15.0f, 1, 0, 2, 5.0f, -1);p1 = Always zero? (int)p2 = veh handle (pointer)p3 - p5 = x,y,z coords (floats)p6 = veh speed (float)p7 = unk behav (int)p8 = 0 OR model hash, typically of the veh used in p2 (int or hash)p9 = unk behav (int)p10 = stop range? though sometimes a -1 (float?)p11 = unk behav, though a lot of times -1 (int)

 

Edited by ceedj

Share this post


Link to post
Share on other sites
ceedj

GET_CHAR_DRAWABLE_VARIATION

 

GET_CHAR_TEXTURE_VARIATION

 

Ah. the two most ass-backwards natives I've seen yet in the game. Works like so:

 

 

int var = GET_CHAR_DRAWABLE_VARIATION(actor, variation(0-10))int var = GET_CHAR_TEXTURE_VARIATION(actor, variation(0-10))

 

 

In the style of the old Barton way of doing things, the "variable" is first, with the actor and variation number set after. You can set it with

 

 

SET_CHAR_COMPONENT_VARIATION(actor, component, model variation, texture variation)

 

 

The components, found by aru, as as follows (from his C++ hook):

 

 

// This is a complete guess and needs to be properly tested and verified...0 = PED_COMPONENT_HEAD,  // head1 = PED_COMPONENT_UPPER,	// uppr2 = PED_COMPONENT_LOWER,	// lowr2 = PED_COMPONENT_SUSE,  // suse4 = PED_COMPONENT_HAND,  // hand5 = PED_COMPONENT_FEET,  // feet6 = PED_COMPONENT_JACKET,	// jack7 = PED_COMPONENT_HAIR,  // hair8 = PED_COMPONENT_SUS2,  // sus29 = PED_COMPONENT_TEEF,  // teef10 = PED_COMPONENT_FACE,  // face

 

 

Now that my save/load routine is working, I may make a small version of the Studios mod to help us find what variations are what; for example, there's about 4 or 5 different variations of the M_Y_STREETPUNK_05 model/texture, which allows for different hairstyles, coats and other stuff.

Share this post


Link to post
Share on other sites
dayaan

I've successfully littered on GTAForums some more and posted wrongly biggrin.gif

 

My apologies, because this belongs here:

" ATTACH_CAR_TO_CAR "

 

My misplaced topic

 

Greetz!

Share this post


Link to post
Share on other sites
ceedj

 

It appears that TASK_DRIVE_CAR_TO_COORD can only be done inside a Sequence Task. BOO! Create the task (Open Sequence Task), Put in the task to do, close it, then run it (Task Perform Sequence). Here's what I THINK the parameters are for Drive To Coords:

 

TaskCarDriveToCoord(0, AnCar, fX, fY, fZ, 15.0f, 1, 0, 2, 5.0f, -1);p1 = Always zero? (int)p2 = veh handle (pointer)p3 - p5 = x,y,z coords (floats)p6 = veh speed (float)p7 = unk behav (int)p8 = 0 OR model hash, typically of the veh used in p2 (int or hash)p9 = unk behav (int)p10 = stop range? though sometimes a -1 (float?)p11 = unk behav, though a lot of times -1 (int)

 

Ok, I seem to have worked out a couple of the 'driving style' in param 7 for the above, which appears to hold true for param 7 in TASK_CAR_MISSION as well:

 

0 - Normal driving, stop for traffic lights

1 - Ignore traffic lights, drive around traffic

2 - Ignore streets, try to drive directly to point

3 - Ignore traffic lights, stay in lane

 

Just for kicks, here's TASK_CAR_MISSION:

 

 

"TASK_CAR_MISSION", ped, vehicle, targetEntity, missionType, speed, drivingStyle, unknown, unknown

 

 

So far, only mission types 5(wait), 12(follow) and 21(drive to player) are known. I believe you'd need to set MARK_CAR_AS_CONVOY_CAR to true for each car as well for the follow to work properly (as done in bell3.sco). I will try to test out some more in the near future, to help make it more complete.

Edited by ceedj

Share this post


Link to post
Share on other sites
spaceeinstein

To detail the ped component, "suse" seems to be bags and vests and "sus2" seems to be the balaclava. What does "suse" means?

Share this post


Link to post
Share on other sites
Hypertenzion

Hey all!

I would be very happy if you guys could help me with something smile.gif

I am searching for hashes for the cars.

I have already found the existing hashes here: http://www.gtamodding.com/index.php?title=...f_models_hashes

 

But how do I get NEWLY ADDED cars' hash?

Let me just be clear: It is not replaced cars, but totally NEW cars that has a name like "audia8" and "audir8" (but the name of the car ingame, when you enter the car is like the existing cars)

 

How do I get these hashes from new cars?

I have no idea dontgetit.gif

Share this post


Link to post
Share on other sites
spaceeinstein

Is "IS_CONTROL_PRESSED" documented anywhere? I have a way of testing most of the values by checking each key one at a time, which is tedious and keyboard-breaking but I don't know how to find a faster way.

 

This is different from the key-check opcode from previous games. One number doesn't check two keys anymore, it'll only check one. I don't know what the first parameter is. The second parameter checks which key with the assigned control is pressed. Most keys depends on the control configuration but some that don't are denoted with an asterisk. Here are what I found so far:

0 - General - Change Camera

1 - On Foot - Sprint

2 - On Foot - Jump

3 - On Foot - Enter/Exit Vehicle

4 - On Foot - Attack

7 - General - Look Behind

8 - On Foot - Next Weapon

9 - On Foot - Previous Weapon

*10 - mouse wheel up

*11 - mouse wheel down

23 - On Foot - Action

*38 - left mouse button

*39 - right ctrl

40 - In Vehicle - Accelerate

41 - In Vehicle - Brake

42 - In Vehicle - Headlight

43 - On Foot - Enter/Exit Vehicle

46 - In Vehicle - Hotwire 1

47 - In Vehicle - Hotwire 2

50 - In Vehicle - Look Behind

51 - In Vehicle - Cinematic Camera

52 - In Vehicle - Next Radio Station

53 - In Vehicle - Previous Radio Station

54 - In Vehicle - Horn

55 - Helicopter - Throttle Up

56 - Helicopter - Throttle Down

58 - Helicopter - Rotate Right

59 - Combat - Punch 1

60 - Combat - Punch 2

*61 - esc (supposedly melee with weapon based on pattern but it's not configurable)

62 - Combat - Kicked (while locked on)

63 - Combat - Block (while locked on)

*64 - down arrow

*65 - up arrow

*66 - left arrow

*67 - right arrow

*77 - both enter keys

*78 - backspace

*79 - space

*80 - f

*81 - e

*82 - q

*83 - mouse wheel down

*84 - mouse wheel up

*98 - space

*137 - left mouse button

 

I have made a complete list of AWARD_ACHIEVEMENT by comparing the list on Rockstar's site and the ones in the game. I don't want to test it right now but is it possible to cheat the achievements?

Edited by spaceeinstein

Share this post


Link to post
Share on other sites
ZAZ

 

Is "IS_CONTROL_PRESSED" documented anywhere? I have a way of testing most of the values by checking each key one at a time, which is tedious and keyboard-breaking but I don't know how to find a faster way.

 

This is different from the key-check opcode from previous games. One number doesn't check two keys anymore, it'll only check one. I don't know what the first parameter is. The second parameter checks which key with the assigned control is pressed. Most keys depends on the control configuration but some that don't are denoted with an asterisk. Here are what I found so far:

0 - General - Change Camera

1 - On Foot - Sprint

2 - On Foot - Jump

3 - On Foot - Enter/Exit Vehicle

4 - On Foot - Attack

7 - General - Look Behind

8 - On Foot - Next Weapon

9 - On Foot - Previous Weapon

*10 - mouse wheel up

*11 - mouse wheel down

23 - On Foot - Action

*38 - left mouse button

*39 - right ctrl

40 - In Vehicle - Accelerate

41 - In Vehicle - Brake

42 - In Vehicle - Headlight

43 - On Foot - Enter/Exit Vehicle

46 - In Vehicle - Hotwire 1

47 - In Vehicle - Hotwire 2

50 - In Vehicle - Look Behind

51 - In Vehicle - Cinematic Camera

52 - In Vehicle - Next Radio Station

53 - In Vehicle - Previous Radio Station

54 - In Vehicle - Horn

55 - Helicopter - Throttle Up

56 - Helicopter - Throttle Down

58 - Helicopter - Rotate Right

59 - Combat - Punch 1

60 - Combat - Punch 2

*61 - esc (supposedly melee with weapon based on pattern but it's not configurable)

62 - Combat - Kicked (while locked on)

63 - Combat - Block (while locked on)

*64 - down arrow

*65 - up arrow

*66 - left arrow

*67 - right arrow

*77 - both enter keys

*78 - backspace

*79 - space

*80 - f

*81 - e

*82 - q

*83 - mouse wheel down

*84 - mouse wheel up

 

I have made a complete list of AWARD_ACHIEVEMENT by comparing the list on Rockstar's site and the ones in the game. I don't want to test it right now but is it possible to cheat the achievements?

Thx spaceeinstein, this will be very useful cookie.gif

 

In addition I found a method to use GET_MOUSE_INPUT to change player z angle

GET_MOUSE_INPUT returns a astronomical integer, subtract 4294967300 to get the ciro position

A snippet from my alice script:

 

local zangle = {}GET_CHAR_HEADING(PLAYER_CHAR, zangle)local Xxs = {} local Yps = {}  local znon = {} local znone = {}GET_MOUSE_INPUT(Xxs, Yps, znon, znone)if (Xxs.a >= 200) thenXxs.a = Xxs.a - 4294967300endXxs.a = Xxs.a / itof(5.0)Xxs.a = Xxs.a * -1zangle.b = zangle.b + Xxs.aSET_CHAR_HEADING(PLAYER_CHAR, zangle.b)

 

It's possible to caculate the returned integer with floats

Share this post


Link to post
Share on other sites
nomo
In addition I found a method to use GET_MOUSE_INPUT to change player z angle

GET_MOUSE_INPUT returns a astronomical integer, subtract 4294967300 to get the ciro position

A snippet from my alice script:

 

local zangle = {}GET_CHAR_HEADING(PLAYER_CHAR, zangle)local Xxs = {} local Yps = {}  local znon = {} local znone = {}GET_MOUSE_INPUT(Xxs, Yps, znon, znone)if (Xxs.a >= 200) thenXxs.a = Xxs.a - 4294967300endXxs.a = Xxs.a / itof(5.0)Xxs.a = Xxs.a * -1zangle.b = zangle.b + Xxs.aSET_CHAR_HEADING(PLAYER_CHAR, zangle.b)

 

It's possible to caculate the returned integer with floats

You were probably getting the Mouse coordinates with an unsigned variable, but mouse coordinates can be negative. Use int instead of u32.

Share this post


Link to post
Share on other sites
Erem

Whilst playing around with CHANGE_BLIP_COLOUR(blipHandle, colour), I wasn't able to find any information on what blip colours it could take, so I'll post what I've discovered so far.

 

As my colour vocabulary is limited pretty much to the colours of the balls on a snooker table, I won't attempt to name the colours but will just list their RGB values instead. (I'll update this post with a more helpful image of the colours just as soon as I remember the password to my Photobucket account.)

 

user posted image

 

0: 248, 252, 248

1: 200, 153, 151

2: 85, 122, 85

3: 147, 198, 200

4: 219, 222, 219

5: 209, 194, 118

6: 224, 109, 0

7: 125, 0, 204

8: 9, 172, 0

9: 175, 29, 0

10: 180, 98, 96

11: 140, 78, 20

12: 40, 149, 135

13: 146, 252, 248

14: 210, 204, 126

15: 3, 99, 70

16: 65, 55, 160

17: 184, 151, 227

18: 191, 109, 66

19: 167, 188, 24

20: 109, 101, 45

21: 133, 28, 100

22: 137, 133, 235

23: 248, 185, 68

24: 79, 0, 236

25: 151, 231, 100

26: 248, 252, 73

27: 59, 164, 229

28: 248, 0, 248

29: 197, 157, 111

30: 1, 74, 0

31 onwards not yet tested

 

Note that the one known colour listed on the wiki (4 = Teal) is incorrect. The value 4 actually gives a light grey blip. SET_BLIP_AS_FRIENDLY(blipHandle, 1) does however change the blip colour to teal so if you want a blip to be a different colour, SET_BLIP_AS_FRIENDLY should precede CHANGE_BLIP_COLOUR but not follow it, otherwise your colour choice will be overridden. Similarly, if you use SET_CHAR_AS_ENEMY(pedHandle, 1) and want the character's blip to be a colour other than red, call SET_CHAR_AS_ENEMY before CHANGE_BLIP_COLOUR.

Edited by Erem

Share this post


Link to post
Share on other sites
Shaunr

use cheats on phone in multiplayer? how?

Share this post


Link to post
Share on other sites
NTAuthority
Whilst playing around with CHANGE_BLIP_COLOUR(blipHandle, colour), I wasn't able to find any information on what blip colours it could take, so I'll post what I've discovered so far.

Does passing a random RGBA (in a single DWORD) value still work as it did in San Andreas?

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.