User:Snert: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 49: Line 49:
setStreetLightsEnabled ( bool toggle ) -- Got to try and find the address for this first though
setStreetLightsEnabled ( bool toggle ) -- Got to try and find the address for this first though
setBackgroundGunshotsEnabled ( bool toggle ) -- Gotta find this one as well.. again...
setBackgroundGunshotsEnabled ( bool toggle ) -- Gotta find this one as well.. again...
setAreaSoundsEnabled ( bool toggle ) -- Sounds for several interiors. Got to try and find this address as well (might merge setBackgroundGunshotsEnabled with this function, as gunshots are an LS area sound, iirc)
setBirdsEnabled ( bool toggle ) -- I hate those pesky poopers at times.. Besides, it doesn't fit in some circumstances.. Gotta find the address D:
setBirdsEnabled ( bool toggle ) -- I hate those pesky poopers at times.. Besides, it doesn't fit in some circumstances.. Gotta find the address D:
areStreetLightsEnabled
areStreetLightsEnabled
areBackgroundGunshotsEnabled
areBackgroundGunshotsEnabled
areAreaSoundsEnabled
areBirdsEnabled
areBirdsEnabled


Line 59: Line 57:
getRainLevel ( ) -- Make an educated guess
getRainLevel ( ) -- Make an educated guess
resetRainLevel ( )
resetRainLevel ( )
setPedBreath ( ped thePed, float breath ) -- For breath, as used underwater
getPedBreath ( ped thePed )


isEventAdded ( string eventName ) -- Should be fairly obvious
isEventAdded ( string eventName ) -- Should be fairly obvious
Line 134: Line 135:


Here are a couple of memory addresses which might be useful for implementing new functions, so I can't forget them.
Here are a couple of memory addresses which might be useful for implementing new functions, so I can't forget them.
===Variables===


{| border="1"
{| border="1"
Line 142: Line 145:
! Comments
! Comments
|-
|-
| Interior music toggle
| Rain
| 00B6DCBC
| 0x0C81324
| Bool (byte)
| float
| Automatically set to 1 when entering any interior.
| Maximum: 1; Decreases over time; Doesn't appear to create thunder; Already in the MTA source
|-
| LS Street lights
| 0x0960CF4
| bool (byte)
| Automatically 1 at night (in LS); Setting this to 0 causes a new light corona to be created at all LS street lights
|}
|}


==Want to add another function / event?==
===Functions===
 
Functions which are setting the above variables


Feel free to edit this page. The more suggestions there are, the more '''''*might*''''' be implemented.
{| border="1"
|-
! Related to
! Address
! Bytes
|-
| Rain
| 0x072bc92 & 0x072c686
| d9 1d 24 13 c8 00
|-
| LS Street lights
| 0x0408989
| c6 87 d0 4c 8e 00 02
|-
| LS Street lights
| 0x040cea3
| c6 45 10 03
|-
| LS Street lights
| 0x040cb71
| c6 83 d0 4c 8e 00 01
|}

Revision as of 17:53, 30 November 2010

Resources

Debug monitor

Resource to easily be able to view server and client debug messages. (remotely)

Created as an example to demonstrate the use of on(Client)DebugMessage.

Images:

 Server-side debug message viewer: http://dl.dropbox.com/u/4504893/images/debugmonitor_editor_s.png
 Client-side debug message viewer: http://dl.dropbox.com/u/4504893/images/debugmonitor_editor_c.png

Download (Note: Only works in 1.1 r2091 and later)

Camo vehicles

When this resource is enabled, boats will get the same color as the water, and planes will get the same color as the sky. What's not to like?

Created as an example to demonstrate the use of getWaterColor, getSkyGradient and RGB vehicle colors.

 Camoplane example: http://www.xfire.com/video/3bcb4b/

Download (Note: Only works in 1.1 r2093 and later)

Function suggestions

Some functions I should work on sometime soon. (sort of my "TODO")

Server-side

-- None at the moment

Client-side

-- None at the moment

Both

