This function allows changing the type of a pickup to a Weapon, Armour or Health pickup, and allows you to set the health points or the weapon and ammo that the pickup will give.
Syntax
setPickupType ( pickup thePickup, int type, int amount/weapon, [ int ammo ] )
Required Arguments
- thePickup: The pickup which you wish to change the settings of
- type: An integer representing the type of pickup. You can choose from:
- 0: Health Pickup
- 1: Armour Pickup
- 2: Weapon Pickup
- amount/weapon: An integer representing the amount of Health points or Armour points a pickup has. If the type is a Weapon pickup, then it represents the Weapon ID of the weapon pickup. The 'ammo' field must be specified if the type is Weapon Pickup.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- ammo: An integer representing the amount of ammo a pickup contains. This argument is only valid when the pickup type is a Weapon Pickup, and must be specified in that case.
Example
This example changes the pickup time every time someone hits it
function onPickupHit ( ) -- when a pickup is hit
local currenttype = getPickupType ( source ) -- get the current type of the pickup and store it in 'currenttype'
if currenttype == 0 then -- if it is currently a health pickup
setPickupType ( source, 1, 100 ) -- change it to an armour pickup with 100 hp
elseif currenttype == 1 then -- else, if it is currently an armour pickup
setPickupType ( source, 2, 29, 100 ) -- change it to an mp5 weapon pickup with 100 ammo
elseif currenttype == 2 then -- lastly, if it is already a weapon
setPickupType ( source, 0, 100 ) -- change it to a health pickup
end
end
addEventHandler ( "onPickupHit", getRootElement ( ), onPickupHit ) -- add an event handler for onPickupHit
This example changes a local player's pickup every time the spacebar key is pressed down
function changeMyPickupType ( key, keyState )
local currenttype = getPickupType ( myPickup ) -- get the current type of the pickup and store it in 'currenttype'
if currenttype == 0 then -- if it is currently a health pickup
setPickupType ( myPickup, 1, 100 ) -- change it to an armour pickup with 100 hp
elseif currenttype == 1 then -- else, if it is currently an armour pickup
setPickupType ( myPickup, 2, 29, 100 ) -- change it to an mp5 weapon pickup with 100 ammo
elseif currenttype == 2 then -- lastly, if it is already a weapon
setPickupType ( myPickup, 0, 100 ) -- change it to a health pickup
end
end
function clientsideResourceStart ()
myPickup = createPickup ( 10.0, 10.0, 3.11, 0, 100 ) -- create myPickup at resource start
bindKey ( "space", "down", changeMyPickupType ) --bind spacebar to changeMyPickupType function
end
addEventHandler ( "onClientResourceStart", getRootElement(), clientsideResourceStart )
See Also