OnVehicleWeaponFire

From Multi Theft Auto: Wiki

Jump to: navigation, search

This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon. A list of vehicles that have weapons are listed below:

  • Hydra - Fighter Jet (ID: 520)
  • Hunter - Assault Helicopter (ID: 425)
  • Rustler - World War 2 style fighter (ID: 476)
  • Predator - Police Boat with side guns (ID: 430)
  • Rhino - Heavily armoured tank (ID: 432)
  • Firetruck - Firetruck with sprayable hose (ID: 407)
  • RC Baron - A mini fighter (ID: 464)

Parameters

string vehicleFireType, int vehicleModel
  • vehicleFireType: this will be "primary" or "secondary" depending on which player the button pressed.
  • vehicleModel: the model number the player is in when they triggered the event.

Source

The source of this event is the player who fired the vehicles gun(s).

Code

Click to collapse [-]
Clientside Script

armedVehicles = {[425]=true, [520]=true, [476]=true, [447]=true, [340]=true, [432]=true, [464]=true, [407]=true}
function vehicleWeaponFire(key, keyState, vehicleFireType)
	local vehModel = getElementModel(getPedOccupiedVehicle(getLocalPlayer()))
	if (armedVehicles[vehModel]) then
		triggerEvent("onClientVehicleWeaponFire", getLocalPlayer(), vehicleFireType, vehModel)
	end
end
bindKey("vehicle_fire", "down", vehicleWeaponFire, "primary")
bindKey("vehicle_secondary_fire", "down", vehicleWeaponFire, "secondary")
Click to collapse [-]
Serverside Script

armedVehicles = {[425]=true, [520]=true, [476]=true, [447]=true, [340]=true, [432]=true, [464]=true, [407]=true}
function vehicleWeaponFire(thePresser, key, keyState, vehicleFireType)
	local vehModel = getElementModel(getPedOccupiedVehicle(thePresser))
	if (armedVehicles[vehModel]) then
		triggerEvent("onVehicleWeaponFire", thePresser, vehicleFireType, vehModel)
	end
end
 
function bindOnJoin()
	bindKey(source, "vehicle_fire", "down", vehicleWeaponFire, "primary")
	bindKey(source, "vehicle_secondary_fire", "down", vehicleWeaponFire, "secondary")
end
addEventHandler("onPlayerJoin", root, bindOnJoin)
 
function bindOnStart()
	for index, thePlayer in pairs(getElementsByType("player")) do
		bindKey(thePlayer, "vehicle_fire", "down", vehicleWeaponFire, "primary")
		bindKey(thePlayer, "vehicle_secondary_fire", "down", vehicleWeaponFire, "secondary")
	end
end
addEventHandler("onResourceStart", getResourceRootElement(), bindOnStart)

Example Code

Click to collapse [-]
Clientside Example

function eventVehicleFire(typeOfFire, theModel)
	outputChatBox(getPlayerName(source).." fired his "..getVehicleNameFromModel(theModel).."'s weapon ("..typeOfFire..")")
end
addEvent("onClientVehicleWeaponFire", false)
addEventHandler("onClientVehicleWeaponFire", getLocalPlayer(), eventVehicleFire)
Click to collapse [-]
Serverside Example

function eventVehicleFire(typeOfFire, theModel)
	outputChatBox(getPlayerName(source).." fired his "..getVehicleNameFromModel(theModel).."'s weapon ("..typeOfFire..")", root, 0, 255, 0)
end
addEvent("onVehicleWeaponFire", false)
addEventHandler("onVehicleWeaponFire", root, eventVehicleFire)

Author: Tuna

See Also

Dialog-information.png This article needs checking.

Reason: The function I added at the bottom should be scripted by someone. --Ransom 21:45, 2 May 2012 (UTC)
  • callClientFunction » This function allows you to call any clientside function from the server's side.
  • callServerFunction » This function allows you to call any server-side function from the client's side.
  • centerWindow » This function center the window in any resolution.
  • Check » This function checks if it's arguments are of the right types and calls the error-function if one isn't.
  • doForAllElements » This function can be used to execute a specified function for all elements of a specified type.
  • dxDrawColorText » This function draws a dx text with #RRGGBB color codes support.
  • findRotation » Takes two points and returns the direction from point A to point B.
  • FormatDate » Formats a date on the basis of a format string and returns it.
  • getAge » This function calculates the age of a birthday.
  • getCursorMoveOn » This function checks in which way the cursor is currently moving.
  • getElementSpeed » This function allows you to get element speed in kph or mph units.
  • IfElse » Returns one of two values based on a boolean expression.
  • isLeapYear » Checks if the given year is a leap year.
  • iterElements » Returns an iterator for your for loops saving time typing ipairs( getElementsByType( type ) ), instead you type: iterElements( type ).
  • math.round » Rounds a number whereas the number of decimals to keep and the method may be set.
  • onVehicleWeaponFire » This code implements an event that is triggered when a player in a vehicle fires a vehicles weapon.
  • RGBToHex » This function returns a string representing the color in hexadecimal.
  • setElementSpeed » This function allows you to set moving element speed in kph or mph units.
  • setVehicleGravityPoint » This clientside function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.
  • string.explode » This function splits a string at a given separator pattern and returns a table with the pieces.
  • table.copy » This function copies a whole table and all the tables in that table.
  • table.map » This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.
  • table.size » Finds the absolute size of a table.
  • toHex » This function converts a decimal number to a hexadecimal number, as a fix to be used clientside.
  • var_dump »This function outputs information about one or more variables using outputConsole().
  • multi_check » This function checks one element to many, handy and clean.
  • isElementInPhotograph » This function checks if an element was in the player's camera picture. This needs writing still. --Ransom 21:45, 2 May 2012 (UTC)