setVehicleNitrousActivated ( vehicle theVehicle, bool toggle ) -- Being able to influence NOS would be great (should block GTA from disabling it as well)
isVehicleNitrousActivated ( vehicle theVehicle ) -- Obvious function is obvious
setVehicleNitrousRechargeDelay ( vehicle theVehicle, int delay ) -- Function to set the amount of time the driver has to wait to reactivate NOS
getVehicleNitrousRechargeDelay ( vehicle theVehicle )

setStreetLightsEnabled ( bool toggle ) -- Got to try and find the address for this first though
setBackgroundGunshotsEnabled ( bool toggle ) -- Gotta find this one as well.. again...
setBirdsEnabled ( bool toggle ) -- I hate those pesky poopers at times.. Besides, it doesn't fit in some circumstances.. Gotta find the address D:
areStreetLightsEnabled
areBackgroundGunshotsEnabled
areBirdsEnabled

setRainLevel ( float level ) -- Internally defined and "working", but not used. Needs slight fixing
getRainLevel ( ) -- Make an educated guess
resetRainLevel ( )

setPedBreath ( ped thePed, float breath ) -- For breath, as used underwater
getPedBreath ( ped thePed )

isEventAdded ( string eventName ) -- Should be fairly obvious
isEventHandlerAdded ( string eventName, element attachedTo[, function handlerFunction ] ) -- Should be fairly obvious as well

Event suggestions

Events which might be quite useful. I should work on these sometime soon.

Server-side

onElementCreated ( ) -- Said it will be very slow, but still, it's a quite useful event. Besides, if onElementDestroyed isn't slow, why would this be slow?
onVehicleNitrousActivated ( ) -- Should be fairly obvious
onVehicleNitrousDeactivated ( ) -- Should be fairly obvious
onVehicleTireStateChanged ( int tire, int state ) -- If you'd want vehicles with bulletproof wheels or something, you'd need to detect the state change first

Client-side

onClientElementCreated ( ) -- See server-side
onClientVehicleNitrousActivated ( ) -- See server-side
onClientVehicleNitrousDeactivated ( ) -- See server-side
onClientVehicleTireStateChanged ( int tire, int state ) -- See server-side
onClientVehicleDamage ( float loss ) -- Server-side version already exists, if only there'd be an easy way for it client-side...

FX functions

Doomed_Space_Marine did research on some particle effects on custom models. It would be very cool if we could make functions to do this instead, like we already can with some particle effects. (for instance: fxAddBlood) This would especially be very cool if we would be able to alter the fx, so for instance we could create colored smoke.

fxAddHeliKillBlood
fxAddCarWashEffect
fxAddCement
fxAddClouds -- Note: It's a rather vague type of effect
fxAddCokeTrail
fxAddShower -- Note: Classed as "some water effect", but unknown what type of water effect. Assuming shower
fxAddSmoke
fxAddPour -- Seems more like it should be fxAddPee or fxAddPiss though
fxAddLeaves
fxAddSpray
fxAddFireExtinghuiserEffect
fxAddFlamethrowerFlame
fxAddInsects

Weather functions

Warning: This section is for serious weathermen only!

I recently noticed how many functions MTA actually has to influence the weather. It would be quite awesome if we would be able to influence litterally every factor.

-- We currently have
setWaveHeight
setSkyGradient
setWindVelocity
setCloudsEnabled
setWaterColor

-- We'll need
setRainLevel
setHeatWaveIntensity
setFogDensity
setLightningEnabled -- (I really hope there is some way to separate lightning from rainy weathers)
-- Anything else?

P.S. x86: fix setWeatherBlended, nao

Memory addresses

Here are a couple of memory addresses which might be useful for implementing new functions, so I can't forget them.

Variables

Purpose Address Address type Comments
Rain 0x0C81324 float Maximum: 1; Decreases over time; Doesn't appear to create thunder; Already in the MTA source
LS Street lights 0x0960CF4 bool (byte) Automatically 1 at night (in LS); Setting this to 0 causes a new light corona to be created at all LS street lights

Functions

Functions which are setting the above variables

Related to Address Bytes
Rain 0x072bc92 & 0x072c686 d9 1d 24 13 c8 00
LS Street lights 0x0408989 c6 87 d0 4c 8e 00 02
LS Street lights 0x040cea3 c6 45 10 03
LS Street lights 0x040cb71 c6 83 d0 4c 8e 00 01