SetTrainPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (add note)
m (fix example mistake)
Line 42: Line 42:
if (position < 0) or (position > 1) then
if (position < 0) or (position > 1) then
player:outputChat("position must be between 0 and 1!")
player:outputChat("position must be between 0 and 1!")
return
end
end



Revision as of 16:07, 2 January 2016

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

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)
	local veh = player.vehicle
	if not veh then
		player:outputChat("You are not in a vehicle!")
		return
	end

	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>")
		player:outputChat("position: number between 0 and 1")
		return
	end

	if (position < 0) or (position > 1) then
		player:outputChat("position must be between 0 and 1!")
		return
	end

	veh.position = position
end
addCommandHandler("settrainpos", setMyPosition)

See Also