SetVehicleVariant: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
{{New feature/item|3.0159|1.5.8|20693|Function is also available client-side (previously available server-side only).}}
{{New feature/item|3.0159|1.5.8|20693|Function is also available client-side (previously available server-side only).}}


{{Tip|Both variant arguments need to be supplied, otherwise random ones will be picked.}}  
{{Tip|Both variant arguments need to be supplied, otherwise random ones will be picked.}}  
{{Tip|If you only want one variant, set ''''variant2'''' to ''255''. If you want no variants, then set both ''''variant1'''' and ''''variant2'''' to ''255''.}}  
{{Tip|If you only want one variant, set ''''variant2'''' to ''255''. If you want no variants, then set both ''''variant1'''' and ''''variant2'''' to ''255''.}}  
{{Note|The fairings on the NRG-500 and BF-400 are both variants, so unless you explicitly ask for 3 or 4, your bike will have no fairings which some people may find offensive.
{{Note|The fairings on the NRG-500 and BF-400 are both variants, so unless you explicitly ask for 3 or 4, your bike will have no fairings which some people may find offensive.
}}  
}}  


Line 28: Line 28:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
function setMyVehicleVariants (thePlayer, commandName, arg1, arg2)
function setMyVehicleVariants (thePlayer, commandName, arg1, arg2)
    local variant1, variant2 = tonumber (arg1), tonumber (arg2) -- If anything was passed make sure the arguments are numbers or pass nil
local variant1, variant2 = tonumber (arg1), tonumber (arg2) -- If anything was passed make sure the arguments are numbers or pass nil
    local myVeh = getPedOccupiedVehicle (thePlayer) -- Get the vehicle that the player is in
local myVeh = getPedOccupiedVehicle (thePlayer) -- Get the vehicle that the player is in


    if (myVeh and getVehicleController (myVeh) == thePlayer) then -- Make sure the player is the vehicle driver (controller)
if (myVeh and getVehicleController (myVeh) == thePlayer) then -- Make sure the player is the vehicle driver (controller)
        local wasSet = setVehicleVariant (myVeh, variant1, variant2) -- Set the vehicle variants the player passed as arguments
local wasSet = setVehicleVariant (myVeh, variant1, variant2) -- Set the vehicle variants the player passed as arguments


        if wasSet then
if wasSet then
            outputChatBox ("Vehicle variant successfully set!", thePlayer, 0, 255, 0)
outputChatBox ("Vehicle variant successfully set!", thePlayer, 0, 255, 0)
        else
else
            outputChatBox ("Vehicle variant unsuccessfully set.", thePlayer, 255, 255, 0)
outputChatBox ("Vehicle variant unsuccessfully set.", thePlayer, 255, 255, 0)
        end
end
    end
end
end
end



Revision as of 11:35, 19 September 2021

This function sets the variant of a specified vehicle. In GTA: San Andreas some vehicles are different; for example the labelling on trucks or the contents of a pick-up truck and the varying types of a motor bike. For the default variant list see: Vehicle variants. Function is also available client-side (previously available server-side only).


[[{{{image}}}|link=|]] Tip: Both variant arguments need to be supplied, otherwise random ones will be picked.
[[{{{image}}}|link=|]] Tip: If you only want one variant, set 'variant2' to 255. If you want no variants, then set both 'variant1' and 'variant2' to 255.
[[{{{image}}}|link=|]] Note: The fairings on the NRG-500 and BF-400 are both variants, so unless you explicitly ask for 3 or 4, your bike will have no fairings which some people may find offensive.

Syntax

bool setVehicleVariant ( vehicle theVehicle [, int variant1, int variant2 ] )

OOP Syntax Help! I don't understand this!

Method: vehicle:setVariant(...)
Counterpart: getVehicleVariant


Required Arguments

  • theVehicle: The vehicle that you want to get the variant of.

Optional Arguments

Both arguments need to be supplied, otherwise random variants will be picked.

Returns

Returns true as the vehicle variants were successfully set, false because the specified vehicle didn't exist or specified variants were invalid.

Example

This example lets the vehicle driver set their vehicle's variant with a command named setvehvar:

function setMyVehicleVariants (thePlayer, commandName, arg1, arg2)
	local variant1, variant2 = tonumber (arg1), tonumber (arg2) -- If anything was passed make sure the arguments are numbers or pass nil
	local myVeh = getPedOccupiedVehicle (thePlayer) -- Get the vehicle that the player is in

	if (myVeh and getVehicleController (myVeh) == thePlayer) then -- Make sure the player is the vehicle driver (controller)
		local wasSet = setVehicleVariant (myVeh, variant1, variant2) -- Set the vehicle variants the player passed as arguments

		if wasSet then
			outputChatBox ("Vehicle variant successfully set!", thePlayer, 0, 255, 0)
		else
			outputChatBox ("Vehicle variant unsuccessfully set.", thePlayer, 255, 255, 0)
		end
	end
end

addCommandHandler ("setvehvar", setMyVehicleVariants) -- Create the command

Requirements

Minimum server version 1.2.0
Minimum client version 1.5.8-9.20693

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.2.0" client="1.5.8-9.20693" />

See Also