User:PROXiCiDE/AddItemsToPlayerFromForm
< User:PROXiCiDE
Revision as of 21:06, 25 March 2014 by imported>PROXiCiDE
Overview
AddItemsToPlayerFromForm() is useful for Debugging
Syntax
Function AddItemsToPlayerFromForm(FormList pList, Bool bRemove = False)
Parameters
- pList: The form list containing Spells / Ammo / Weapon.
- bRemove : Items from the FormList will be removed instead of added to the player.
- Default: False
Return Value
None
Example
FormList Property _PX_DebugSpellList Auto
Event OnInit()
;Debug
AddItemsToPlayerFromForm(_PX_DebugSpellList)
EndEvent
Script
Function AddItemsToPlayerFromForm(FormList pList, Bool bRemove = False)
If pList == None
Return
EndIf
Actor pPlayer = Game.GetPlayer()
Ammo pAmmo = None
Weapon pWeapon = None
Spell pSpell = None
Int Size = pList.GetSize()
While Size > 0
Size -= 1
Form fmItem = pList.GetAt(Size)
If fmItem As Spell
pSpell = fmItem As Spell
If bRemove
pPlayer.RemoveSpell(pSpell)
Else
pPlayer.AddSpell(pSpell)
EndIf
ElseIf (fmItem As Potion) || (fmItem As Scroll) || (fmItem As SoulGem)
If bRemove
pPlayer.RemoveItem(fmItem, 5)
Else
pPlayer.AddItem(fmItem, 5)
EndIf
ElseIf fmItem As Ammo
pAmmo = fmItem As Ammo
If bRemove
pPlayer.RemoveItem(fmItem, 100)
Else
pPlayer.AddItem(fmItem, 100)
EndIf
ElseIf fmItem As Weapon
pWeapon = fmItem As Weapon
If bRemove
pPlayer.RemoveItem(fmItem, 1)
Else
pPlayer.AddItem(fmItem,1)
EndIf
EndIf
EndWhile
If !bRemove
If pAmmo != None
pPlayer.EquipItem(pAmmo)
EndIf
If pWeapon != None
pPlayer.EquipItem(pWeapon)
EndIf
If pSpell != None
pPlayer.EquipSpell(pSpell,1)
EndIf
EndIf
EndFunction