GetVehicleSirens: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Fixed →‎Example: and improved its readability)
(Remove obsolete Requirements section)
 
(3 intermediate revisions by one other user not shown)
Line 2: Line 2:
{{Server client function}}
{{Server client function}}
{{New feature/item|3.0130|1.3.0|3968|
{{New feature/item|3.0130|1.3.0|3968|
This function get the properties of a vehicles sirens.
This function gets the properties of a vehicle's sirens.
}}
}}


Line 11: Line 11:
{{OOP||[[vehicle]]:getSirens|sirens|setVehicleSirens}}
{{OOP||[[vehicle]]:getSirens|sirens|setVehicleSirens}}
===Required Arguments===  
===Required Arguments===  
*'''theVehicle:''' The vehicle to get siren information on
*'''theVehicle:''' The vehicle to get siren information of.


===Returns===
===Returns===
If the vehicle its invalid, it returns ''false''. Otherwise, returns a ''table'' with sub tables containing the properties of each siren point in the following manner:
If the vehicle is invalid, it returns ''false''. Otherwise, returns a ''table'' with sub tables containing the properties of each siren point in the following manner:


<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 29: Line 29:
==Example==
==Example==
<section name="Server" class="server" show="true">
<section name="Server" class="server" show="true">
This example returns the siren properties when the player presses G.
This example returns the siren properties when the player presses Z.
<syntaxhighlight lang="lua">addEventHandler("onVehicleEnter", root, function(player, seat)
<syntaxhighlight lang="lua">addEventHandler("onVehicleEnter", root, function(player, seat)
   if seat == 0 then -- If a player starts driving a vehicle...
   if seat == 0 then -- If a player starts driving a vehicle...
Line 45: Line 45:
   outputChatBox("RGB siren colour: " .. sirenData[1].Red .. ", " .. sirenData[1].Green .. ", " .. sirenData[1].Blue .. ".", player)
   outputChatBox("RGB siren colour: " .. sirenData[1].Red .. ", " .. sirenData[1].Green .. ", " .. sirenData[1].Blue .. ".", player)
   outputChatBox("Maximum alpha (during bad visibility conditions): " .. sirenData[1].Alpha .. ", minimum alpha (during good visibility conditions): " .. sirenData[1].Min_Alpha .. ".", player)
   outputChatBox("Maximum alpha (during bad visibility conditions): " .. sirenData[1].Alpha .. ", minimum alpha (during good visibility conditions): " .. sirenData[1].Min_Alpha .. ".", player)
   outputChatBox("Siren light position: " .. sirenData[1).x .. ", " .. sirenData[1].y .. ", " .. sirenData[1].z .. ".", player)
   outputChatBox("Siren light position: " .. sirenData[1].x .. ", " .. sirenData[1].y .. ", " .. sirenData[1].z .. ".", player)
end
end


Line 57: Line 57:
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
==Requirements==
{{Requirements|1.3.0-9.03968|1.3.0-9.03968|}}


==See Also==
==See Also==
{{Vehicle_functions}}
{{Vehicle_functions}}

Latest revision as of 17:03, 7 November 2024

This function gets the properties of a vehicle's sirens.

Syntax

table getVehicleSirens ( vehicle theVehicle )

OOP Syntax Help! I don't understand this!

Method: vehicle:getSirens(...)
Variable: .sirens
Counterpart: setVehicleSirens


Required Arguments

  • theVehicle: The vehicle to get siren information of.

Returns

If the vehicle is invalid, it returns false. Otherwise, returns a table with sub tables containing the properties of each siren point in the following manner:

[float]   SirenData[sirenPoint].x
[float]   SirenData[sirenPoint].y
[float]   SirenData[sirenPoint].z
[int]     SirenData[sirenPoint].Red
[int]     SirenData[sirenPoint].Green
[int]     SirenData[sirenPoint].Blue
[int]     SirenData[sirenPoint].Alpha
[int]     SirenData[sirenPoint].Min_Alpha

Example

Click to collapse [-]
Server

This example returns the siren properties when the player presses Z.

addEventHandler("onVehicleEnter", root, function(player, seat)
   if seat == 0 then -- If a player starts driving a vehicle...
      -- ... customize the vehicle sirens and bind a key to ouput info about them to the driver
      addVehicleSirens(source, 1, 1)
      setVehicleSirens(source, 1, 0, 0, 0, 100, 0, 100, 255, 122)
      bindKey(player, "z", "up", outputSirenInfoToPlayer, source)
   end
end)

function outputSirenInfoToPlayer(player, _, _, vehicle)
   -- Get vehicle's siren data and output it to the player in the chatbox
   local sirenData = getVehicleSirens(vehicle)
   outputChatBox("These are the properties of your vehicle's siren:", player, 0, 255, 0)
   outputChatBox("RGB siren colour: " .. sirenData[1].Red .. ", " .. sirenData[1].Green .. ", " .. sirenData[1].Blue .. ".", player)
   outputChatBox("Maximum alpha (during bad visibility conditions): " .. sirenData[1].Alpha .. ", minimum alpha (during good visibility conditions): " .. sirenData[1].Min_Alpha .. ".", player)
   outputChatBox("Siren light position: " .. sirenData[1].x .. ", " .. sirenData[1].y .. ", " .. sirenData[1].z .. ".", player)
end

addEventHandler("onVehicleStartExit", root, function(player, seat)
   if seat == 0 then -- If a player stops driving a vehicle...
      -- ... remove vehicle's sirens and unbind the key
      removeVehicleSirens(source)
      unbindKey(player, "z", "up", outputSirenInfoToPlayer)
   end
end)

See Also