Das Skript würde ohne Probleme funktionieren, wenn es nur ein Item davon gibt.
Um das für mehrere Kompatibel zu machen muss man einfach nur die waffe-Variable weglassen (imho unnötig) und aus dem == nach dem GetItemCount ein >= machen (bzw. == 1 einfach weglassen <-- wirkt wie != 0).
Sähe dann so aus:
Code:
scn derNameDesScripts
short Count
short Equipped
Begin Gamemode
if ( Player.GetItemCount deinewaffe1 ) && ( Player.GetLevel >= 2 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem ( & EquipItem) zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe1
set Count to Player.GetItemCount deinewaffe1
Player.RemoveItem deinewaffe1 Count
Player.AddItem deinewaffe2 Count
if ( Equipped )
Player.EquipItem deinewaffe2
endif
elseif ( Player.GetItemCount deinewaffe2 ) && ( Player.GetLevel >= 4 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe2
set Count to Player.GetItemCount deinewaffe2
Player.RemoveItem deinewaffe2 Count
Player.AddItem deinewaffe4 Count
if ( Equipped )
Player.EquipItem deinewaffe4
endif
elseif ( Player.GetItemCount deinewaffe4 ) && ( Player.GetLevel >= 6 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe4
set Count to Player.GetItemCount deinewaffe4
Player.RemoveItem deinewaffe4 Count
Player.AddItem deinewaffe6 Count
if ( Equipped )
Player.EquipItem deinewaffe6
endif
elseif ( Player.GetItemCount deinewaffe6 ) && ( Player.GetLevel >= 9 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe6
set Count to Player.GetItemCount deinewaffe6
Player.RemoveItem deinewaffe6 Count
Player.AddItem deinewaffe9 Count
if ( Equipped )
Player.EquipItem deinewaffe9
endif
elseif ( Player.GetItemCount deinewaffe9 ) && ( Player.GetLevel >= 12 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe9
set Count to Player.GetItemCount deinewaffe9
Player.RemoveItem deinewaffe9 Count
Player.AddItem deinewaffe12 Count
if ( Equipped )
Player.EquipItem deinewaffe12
endif
elseif ( Player.GetItemCount deinewaffe12 ) && ( Player.GetLevel >= 16 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe12
set Count to Player.GetItemCount deinewaffe12
Player.RemoveItem deinewaffe12 Count
Player.AddItem deinewaffe16 Count
if ( Equipped )
Player.EquipItem deinewaffe16
endif
elseif ( Player.GetItemCount deinewaffe16 ) && ( Player.GetLevel >= 20 )
Message "Waffe gelevelt"
Message "Waffe gelevelt"
;Message davor und doppelt, um den MessageSpam von RemoveItem & AddItem zu unterdrücken
set Equipped to Player.GetEquipped deinewaffe16
set Count to Player.GetItemCount deinewaffe16
Player.RemoveItem deinewaffe16 Count
Player.AddItem deinewaffe20 Count
if ( Equipped )
Player.EquipItem deinewaffe20
endif
;StopQuest nicht mehr, da ja evtl. noch andere Exemplare im Umlauf sind
; StopQuest questName ;da kommt der name von dem Quest hin auf den du des Script gelegt hast
endif
End
PS:
Ich habe noch eingefügt, dass die Waffe wieder neu ausgerüstet wird, sofern es die alte war.