SetPickupType: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(8 intermediate revisions by 5 users not shown) | |||
Line 5: | Line 5: | ||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
setPickupType ( pickup thePickup, int | bool setPickupType ( pickup thePickup, int theType, int amount/weapon/model [, int ammo ] ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Required Arguments=== | ===Required Arguments=== | ||
*'''thePickup:''' The pickup which you wish to change the settings of | *'''thePickup:''' The pickup which you wish to change the settings of | ||
* ''' | * '''theType''': An integer representing the type of pickup. You can choose from: | ||
** '''0''': Health Pickup | ** '''0''': Health Pickup | ||
** '''1''': Armour Pickup | ** '''1''': Armour Pickup | ||
** '''2''': Weapon Pickup | ** '''2''': Weapon Pickup | ||
* '''amount | ** '''3''': Custom Pickup | ||
* '''amount''': This is an integer representing the amount of Health points or Armour points a pickup has. | |||
'''OR''' | |||
* '''weapon''': If the type is a Weapon pickup, then it represents the [[Weapon|weapon ID]] of the weapon pickup the 'ammo' field must be entered if the type is Weapon Pickup. | |||
'''OR''' | |||
* '''model''': If the pickup is a custom model, this is the model id to use. Many non-pickup models can be used, though some may cause crashes. The following is a list of models designed to be used as pickups. | |||
** '''370:''' Jetpack | |||
** '''1240:''' Health (heart) | |||
** '''1242:''' Armour | |||
** '''1272:''' House (blue) | |||
** '''1273:''' House (green) | |||
** '''1274:''' Money (dollar symbol) | |||
** '''1277:''' Save (floppy disk) | |||
===Optional Arguments=== | ===Optional Arguments=== | ||
{{OptionalArg}} | {{OptionalArg}} | ||
*'''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. | *'''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. | ||
===Returns=== | |||
Returns ''true'' if successful, ''false'' otherwise. | |||
==Example== | ==Example== | ||
This example changes the pickup time every time someone hits it | This example changes the pickup time every time someone hits it | ||
<section name="Server" class="server" show="true"> | |||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function onPickupHit ( ) -- when a pickup is hit | function onPickupHit ( ) -- when a pickup is hit | ||
Line 30: | Line 47: | ||
setPickupType ( source, 2, 29, 100 ) -- change it to an mp5 weapon pickup with 100 ammo | 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 | elseif currenttype == 2 then -- lastly, if it is already a weapon | ||
setPickupType ( source 0, 100 ) -- change it to a health pickup | setPickupType ( source, 0, 100 ) -- change it to a health pickup | ||
end | end | ||
end | end | ||
addEventHandler ( "onPickupHit", | addEventHandler ( "onPickupHit", root, onPickupHit ) -- add an event handler for onPickupHit | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | |||
This example changes a local player's pickup every time the spacebar key is pressed down | |||
<section name="Client" class="client" show="true"> | |||
<syntaxhighlight lang="lua">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", resourceRoot, clientsideResourceStart )</syntaxhighlight> | |||
</section> | |||
==See Also== | ==See Also== | ||
{{Pickup functions}} | {{Pickup functions}} |
Latest revision as of 08:10, 4 November 2020
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
bool setPickupType ( pickup thePickup, int theType, int amount/weapon/model [, int ammo ] )
Required Arguments
- thePickup: The pickup which you wish to change the settings of
- theType: An integer representing the type of pickup. You can choose from:
- 0: Health Pickup
- 1: Armour Pickup
- 2: Weapon Pickup
- 3: Custom Pickup
- amount: This is an integer representing the amount of Health points or Armour points a pickup has.
OR
- weapon: If the type is a Weapon pickup, then it represents the weapon ID of the weapon pickup the 'ammo' field must be entered if the type is Weapon Pickup.
OR
- model: If the pickup is a custom model, this is the model id to use. Many non-pickup models can be used, though some may cause crashes. The following is a list of models designed to be used as pickups.
- 370: Jetpack
- 1240: Health (heart)
- 1242: Armour
- 1272: House (blue)
- 1273: House (green)
- 1274: Money (dollar symbol)
- 1277: Save (floppy disk)
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.
Returns
Returns true if successful, false otherwise.
Example
This example changes the pickup time every time someone hits it
Click to collapse [-]
Serverfunction 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", root, onPickupHit ) -- add an event handler for onPickupHit
This example changes a local player's pickup every time the spacebar key is pressed down
Click to collapse [-]
Clientfunction 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", resourceRoot, clientsideResourceStart )
See Also