AddVehicleUpgrade: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(→‎Example: changed example to use command handler rather than onConsole event)
(→‎Example: added an example)
Line 13: Line 13:


==Example==
==Example==
'''Example 1:''' This example allows the user to get an upgrade by typing a command:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- add a console command
-- add a console command
Line 18: Line 19:
function consoleAddUpgrade ( player, commandName, id )
function consoleAddUpgrade ( player, commandName, id )
     if ( player ) then
     if ( player ) then
        -- make sure the player is in a vehicle
         if ( isPlayerInVehicle ( player ) ) then
         if ( isPlayerInVehicle ( player ) ) then
             -- conver the ID to a number
             -- convert the given ID from a string to a number
             id = tonumber ( id )
             id = tonumber ( id )
             -- get the player's vehicle
             -- get the player's vehicle
Line 25: Line 27:
             -- add the requested upgrade to the vehicle
             -- add the requested upgrade to the vehicle
             local success = addVehicleUpgrade ( vehicle, id )
             local success = addVehicleUpgrade ( vehicle, id )
            -- inform the player of whether the upgrade was added successfully
             if ( success ) then
             if ( success ) then
                -- get the name of the upgrade and display it
                 outputConsole ( getVehicleUpgradeSlotName ( id ) .. " upgrade added.", player )
                 outputConsole ( getVehicleUpgradeSlotName ( id ) .. " upgrade added.", player )
             else
             else
Line 34: Line 36:
             outputConsole ( "You must be in a vehicle!", player )
             outputConsole ( "You must be in a vehicle!", player )
         end
         end
    end
end
</syntaxhighlight>
'''Example 2:''' This client-side script gives vehicles a nitro upgrade whenever they pass through a certain collision shape:
<syntaxhighlight lang="lua">
-- create a collision shape
local nitroColShape = createColSphere ( 1337, 100, 12, 2 )
-- attach the collision shape to an 'onClientColShapeHit' event
addEventHandler ( "onClientColShapeHit", nitroColShape, "onNitroColShapeHit" )
function onNitroColShapeHit ( hitElement, matchingDimension )
    if ( getElementType ( hitElement ) == "vehicle" ) then
        -- add a nitro upgrade if the element that hit the colshape is a vehicle
        addVehicleUpgrade ( hitElement, 1010 )
     end
     end
end
end

Revision as of 05:56, 18 June 2007

This function adds an upgrade to an existing vehicle, eg: nos, hyrdraulics. Defined in San Andreas\data\maps\veh_mods\veh_mods.ide.

Syntax

bool addVehicleUpgrade ( vehicle theVehicle, int upgrade )

Required Arguments

  • theVehicle: The element representing the vehicle you wish to add the upgrade to.
  • upgrade: The id of the upgrade you wish to add.

Returns

Returns true if the upgrade was successfully added to the vehicle, otherwise false.

Example

Example 1: This example allows the user to get an upgrade by typing a command:

-- add a console command
addCommandHandler ( "addupgrade", "consoleAddUpgrade" )
function consoleAddUpgrade ( player, commandName, id )
    if ( player ) then
        -- make sure the player is in a vehicle
        if ( isPlayerInVehicle ( player ) ) then
            -- convert the given ID from a string to a number
            id = tonumber ( id )
            -- get the player's vehicle
            local vehicle = getPlayerOccupiedVehicle ( player )
            -- add the requested upgrade to the vehicle
            local success = addVehicleUpgrade ( vehicle, id )
            -- inform the player of whether the upgrade was added successfully
            if ( success ) then
                outputConsole ( getVehicleUpgradeSlotName ( id ) .. " upgrade added.", player )
            else
                outputConsole ( "Failed to add upgrade.", player )
            end
        else
            outputConsole ( "You must be in a vehicle!", player )
        end
    end
end

Example 2: This client-side script gives vehicles a nitro upgrade whenever they pass through a certain collision shape:

-- create a collision shape
local nitroColShape = createColSphere ( 1337, 100, 12, 2 )

-- attach the collision shape to an 'onClientColShapeHit' event
addEventHandler ( "onClientColShapeHit", nitroColShape, "onNitroColShapeHit" )

function onNitroColShapeHit ( hitElement, matchingDimension )
    if ( getElementType ( hitElement ) == "vehicle" ) then
        -- add a nitro upgrade if the element that hit the colshape is a vehicle
        addVehicleUpgrade ( hitElement, 1010 )
    end
end

See Also