https://wiki.multitheftauto.com/api.php?action=feedcontributions&user=D0c&feedformat=atomMulti Theft Auto: Wiki - User contributions [en]2024-03-28T14:43:25ZUser contributionsMediaWiki 1.39.3https://wiki.multitheftauto.com/index.php?title=Client_Scripting_Events&diff=14834Client Scripting Events2008-01-12T17:59:19Z<p>D0c: Changed introduction</p>
<hr />
<div><pageclass class="client"></pageclass><br />
This page lists all '''client-side''' scripting [[event]]s that have been implemented and are available in the Deathmatch mod. To request a function or event, use [[Requested Functions and Events]].<br />
<br />
'''Server-side scripting events can be found here: [[Server Scripting Events]]<br />
<br />
==Colshape events==<br />
{{Client_colshape_events}}<br />
<br />
==Element events==<br />
{{Client_element_events}}<br />
<br />
==GUI events==<br />
{{GUI_events}}<br />
<br />
==Player events==<br />
{{Client_player_events}}<br />
<br />
==Resource events==<br />
{{Client_resource_events}}<br />
<br />
==Vehicle events==<br />
{{Client_vehicle_events}}<br />
<br />
==Other events==<br />
{{Client_other_events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleExplode&diff=14833OnVehicleExplode2008-01-12T17:53:12Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a vehicle explodes.<br />
<br />
==Parameters==<br />
No arguments<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] that exploded.<br />
<br />
==Example== <br />
<syntaxhighlight lang="lua"><br />
vagosVehicle = nil<br />
<br />
-- This will get called when the vagos vehicle explodes<br />
function onVagosVehicleExplode ()<br />
outputChatBox ( "VAGOS VEHICLE DESTROYED!" )<br />
end<br />
<br />
-- This is called when THIS resource starts<br />
function onThisResourceStart ()<br />
<br />
-- Create the vagos vehicle. A van.<br />
vagosVehicle = createVehicle ( 522, 0, 0, 5 )<br />
<br />
-- Add its explode handler. When this car explodes, onVagosVehicleExplode is called<br />
addEventHandler ( "onVehicleExplode", vagosVehicle, onVagosVehicleExplode )<br />
end<br />
<br />
--Add the resource start event<br />
addEventHandler ( "onResourceStart", getResourceRootElement ( getThisResource () ), onThisResourceStart )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleExit&diff=14832OnVehicleExit2008-01-12T17:53:12Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player leaves a vehicle.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
player player, int seat, player jacker<br />
</syntaxhighlight> <br />
<br />
*'''player''': A player element representing the player who exited the vehicle<br />
*'''seat''': An integer representing the seat in which the player exited from<br />
*'''jacker''': A player element representing the player who jacked the driver<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] that was entered.<br />
<br />
==Example== <br />
This example adds a 'moto' helmet to a player when he gets on a nrg bike, and removes it when he gets off.<br />
<syntaxhighlight lang="lua"><br />
function addHelmetOnEnter ( player, seat, jacked )<br />
if ( getVehicleID ( source ) == 522 ) then -- if its a nrg<br />
addPlayerClothes ( player, "moto", "moto", 16 ) -- add the helmet<br />
end<br />
end<br />
addEventHandler ( "onVehicleEnter", getRootElement(), addHelmetOnEnter )<br />
<br />
function removeHelmetOnExit ( player, seat, jacked )<br />
if ( getVehicleID ( source ) == 522 ) then -- if its a nrg<br />
removePlayerClothes ( player, 16 ) -- remove the helmet<br />
end<br />
end<br />
addEventHandler ( "onVehicleExit", getRootElement(), removeHelmetOnExit )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleEnter&diff=14831OnVehicleEnter2008-01-12T17:53:10Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player enters a vehicle.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
player thePlayer, int seat, player jacked<br />
</syntaxhighlight> <br />
<br />
*'''thePlayer''': A player element representing the player who is entering the vehicle<br />
*'''seat''': An integer representing the seat in which the player is entering<br />
*'''jacked''': A player element representing a player who has been jacked<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] that was entered.<br />
<br />
==Example== <br />
'''Example 1:''' This example forces a player out of a police vehicle if he is not a policeman.<br />
<syntaxhighlight lang="lua"><br />
policeVehicles { [598]=true,[596]=true,[597]=true,[599]=true }<br />
policeSkins { [280]=true,[281]=true,[282]=true,[283]=true,[284]=true,[285]=true,[286]=true }<br />
<br />
function enterVehicle ( player, seat, jacked ) --when a player enters a vehicle<br />
if ( policeVehicles[getVehicleID(source)] ) and ( not policeSkins[getPlayerSkin(player)] ) then --if the vehicle is one of 4 police cars, and the skin is not a police skin<br />
removePlayerFromVehicle ( player )--force the player out of the vehicle<br />
outputChatBox ( "Only policeman can enter police cars!", player ) --and tell the player why<br />
end<br />
end<br />
addEventHandler ( "onVehicleEnter", getRootElement(), enterVehicle ) --add an event for onPlayerEnterVehicle<br />
</syntaxhighlight><br />
<br />
'''Example 2:''' This example adds a 'moto' helmet to a player when he gets on a nrg bike, and removes it when he gets off.<br />
<syntaxhighlight lang="lua"><br />
function addHelmetOnEnter ( player, seat, jacked )<br />
if ( getVehicleID ( source ) == 522 ) then -- if its a nrg<br />
addPlayerClothes ( player, "moto", "moto", 16 ) -- add the helmet<br />
end<br />
end<br />
addEventHandler ( "onVehicleEnter", getRootElement(), addHelmetOnEnter )<br />
<br />
function removeHelmetOnExit ( player, seat, jacked )<br />
if ( getVehicleID ( source ) == 522 ) then -- if its a nrg<br />
removePlayerClothes ( player, 16 ) -- remove the helmet<br />
end<br />
end<br />
addEventHandler ( "onVehicleExit", getRootElement(), removeHelmetOnExit )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleStartEnter&diff=14830OnVehicleStartEnter2008-01-12T17:53:08Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player starts to enter a vehicle. This event can be used to cancel entry, if necessary.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
player enteringPlayer, int seat, player jacked<br />
</syntaxhighlight> <br />
<br />
*'''enteringPlayer''': A player element representing the player who is starting to enter a vehicle<br />
*'''seat''': An integer representing the seat in which the player is entering<br />
*'''jacked''': A player element representing who is going to be jacked<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] in which a player began to enter.<br />
<br />
===Canceling===<br />
If this event is [[Event system #Canceling|canceled]], the player will not enter the vehicle.<br />
<br />
==Example== <br />
This example blocks a player out of a police vehicle if he is not a policeman.<br />
<syntaxhighlight lang="lua"><br />
policeVehicles = { [598]=true,[596]=true,[597]=true,[599]=true }<br />
policeSkins = { [280]=true,[281]=true,[282]=true,[283]=true,[284]=true,[285]=true,[286]=true }<br />
<br />
function enterVehicle ( player, seat, jacked ) --when a player enters a vehicle<br />
if ( policeVehicles[getVehicleID(source)] ) and ( not policeSkins[getPlayerSkin(player)] ) then --if the vehicle is one of 4 police cars, and the skin is not a police skin<br />
cancelEvent()<br />
outputChatBox ( "Only policeman can enter police cars!", player ) --and tell the player why<br />
end<br />
end<br />
addEventHandler ( "onVehicleStartEnter", getRootElement(), enterVehicle ) --add an event for onPlayerEnterVehicle<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleStartExit&diff=14829OnVehicleStartExit2008-01-12T17:53:08Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player starts to exit a vehicle. This event can be used to cancel exit, if necessary.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
player exitingPlayer, int seat, player jacked<br />
</syntaxhighlight> <br />
<br />
*'''enteringPlayer''': A player element representing the player who is starting to exit a vehicle<br />
*'''seat''': An integer representing the seat in which the player is exiting from<br />
*'''jacked''': A player element representing who is jacking<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] in which a player began to exit.<br />
<br />
===Canceling===<br />
If this event is [[Event system #Canceling|canceled]], the player will not exit the vehicle.<br />
<br />
==Example== <br />
This example locks a player inside a police vehicle if he is a policeman.<br />
<syntaxhighlight lang="lua"><br />
policeVehicles { [598]=true,[596]=true,[597]=true,[599]=true }<br />
policeSkins { [280]=true,[281]=true,[282]=true,[283]=true,[284]=true,[285]=true,[286]=true }<br />
<br />
function exitVehicle ( player, seat, jacked ) --when a player enters a vehicle<br />
if ( policeVehicles[getVehicleID(source)] ) and ( policeSkins[getPlayerSkin(player)] ) then --if the vehicle is one of 4 police cars, and the skin is a police skin<br />
cancelEvent()<br />
outputChatBox ( "You're the cop! Don't exit the car!", player ) --and tell the player why<br />
end<br />
end<br />
addEventHandler ( "onVehicleStartExit", getRootElement(), exitVehicle ) --add an event for onPlayerEnterVehicle<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleRespawn&diff=14828OnVehicleRespawn2008-01-12T17:53:05Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a vehicle is respawned due. See [[toggleVehicleRespawn]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
bool exploded<br />
</syntaxhighlight> <br />
<br />
*'''exploded''': ''true'' if this vehicle respawned because it exploded, ''false'' if it respawned due to being deserted.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] that respawned.<br />
<br />
==Example== <br />
This example shows a message in the chatbox, if it is respawned.<br />
<syntaxhighlight lang="lua"><br />
function onVehicleRespawn ( exploded )<br />
-- Add this variable. It contains the vehicle name of the respawned vehicle<br />
local vehicleName = getVehicleName ( source )<br />
<br />
-- If it is exploded, echo a custom message<br />
if ( exploded == true ) then <br />
outputChatBox("A " .. vehiclename .. " has been respawned, after an explosion")<br />
<br />
-- else echo a normal message<br />
else <br />
outputChatBox("A " .. vehiclename .. " has been respawned")<br />
end<br />
end<br />
<br />
-- Add the Event Handler<br />
addEventHandler ( "OnVehicleRespawn", getRootElement(), onVehicleRespawn )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnVehicleDamage&diff=14827OnVehicleDamage2008-01-12T17:53:03Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a vehicle encounters damage.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
float loss<br />
</syntaxhighlight> <br />
<br />
*'''loss''': A float representing the amount of health the vehicle lost.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[vehicle]] that got damaged.<br />
<br />
==Example== <br />
This example page lacks an example<br />
<syntaxhighlight lang="lua"><br />
--add an example here<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnTrailerDetach&diff=14826OnTrailerDetach2008-01-12T17:53:03Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a trailer is detached from a truck.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
vehicle theTruck<br />
</syntaxhighlight> <br />
<br />
*'''theTruck''': The truck vehicle that this trailer got detached from.<br />
<br />
<!-- Add the event's source in the section below --><br />
==Source==<br />
The [[event system#Event source|source]] of this event is the trailer [[vehicle]] that the truck got detached from.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnTrailerAttach&diff=14825OnTrailerAttach2008-01-12T17:53:00Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a trailer is attached to a truck.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
vehicle theTruck<br />
</syntaxhighlight> <br />
<br />
*'''theTruck''': The truck vehicle that got attached to this trailer<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the trailer [[vehicle]] that the truck got attached to.<br />
<br />
<!-- Only include this section below if cancelling the event has any effect. If you don't know if it does, ask a dev! --><br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the trailer will detach from the truck again.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Vehicle events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnBan&diff=14824OnBan2008-01-12T17:50:34Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when an IP address or serial is banned from the server.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string theIPOrSerial<br />
</syntaxhighlight> <br />
<br />
*'''theIPOrSerial''': The IP address or serial that was banned from the server.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[element]] that was responsible for the banning. If no responsible was specified, the source is the global root element.<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the requested ban is not performed.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
root = getRootElement()<br />
<br />
function announceBan( sz )<br />
if getElementType( source ) then --Check if a player banned the IP/Serial<br />
outputChatBox( getClientName( source ) .. " banned " .. sz ) --Output to the chatbox saying the player has banned the IP/Serial<br />
end<br />
end<br />
<br />
addEventHandler( "onBan", root, announceBan ) --Adds the event handler for 'onBan'<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Server events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnUnban&diff=14823OnUnban2008-01-12T17:50:33Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when an IP address or serial is unbanned from the server.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string theIPOrSerial<br />
</syntaxhighlight> <br />
<br />
*'''theIPOrSerial''': The IP address or serial that was unbanned from the server.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[element]] that was responsible for the unbanning. If no responsible was specified, the source is the global root element.<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the requested unban is not performed.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
root = getRootElement()<br />
<br />
function announceUnban( sz )<br />
if getElementType( source ) then --Check if a player unbanned the IP/Serial<br />
outputChatBox( getClientName( source ) .. " unbanned " .. sz ) --Output to the chatbox saying the player has unbanned the IP/Serial<br />
end<br />
end<br />
<br />
addEventHandler( "onUnban", root, announceUnban ) --Adds the event handler for 'onUnban'<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Server events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnResourceStart&diff=14822OnResourceStart2008-01-12T17:49:12Z<p>D0c: See Also for server events</p>
<hr />
<div>{{Server event}}<br />
__NOTOC__<br />
This event is triggered when a resource is loaded.<br />
<br />
'''Important:''' If you attach this event to the root element it will called when ''any'' resource starts, not just the resource your script is running inside. As such, most of the time you will want to check that the resource passed to this event matches your resource (compare with the value returned by [[getThisResource]]) before doing anything. Alternatively you can attach the event to [[getResourceRootElement]]([[getThisResource]]()).<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
void onResourceStart ( resource startedResource )<br />
</syntaxhighlight> <br />
<br />
*'''startedResource''': The resource that was started<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the root [[element]] in the resource that started.<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the resource starting is aborted and is gets unloaded again.<br />
<br />
==Example==<br />
This code will output the name of any resource that is started.<br />
<syntaxhighlight lang="lua"><br />
function displayLoadedRes ( res )<br />
outputChatBox ( "Resource " .. getResourceName(res) .. " loaded", getRootElement(), 255, 255, 255 )<br />
end<br />
addEventHandler ( "onResourceStart", getRootElement(), displayLoadedRes )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Resource events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnResourceStop&diff=14821OnResourceStop2008-01-12T17:49:12Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when the resource is stopped. This can occur for a number of reasons:<br />
* The ''stop'' console command was used<br />
* The ''restart'' console command was used<br />
* The resource was modified (the resource will automatically restart)<br />
* Another resource stopped it using [[stopResource]].<br />
<br />
'''Note:''' If you wish to just detect a single resource being stopped, you should attach handlers for this event to the resource's root element. You can access this using [[getResourceRootElement]]. <br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
element theResourceStopped<br />
</syntaxhighlight> <br />
<br />
*'''theResourceStopped''': The resource that is being stopped.<br />
<br />
<!-- Add the event's source in the section below --><br />
==Source==<br />
The [[event system#Event source|source]] of this event is the root [[element]] of the resource that is being stopped.<br />
<br />
==Example==<br />
This example displays a message in the chatbox when a resource is stopped.<br />
<br />
<syntaxhighlight lang="lua"><br />
addEventHandler ( "onResourceStop", root, <br />
function ( resource )<br />
outputChatBox ( "The Resource " .. getResourceName(resource) .. " was stopped!", root, 255, 255, 255 )<br />
end <br />
)<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Resource events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerChat&diff=14820OnPlayerChat2008-01-12T17:47:57Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player chats inside the chat box.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string message, int messageType<br />
</syntaxhighlight> <br />
<br />
*'''message''': A string representing the message typed into the chat.<br />
*'''messageType''': An integer value representing the message type:<br />
**'''0''': normal message<br />
**'''1''': action message (/me)<br />
**'''2''': team message<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] who sent the chatbox message.<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the game's chat system won't deliver the posts. You may use [[outputChatBox]] to send the messages then.<br />
<br />
==Example== <br />
This example limits receiving of chat messages to a spherical area around the player who sent the message, also blocking action and team text.<br />
<syntaxhighlight lang="lua"><br />
-- define our chat radius<br />
local chatRadius = 20 --units<br />
<br />
-- define a handler that will distribute the message to all nearby players<br />
function sendMessageToNearbyPlayers( message, messageType )<br />
-- we will only send normal chat messages, action and team types will be ignored<br />
if messageType == 0 then<br />
-- get the chatting player's position<br />
local posX, posY, posZ = getElementPosition( source )<br />
<br />
-- create a sphere of the specified radius in that position<br />
local chatSphere = createColSphere( posX, posY, posZ, chatRadius )<br />
-- get a table all player elements inside it<br />
local nearbyPlayers = getElementsWithinColShape( chatSphere, "player" )<br />
-- and destroy the sphere, since we're done with it<br />
destroyElement( chatSphere )<br />
<br />
-- deliver the message to each player in that table<br />
for index, nearbyPlayer in ipairs( nearbyPlayers ) do<br />
outputChatBox( message, nearbyPlayer )<br />
end<br />
end<br />
end<br />
-- attach our new chat handler to onPlayerChat<br />
addEventHandler( "onPlayerChat", getRootElement(), sendMessageToNearbyPlayers )<br />
<br />
-- define another handler function that cancels the event so that the message won't be delivered through the <br />
function blockChatMessage()<br />
cancelEvent()<br />
end<br />
-- attach it as a handler to onPlayerChat<br />
addEventHandler( "onPlayerChat", getRootElement(), blockChatMessage )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerDamage&diff=14819OnPlayerDamage2008-01-12T17:47:56Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player is damaged, in any way.<br />
<br />
It should be noted that this event is not triggered when attacked by a team member if friendly fire is enabled.<br />
<br />
It should also be noted that canceling this event has no effect. Cancel the client-side event [[onClientPlayerDamage]] instead.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
player attacker, int attackerweapon, int bodypart, float loss<br />
</syntaxhighlight> <br />
<br />
*'''attacker''': A player element representing the player who was the attacker. If there was no attacker this returns false.<br />
*'''attackerweapon''': An integer representing the weapon the attacker used to kill the player<br />
*'''bodypart''': An integer representing the bodypart ID the player was hit on when he got damaged.<br />
{{BodyParts}}<br />
*'''loss''': A float representing the percentage of health the player lost.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] who was damaged.<br />
<br />
==Example== <br />
This example causes an instant kill when a player is shot in the head, and announces it in the chatbox.<br />
<syntaxhighlight lang="lua"><br />
--add an event handler for the onPlayerDamage event<br />
function playerDamage_text ( attacker, weapon, bodypart, loss ) --when a player is damaged<br />
if ( bodypart == 9 ) then -- if the body part is 9, i.e. the head<br />
outputChatBox ( "Headshot!", getRootElement (), 255, 170, 0 ) --output "Headshot" into the chatbox<br />
killPlayer ( source, attacker, weapon, bodypart ) -- and kill the player<br />
end<br />
end<br />
addEventHandler ( "onPlayerDamage", getRootElement (), playerDamage_text )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerJoin&diff=14818OnPlayerJoin2008-01-12T17:47:54Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player joins the server.<br />
<br />
==Parameters==<br />
No parameters.<br />
<br />
==Source==<br />
The source of this event is the [[player]] who joined.<br />
<br />
==Example==<br />
This example gets the joined client's name and sends him a welcome message including his name.<br />
<br />
<syntaxhighlight lang="lua"><br />
-- we register greetPlayer as a handler for the event<br />
function greetPlayer ( )<br />
-- we store the player's name<br />
local joinedPlayerName = getClientName ( source )<br />
-- and send him a greeting<br />
outputChatBox ( "Welcome " .. joinedPlayerName .. " to the server!" , source, 255, 255, 255 )<br />
end<br />
addEventHandler ( "onPlayerJoin", getRootElement(), greetPlayer )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerQuit&diff=14817OnPlayerQuit2008-01-12T17:47:53Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player disconnects from the server.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string reason<br />
</syntaxhighlight> <br />
<br />
*'''reason''': A string containing the reason why the player left.<br />
Quit reason string can be:<br />
- "Unknown"<br />
- "Quit"<br />
- "Kicked"<br />
- "Banned"<br />
- "Bad Connection"<br />
- "Timed out"<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that left the server.<br />
<br />
==Example==<br />
This example gets the quitting client's name and outputs that he is gone<br />
<br />
<syntaxhighlight lang="lua"><br />
-- we register quitPlayer as a handler for the event<br />
function quitPlayer ( reason )<br />
-- we store the player's name<br />
local quittingPlayerName = getClientName ( source )<br />
-- and send the message to the server<br />
outputChatBox ( quittingPlayerName .. " has left the server (" .. reason .. ")" )<br />
end<br />
addEventHandler ( "onPlayerQuit", getRootElement(), quitPlayer )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Incomplete]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerSpawn&diff=14816OnPlayerSpawn2008-01-12T17:47:52Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is called when a player spawns.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
float posX, float posY, float posZ, float spawnRotation, team theTeam, int theSkin, int theInterior, int theDimension<br />
</syntaxhighlight><br />
<br />
*'''posX''': The X position the player spawned at<br />
*'''posY''': The Y position the player spawned at<br />
*'''posZ''': The Z position the player spawned at<br />
*'''spawnRotation''': The rotation the player spawned with<br />
*'''theTeam''': The team the player spawned with<br />
*'''theSkin''': The skin / model the player spawned with<br />
*'''theInterior''': The interior the player spawned in<br />
*'''theDimension''': The dimension the player spawned in<br />
<br />
<!-- Add the event's source in the section below --><br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that just spawned.<br />
<br />
==Example== <br />
This example plays a sound when a player spawns.<br />
<syntaxhighlight lang="lua"><br />
-- when a player spawns,<br />
function player_Spawn ( posX, posY, posZ, spawnRotation, theTeam, theSkin, theInterior, theDimension )<br />
-- play a frontend sound for him<br />
playSoundFrontEnd ( source, 16 )<br />
end<br />
-- add the player_Spawn function as a handler for onPlayerSpawn<br />
addEventHandler ( "onPlayerSpawn", getRootElement(), player_Spawn )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerWasted&diff=14815OnPlayerWasted2008-01-12T17:47:50Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player is killed or dies.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
int totalAmmo, element killer, int killerWeapon, int bodypart<br />
</syntaxhighlight> <br />
<br />
*'''totalAmmo''': an integer representing the total ammo the victim had when he died.<br />
*'''killer''': an [[element]] representing the player or vehicle who was the killer. If there was no killer this is ''false''.<br />
*'''killerWeapon''': an integer representing the weapon the killer used to kill the player.<br />
*'''bodypart''': an integer representing the bodypart ID the victim was hit on when he died.<br />
{{BodyParts}}<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that died or got killed.<br />
<br />
==Example== <br />
This example prints the killer and bodypart to the chat when a player dies.<br />
<syntaxhighlight lang="lua"><br />
-- register player_Wasted as a handler for onPlayerWasted<br />
function player_Wasted ( ammo, attacker, weapon, bodypart )<br />
-- if there was an attacker<br />
if ( attacker ) then<br />
-- we declare our variable outside the following checks<br />
local tempString<br />
-- if the element that killed him was a player,<br />
if ( getElementType ( attacker ) == "player" ) then<br />
-- put the attacker, victim and weapon info in the string<br />
tempString = getClientName ( attacker ).." killed "..getClientName ( source ).." ("..getWeaponNameFromID ( weapon )..")"<br />
-- else, if it was a vehicle,<br />
elseif ( getElementType ( attacker ) == "vehicle" ) then<br />
-- we'll get the name from the attacker vehicle's driver<br />
local tempString = getClientName ( getVehicleController ( attacker ) ).." killed "..getClientName ( source ).." ("..getWeaponNameFromID ( weapon )..")"<br />
end<br />
-- if the victim was shot in the head, append a special message<br />
if ( bodypart == 9 ) then<br />
tempString = tempString.." (HEADSHOT!)"<br />
-- else, just append the bodypart name<br />
else<br />
tempString = tempString.." ("..getBodyPartName ( bodypart )..")"<br />
end<br />
-- display the message<br />
outputChatBox ( tempString )<br />
-- if there was no attacker,<br />
else<br />
-- output a death message without attacker info<br />
outputChatBox ( getClientName ( source ).." died. ("..getWeaponNameFromID ( weapon )..") ("..getBodyPartName ( bodypart )..")" )<br />
end<br />
end<br />
addEventHandler ( "onPlayerWasted", getRootElement(), player_Wasted )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerTarget&diff=14814OnPlayerTarget2008-01-12T17:47:48Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player targets an element with his crosshair while aiming. It's triggered again when the player no longer targets anything.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
element targettedElement<br />
</syntaxhighlight> <br />
<br />
*'''targettedElement''': The element the player is targetting. ''false'' if no element is being targetted anymore.<br />
<br />
<!-- Add the event's source in the section below --><br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that is targetting the element.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerVehicleEnter&diff=14813OnPlayerVehicleEnter2008-01-12T17:47:46Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player enters a vehicle.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
vehicle theVehicle, int seat, player jacked<br />
</syntaxhighlight> <br />
<br />
*'''theVehicle''': A vehicle element representing the vehicle that was entered<br />
*'''seat''': An integer representing the seat in which the player is entering<br />
*'''jacked''': A player element representing a player who has been jacked<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that entered the vehicle.<br />
<br />
==Example== <br />
'''Example 1:''' This example forces a player out of a police vehicle if he is not a policeman.<br />
<syntaxhighlight lang="lua"><br />
policeVehicles = { [598]=true,[596]=true,[597]=true,[599]=true }<br />
policeSkins = { [280]=true,[281]=true,[282]=true,[283]=true,[284]=true,[285]=true,[286]=true }<br />
<br />
function enterVehicle ( vehicle, seat, jacked ) --when a player enters a vehicle<br />
if ( policeVehicles[getVehicleID(vehicle)] ) and ( not policeSkins[getPlayerSkin(source)] ) then --if the vehicle is one of 4 police cars, and the skin is not a police skin<br />
removePlayerFromVehicle ( source )--force the player out of the vehicle<br />
outputChatBox ( "Only policeman can enter police cars!", source ) --and tell the player why<br />
end<br />
end<br />
addEventHandler ( "onPlayerVehicleEnter", getRootElement(), enterVehicle ) --add an event for onPlayerEnterVehicle<br />
</syntaxhighlight><br />
<br />
'''Example 2:''' This example adds a 'moto' helmet to a player when he gets on a nrg bike, and removes it when he gets off.<br />
<syntaxhighlight lang="lua"><br />
function addHelmetOnEnter ( vehicle, seat, jacked )<br />
if ( getVehicleID ( vehicle ) == 522 ) then -- if its a nrg<br />
addPlayerClothes ( source, "moto", "moto", 16 ) -- add the helmet<br />
end<br />
end<br />
addEventHandler ( "onPlayerVehicleEnter", getRootElement(), addHelmetOnEnter )<br />
<br />
function removeHelmetOnExit ( vehicle, seat, jacked )<br />
if ( getVehicleID ( vehicle ) == 522 ) then -- if its a nrg<br />
removePlayerClothes ( source, 16 ) -- remove the helmet<br />
end<br />
end<br />
addEventHandler ( "onPlayerVehicleExit", getRootElement(), removeHelmetOnExit )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerVehicleExit&diff=14812OnPlayerVehicleExit2008-01-12T17:47:45Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player leaves a vehicle, for whatever reason.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
vehicle theVehicle, int seat, player jacker<br />
</syntaxhighlight> <br />
<br />
*'''theVehicle''': A vehicle element representing the vehicle in which the player exited from<br />
*'''seat''': An integer representing the seat in which the player was before exiting<br />
*'''jacker''': A player element representing the player who jacked the driver<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that entered the vehicle.<br />
<br />
==Example== <br />
This example adds a 'moto' helmet to a player when he gets on a nrg bike, and removes it when he gets off.<br />
<syntaxhighlight lang="lua"><br />
function addHelmetOnEnter ( vehicle, seat, jacked )<br />
if ( getVehicleID ( vehicle ) == 522 ) then -- if its a nrg<br />
addPlayerClothes ( source, "moto", "moto", 16 ) -- add the helmet<br />
end<br />
end<br />
addEventHandler ( "onPlayerEnterVehicle", getRootElement(), addHelmetOnEnter )<br />
<br />
function removeHelmetOnExit ( vehicle, seat, jacked )<br />
if ( getVehicleID ( vehicle ) == 522 ) then -- if its a nrg<br />
removePlayerClothes ( source, 16 ) -- remove the helmet<br />
end<br />
end<br />
addEventHandler ( "onPlayerExitVehicle", getRootElement(), removeHelmetOnExit )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerWeaponSwitch&diff=14811OnPlayerWeaponSwitch2008-01-12T17:47:43Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player switches weapons.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
int previousWeaponID, int currentWeaponID<br />
</syntaxhighlight> <br />
<br />
*'''previousWeaponID''': An integer representing the weapon that was switched from<br />
*'''currentWeaponID''': An integer representing the weapon that was switched to<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that switched his weapon.<br />
<br />
==Example== <br />
This example disables use of the minigun upon switch. It should be noted that this can be done more efficiently clientside.<br />
<syntaxhighlight lang="lua"><br />
function weaponSwitchDisableMinigun ( previousWeaponID, currentWeaponID ) --when a player switches his weapon<br />
if currentWeaponID == 38 then --if the weapon ID is minigun<br />
toggleControl ( source, "fire", false ) --disable the fire button<br />
else --otherwise<br />
toggleControl ( source, "fire", true ) --enable it<br />
end<br />
--add an event handler for onPlayerWeaponSwitch<br />
addEventHandler ( "onPlayerWeaponSwitch", getRootElement(), weaponSwitchDisableMinigun )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerMarkerHit&diff=14810OnPlayerMarkerHit2008-01-12T17:47:42Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a [[player]] hits a [[marker]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
marker markerHit, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''markerHit''': The marker the player hit<br />
*'''matchingDimension''': Whether the player and the marker he hit are in the same dimension<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that hit the marker.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerMarkerLeave&diff=14809OnPlayerMarkerLeave2008-01-12T17:47:41Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a [[player]] leaves the area of a [[marker]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
marker markerLeft, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''markerLeft''': The marker the player left<br />
*'''matchingDimension''': Whether the player and the marker he left are in the same dimension<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that left the marker.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerPickupHit&diff=14808OnPlayerPickupHit2008-01-12T17:47:38Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a [[player]] hits a [[pickup]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
pickup pickupHit, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''pickupHit''': The pickup the player hit<br />
*'''matchingDimension''': Whether the player and the pickup he hit are in the same dimension<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that hit the pickup.<br />
<br />
<!-- Only include this section below if cancelling the event has any effect. If you don't know if it does, ask a dev! --><br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the player will not be able to pick up this pickup.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerPickupUse&diff=14807OnPlayerPickupUse2008-01-12T17:47:37Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player is standing on a pickup while not being in a vehicle.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
pickup thePickupToUse<br />
</syntaxhighlight> <br />
<br />
*'''thePickupToUse''': The pickup the player is standing on and is about to pick up.<br />
<br />
<!-- Add the event's source in the section below --><br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that is standing on a pickup.<br />
<br />
<!-- Only include this section below if cancelling the event has any effect. If you don't know if it does, ask a dev! --><br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the player will not be able to pick up this pickup.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerClick&diff=14806OnPlayerClick2008-01-12T17:47:35Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player clicks using the mouse cursor.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string mouseButton, string buttonState, element clickedElement, float worldPosX, float worldPosY, float worldPosZ, float screenPosX, float screenPosY<br />
</syntaxhighlight> <br />
<br />
*'''mouseButton''': A string representing the mousebutton that was pressed. Value can be ''left'', ''middle'' or ''right''.<br />
*'''buttonState''': A string representing the button state. Value can be ''up'' or ''down''.<br />
*'''clickedElement''': The element the player clicked on. This value is ''nil'' if none.<br />
*'''worldPosX''': The X position in the world the player clicked on<br />
*'''worldPosY''': The Y position in the world the player clicked on<br />
*'''worldPosZ''': The Z position in the world the player clicked on<br />
*'''screenPosX''': The X position on the screen the player clicked on<br />
*'''screenPosY''': The Y position on the screen the player clicked on<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] that clicked.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPlayerContact&diff=14805OnPlayerContact2008-01-12T17:47:33Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player stands on a differnt element than before.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
element previousElement, element currentElement<br />
</syntaxhighlight> <br />
<br />
*'''previousElement''': The [[element]] player was standing on before. ''nil'' if none.<br />
*'''currentElement''': The new [[element]] that the player is standing on now. ''nil'' if none.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] who hit an element.<br />
<br />
==Example== <br />
This example outputs the element type of an element you have hit<br />
<syntaxhighlight lang="lua"><br />
function outputElementType ( prev, current )<br />
if ( current ) then<br />
outputChatBox ( "You have hit an "..getElementType ( current ) )<br />
end<br />
end<br />
addEventHandler ( "onPlayerContact", getRootElement(), outputElementType )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Player events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPickupUse&diff=14804OnPickupUse2008-01-12T17:43:16Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player stands on a pickup while not in a vehicle.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
void onPickupUse ( player player )<br />
</syntaxhighlight> <br />
<br />
*'''player''': A player element refering to the player who used the pickup<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[pickup]] that is getting used by the player.<br />
<br />
===Canceling===<br />
If this event is [[Event system #Canceling|canceled]], the player will not be given the item they picked up.<br />
<br />
==Example== <br />
This example announces whena player picks up a pickup<br />
<syntaxhighlight lang="lua"><br />
addEventHandler ( "onPickupUse", getRootElement(), "pickupUse" )<br />
function pickupUse ( thePlayer )<br />
outputChatBox ( getClientName ( thePlayer ) .. " picked up a pickup!" )<br />
end<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Pickup events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPickupHit&diff=14803OnPickupHit2008-01-12T17:43:14Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}} <br />
This event is triggered when a [[player]] hits a [[pickup]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
player thePlayer<br />
</syntaxhighlight> <br />
<br />
*'''thePlayer''': a player [[element]] referring to the player who moved over the pickup.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[pickup]] that was hit by the player.<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the pickup does not disappear and the player does not receive its bonus.<br />
<br />
==Example== <br />
This example creates a pickup and outputs a message to the chat box when a player walks over it.<br />
<syntaxhighlight lang="lua"><br />
local aPickup = createPickup ( 10.0, 10.0, 10.0, 2, 31, 3000, 50 ) --Create an M4 weapon pickup when script starts<br />
<br />
function pickedUpWeaponCheck ( player )<br />
outputChatBox ( "You have picked up a M4.", player ) --Display this message in the chat box<br />
end<br />
addEventHandler ( "onPickupHit", aPickup, pickedUpWeaponCheck )<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Pickup events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnPickupSpawn&diff=14802OnPickupSpawn2008-01-12T17:43:12Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a pickup is spawned or respawned.<br />
<br />
==Parameters==<br />
This event has no arguments<br />
<br />
<!-- Add the event's source in the section below --><br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[pickup]] that just spawned or respawned.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Pickup events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnMarkerLeave&diff=14801OnMarkerLeave2008-01-12T17:41:35Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player leaves the area of a marker created using [[createMarker]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
player leftPlayer, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''leftPlayer''': The player that left the marker's area<br />
*'''matchingDimension''': True if the player is in the same dimension as the marker he left<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[marker]] that the player left.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Marker events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnMarkerHit&diff=14800OnMarkerHit2008-01-12T17:40:45Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when a player enters a marker created using [[createMarker]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
player hitPlayer, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''hitPlayer''': The player that hit the marker<br />
*'''matchingDimension''': True if the player is in the same dimension as the marker he hit<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[marker]] that got hit by the player.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Marker events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnElementClicked&diff=14799OnElementClicked2008-01-12T17:39:41Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when an element is clicked on by the client. These events can only trigger when the client has its cursor enabled. It triggers for all three mousebuttons in both their up and down states.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string mouseButton, string buttonState, player playerWhoClicked, float clickPosX, float clickPosY, float clickPosZ<br />
</syntaxhighlight> <br />
<br />
*'''mouseButton''': A string representing the mousebutton that was clicked. This might be ''left'', ''middle'' or ''right''.<br />
*'''buttonState''': A string representing what state the button clicked is in. This might be ''up'' or ''down''.<br />
*'''playerWhoClicked''': The player that clicked on the element<br />
*'''clickPosX''': The X position in the world the player clicked at<br />
*'''clickPosY''': The Y position in the world the player clicked at<br />
*'''clickPosZ''': The Z position in the world the player clicked at<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[element]] that got clicked by the player.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Element events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnElementColShapeLeave&diff=14798OnElementColShapeLeave2008-01-12T17:39:07Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when an player or vehicle element leaves the area of a [[colshape]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
colshape theColShape, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''theColShape''': The [[colshape]] that this element left the area of<br />
*'''matchingDimension''': True if the colshape and the element that left it are in the same dimension<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] or [[vehicle]] that left colshape.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Element events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnElementColShapeHit&diff=14797OnElementColShapeHit2008-01-12T17:38:33Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__<br />
{{Server event}}<br />
This event is triggered when an player or vehicle element collides with a colshape.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
colshape theColShape, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''theColShape''': The [[colshape]] that this element collided with<br />
*'''matchingDimension''': True if the element and the colshape are in the same dimension<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[player]] or [[vehicle]] that collided with the colshape.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Element events}}<br />
<br />
[[Category:Needs Example]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnElementDataChange&diff=14796OnElementDataChange2008-01-12T17:37:57Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when an elementdata entry for an element changes. A client can perform this change on the element or it can be done using [[setElementData]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string theName, var theOldValue<br />
</syntaxhighlight> <br />
<br />
*'''theName''': The name of the element data entry that changed<br />
*'''theOldValue''': The old value of this entry before it changed. The new value can be accessed using [[getElementData]] ( source, theName ).<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[element]] whose elementdata changed.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
This example does...<br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blah()<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
<br />
[[Category:Needs Example]]<br />
<br />
{{See also/Server event|Element events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnColShapeLeave&diff=14795OnColShapeLeave2008-01-12T17:36:13Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player or a vehicle leaves a collision shape.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
element leaveElement, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''leaveElement''': The [[element]] that who exited the col shape. This can be a player or a vehicle.<br />
*'''matchingDimension''': a boolean referring to whether the collision shape was in the same dimension as the element.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[colshape]] that the element no longer is in contact with.<br />
<br />
==Example== <br />
This example kills the player whenever they leave a certain collision shape:<br />
<syntaxhighlight lang="lua"><br />
jailZone = createColCircle ( 1024, 1024, 15, 50 ) -- create a collision shape<br />
<br />
-- call 'jailZoneLeave' whenever a player leaves the collision shape:<br />
addEventHandler ( "onColShapeLeave", jailZone, "jailZoneLeave" )<br />
function jailZoneLeave ( thePlayer )<br />
killPlayer ( thePlayer ) -- kill the player<br />
outputChatBox ( "You are not allowed to leave the jail!", thePlayer )<br />
end<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Colshape events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnColShapeHit&diff=14794OnColShapeHit2008-01-12T17:35:36Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when the player or a vehicle hits a [[colshape]].<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
element hitElement, bool matchingDimension<br />
</syntaxhighlight> <br />
<br />
*'''hitElement''': the [[element]] that entered the colshape.<br />
*'''matchingDimension''': a boolean referring to whether the hit collision shape was in the same dimension as the element.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[colshape]] that got hit by a player or vehicle.<br />
<br />
==Example== <br />
This example creates a hill area for a ''King of the hill'' gamemode. When a player enters or leaves the area, it's announced in the chatbox.<br />
<syntaxhighlight lang="lua"><br />
-- create our hill area for our gamemode<br />
local hillArea = createColSquare ( -2171.0678710938, 678.17950439453, 0, 15, 15 )<br />
<br />
-- add hill_Enter as a handler for when a player enters the hill area<br />
addEventHandler ( "onColShapeHit", hillArea, "hill_Enter" )<br />
function hill_Enter ( thePlayer, matchingDimension )<br />
--announce to everyone that the player entered the hill<br />
outputChatBox( getClientName(thePlayer).." entered the zone!", getRootElement(),255, 255, 109, )<br />
end<br />
<br />
-- add hill_Enter as a handler for when a player leaves the hill area<br />
addEventHandler ( "onColShapeLeave", hillArea, "hill_Exit" )<br />
function hill_Exit ( thePlayer, matchingDimension )<br />
--check if the player is not dead<br />
if isPlayerDead ( thePlayer ) ~= true then<br />
--if he was alive, announce to everyone that the player has left the hill<br />
outputChatBox ( getClientName(thePlayer).." left the zone!", getRootElement(), 255, 255, 109 )<br />
end<br />
end<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Colshape events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnConsole&diff=14793OnConsole2008-01-12T17:31:09Z<p>D0c: See Also for server events</p>
<hr />
<div>__NOTOC__ <br />
{{Server event}}<br />
This event is triggered when a player types a message into his console.<br />
<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
string theMessage<br />
</syntaxhighlight> <br />
<br />
*'''theMessage''': a string representing the message typed into the console.<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[client]] that entered the message in the console. This can be a player or the server console.<br />
<br />
==Example== <br />
This example adds the ''me'' command into the script. For example, if a player called Bob types "me likes pie" in console, it will display "* Bob likes pie" in the chatbox.<br />
:'''NOTE:''' this script is for example purposes only. This can be done in a more efficient way with [[addCommandHandler]].<br />
<syntaxhighlight lang="lua"><br />
addEventHandler ( "onConsole", getRootElement(), "input_Console" ) -- add an event handler for onConsole<br />
function input_Console ( text ) --when a player types in the console<br />
-- if it's an ingame player,<br />
if ( getElementType ( source ) == "player" ) then<br />
--split the command by spaces (ASCII 32) and get the first piece of text<br />
local command = gettok ( text, 1, 32 )<br />
--if the first piece of text was "me",<br />
if ( command == "me" ) then<br />
--get the player's name<br />
local playerName = getClientName ( source )<br />
-- get the action text by substracting the first three characters ("me ")<br />
local actionText = string.sub ( text, 3 )<br />
-- announce the me command into the chatbox<br />
outputChatBox ( "* " .. playerName .. " " .. actionText, getRootElement(), 255, 255, 0 )<br />
end<br />
end<br />
end<br />
</syntaxhighlight><br />
<br />
{{See also/Server event|Client events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=OnClientLogout&diff=14792OnClientLogout2008-01-12T17:30:40Z<p>D0c: See Also for server events</p>
<hr />
<div>{{Server event}}<br />
__NOTOC__ <br />
This event is triggered when a user logs out of their account in-game.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
account thePreviousAccount, account theCurrentAccount<br />
</syntaxhighlight> <br />
<br />
*'''thePreviousAccount''': The account the client was logged in as<br />
*'''theCurrentAccount''': The account the client is a part of now (usually a guest account)<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the client [[element]] that logged out. For example a player.<br />
<br />
==Example== <br />
This example does...<br />
<syntaxhighlight lang="lua"><br />
--This line does...<br />
blabhalbalhb --abababa<br />
--This line does this...<br />
mooo<br />
</syntaxhighlight><br />
[[Category:Needs Example]]<br />
<br />
{{See also/Server event|Client events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=Template:See_also/Server_event&diff=14790Template:See also/Server event2008-01-12T17:25:47Z<p>D0c: See Also template for server scripting events (hope this works ;) )</p>
<hr />
<div>==See Also==<br />
==={{{1}}}===<br />
{{{{{1}}}}}<br />
===Event functions===<br />
{{Event functions}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=Server_Scripting_Events&diff=14789Server Scripting Events2008-01-12T17:13:02Z<p>D0c: Templating server events</p>
<hr />
<div><pageclass class="server"></pageclass><br />
This page lists all '''server-side''' scripting [[event]]s that have been implemented and are available in the Deathmatch mod. To request a function or event, use [[Requested Functions and Events]].<br />
<br />
'''Client-side scripting events can be found here: [[Client Scripting Events]]<br />
<br />
==Client events==<br />
{{Client_events}}<br />
<br />
==Colshape events==<br />
{{Colshape_events}}<br />
<br />
==Element events==<br />
{{Element_events}}<br />
<br />
==Marker events==<br />
{{Marker_events}}<br />
<br />
==Pickup events==<br />
{{Pickup_events}}<br />
<br />
==Player events==<br />
{{Player_events}}<br />
<br />
== Resource events==<br />
{{Resource_events}}<br />
<br />
==Server events==<br />
{{Server_events}}<br />
<br />
== Vehicle events ==<br />
{{Vehicle_events}}</div>D0chttps://wiki.multitheftauto.com/index.php?title=Template:Client_events&diff=14788Template:Client events2008-01-12T17:12:18Z<p>D0c: Templating server events</p>
<hr />
<div>*[[onClientLogin]]<br />
*[[onClientLogout]]<br />
*[[onConsole]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=Template:Colshape_events&diff=14787Template:Colshape events2008-01-12T17:12:14Z<p>D0c: Templating server events</p>
<hr />
<div>*[[onColShapeHit]]<br />
*[[onColShapeLeave]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=Template:Element_events&diff=14786Template:Element events2008-01-12T17:12:10Z<p>D0c: Templating server events</p>
<hr />
<div>*[[onElementDataChange]]<br />
*[[onElementColShapeHit]]<br />
*[[onElementColShapeLeave]]<br />
*[[onElementClicked]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=Template:Marker_events&diff=14785Template:Marker events2008-01-12T17:12:06Z<p>D0c: Templating server events</p>
<hr />
<div>*[[onMarkerHit]]<br />
*[[onMarkerLeave]]</div>D0chttps://wiki.multitheftauto.com/index.php?title=Template:Player_events&diff=14784Template:Player events2008-01-12T17:12:04Z<p>D0c: Templating server events</p>
<hr />
<div>*[[onPlayerChat]]<br />
*[[onPlayerDamage]]<br />
*[[onPlayerJoin]]<br />
*[[onPlayerQuit]]<br />
*[[onPlayerSpawn]]<br />
*[[onPlayerWasted]]<br />
*[[onPlayerTarget]]<br />
*[[onPlayerVehicleEnter]]<br />
*[[onPlayerVehicleExit]]<br />
*[[onPlayerWeaponSwitch]]<br />
*[[onPlayerMarkerHit]]<br />
*[[onPlayerMarkerLeave]]<br />
*[[onPlayerPickupHit]]<br />
*[[onPlayerPickupUse]]<br />
*[[onPlayerClick]]<br />
*[[onPlayerContact]]</div>D0c