SetTrainPosition: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (comment code, fix example bug)
m (fix typo)
Line 41: Line 41:
player:outputChat("Syntax: /settrainpos <position>")
player:outputChat("Syntax: /settrainpos <position>")
player:outputChat("position: number between 0 and 1")
player:outputChat("position: number between 0 and 1")
return
end
-- check if the position argument is between 0 and 1
if (position < 0) or (position > 1) then
player:outputChat("position must be between 0 and 1!")
return
return
end
end

Revision as of 00:54, 12 July 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)
	-- 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>")
		player:outputChat("position: number between 0 and 1")
		return
	end

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

See Also