GetVehicleSirens: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Corrected some big mistakes at →‎Returns)
(Remove obsolete Requirements section)
 
(6 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===
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 20: Line 20:
[float]  SirenData[sirenPoint].y
[float]  SirenData[sirenPoint].y
[float]  SirenData[sirenPoint].z
[float]  SirenData[sirenPoint].z
[int]   SirenData[sirenPoint].Red
[int]     SirenData[sirenPoint].Red
[int]   SirenData[sirenPoint].Green
[int]     SirenData[sirenPoint].Green
[int]   SirenData[sirenPoint].Blue
[int]     SirenData[sirenPoint].Blue
[int]   SirenData[sirenPoint].Alpha
[int]     SirenData[sirenPoint].Alpha
[int]   SirenData[sirenPoint].Min_Alpha
[int]     SirenData[sirenPoint].Min_Alpha
</syntaxhighlight>
</syntaxhighlight>


==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. (Returns nil for some reason)
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(player)and(seat==0)then
   if seat == 0 then -- If a player starts driving a vehicle...
       addVehicleSirens(source,1,1)
      -- ... customize the vehicle sirens and bind a key to ouput info about them to the driver
       setVehicleSirens(source,1,0,0,0,100,0,100,255,122)
       addVehicleSirens(source, 1, 1)
       bindKey(player,"g","up",getSiren,source)
       setVehicleSirens(source, 1, 0, 0, 0, 100, 0, 100, 255, 122)
       bindKey(player, "z", "up", outputSirenInfoToPlayer, source)
   end
   end
end)
end)


function getSiren(player,button,state,vehicle)
function outputSirenInfoToPlayer(player, _, _, vehicle)
  -- Get vehicle's siren data and output it to the player in the chatbox
   local sirenData = getVehicleSirens(vehicle)
   local sirenData = getVehicleSirens(vehicle)
   outputChatBox("Here's the properties of your vehicle sirens: Red,Green,Blue: "..tostring(sirenData[1][0])..","..tostring(sirenData[1][1])..","..tostring(sirenData[1][2])..", X,Y,Z: "..tostring(sirenData[1][3])..","..tostring(sirenData[1][4])..","..tostring(sirenData[1][5])..", minAlpha: "..tostring(sirenData[1][6])..".",player)
   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
end


addEventHandler("onVehicleExit",root,function(player,seat)
addEventHandler("onVehicleStartExit", root, function(player, seat)
   if(player)and(seat==0)then
   if seat == 0 then -- If a player stops driving a vehicle...
      -- ... remove vehicle's sirens and unbind the key
       removeVehicleSirens(source)
       removeVehicleSirens(source)
       unbindKey(player,"g","up",getSiren)
       unbindKey(player, "z", "up", outputSirenInfoToPlayer)
   end
   end
end)
end)
</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