SetTrainPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (add example)
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
{{Shared function}}
{{Shared function}}
{{New feature/item|3.0160|1.6|7485|
{{New feature/item|3.0153|1.5.3|7485|
Sets the position the train is currently on the track
Sets the position the train is currently on the track
}}
}}
Line 10: Line 10:
===Required Arguments===
===Required Arguments===
*'''train:''' the train of which to set the track
*'''train:''' the train of which to set the track
*'''position:''' the position along the track
*'''position:''' the position along the track (0 - 18107 a complete way round)


===Returns===
===Returns===
Line 16: Line 16:


==Example==
==Example==
<section name="Example 1" class="server" show="true">
<section name="OOP Example 1" class="server" show="true">
local function setMyPosition(player, _, position)
This example adds a command called "/settrainpos", allowing you to set the position of the train.
<syntaxhighlight lang="lua">local function setMyPosition(player, _, position)
-- grab the vehicle, if it exists
local veh = player.vehicle
local veh = player.vehicle
-- make sure we're actually in a vehicle
if not veh then
if not veh then
player:outputChat("You are not in a vehicle!")
player:outputChat("You are not in a vehicle!")
Line 24: Line 28:
end
end


-- make sure we're in a train
if veh.vehicleType ~= "Train" then
if veh.vehicleType ~= "Train" then
player:outputChat("You are not in a train!")
player:outputChat("You are not in a train!")
Line 35: Line 40:
if not position then
if not position then
player:outputChat("Syntax: /settrainpos <position>")
player:outputChat("Syntax: /settrainpos <position>")
player:outputChat("position: number between 0 and 1")
return
return
end
end


if (position < 0) or (position > 1) then
-- finally set the train position
player:outputChat("position must be between 0 and 1!")
veh.trainPosition = position
end
 
veh.position = position
end
end
addCommandHandler("settrainpos", setMyPosition)
addCommandHandler("settrainpos", setMyPosition)</syntaxhighlight></section>
</section>
{{Example}}


==See Also==
==See Also==
{{Vehicle functions}}
{{Vehicle functions}}

Latest revision as of 18:37, 16 March 2019

Sets the position the train is currently on the track

Syntax

bool setTrainPosition ( vehicle train, float position )

OOP Syntax Help! I don't understand this!

Method: vehicle:setTrainPosition(...)
Variable: .trainPosition
Counterpart: getTrainPosition


Required Arguments

  • train: the train of which to set the track
  • position: the position along the track (0 - 18107 a complete way round)

Returns

Returns true if the train position was set, false otherwise.

Example

Click to collapse [-]
OOP Example 1

This example adds a command called "/settrainpos", allowing you to set the position of the train.

local function setMyPosition(player, _, position)
	-- grab the vehicle, if it exists
	local veh = player.vehicle

	-- make sure we're actually in a vehicle
	if not veh then
		player:outputChat("You are not in a vehicle!")
		return
	end

	-- make sure we're in a train
	if veh.vehicleType ~= "Train" then
		player:outputChat("You are not in a train!")
		return
	end

	-- convert position to a number
	position = tonumber(position)

	-- if position cannot be converted to a number
	if not position then
		player:outputChat("Syntax: /settrainpos <position>")
		return
	end

	-- finally set the train position
	veh.trainPosition = position
end
addCommandHandler("settrainpos", setMyPosition)

See Also