Ecco a voi lo script per consegnare i bolt:
Con i parametri all'inizio dello script potete configurare lo script stesso come quali talismani tenere (potenza dei bonus)
Con i parametri all'inizio dello script potete configurare lo script stesso come quali talismani tenere (potenza dei bonus)
codice:
## Parametri ##
QuestGiverSerial = 0x00006AC1
ContextQuestToggleID = 5
BoldID = 0x1BFB
TrashCan = Items.FindBySerial(0x4013FA9E)
TimeoutOnWaitAction = 4000
TrashDelay = 600
DragDelay = 1500
ScanQuestDelay = 55 ## Dipende dalla potenza del vosto pc
CheckTali = True
MinNormalBonus = 22
MinExBonus = 20
## Script ##
loop = 1
bolt = 0
def CheckTalismani( tal ):
Misc.SendMessage("--> Verifica Talismano", 99)
Items.WaitForProps(tal, TimeoutOnWaitAction)
if Items.GetPropValue(tal.Serial, "Tinkering Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Tinkering Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif Items.GetPropValue(tal.Serial, "Fletching Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Fletching Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif Items.GetPropValue(tal.Serial, "Tailoring Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Tailoring Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif Items.GetPropValue(tal.Serial, "Blacksmith Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Blacksmith Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif Items.GetPropValue(tal.Serial, "Inscription Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Inscription Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif Items.GetPropValue(tal.Serial, "Cooking Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Cooking Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif Items.GetPropValue(tal.Serial, "Alchemy Exceptional Bonus") >= MinExBonus and Items.GetPropValue(tal.Serial, "Alchemy Bonus") >= MinNormalBonus:
Misc.SendMessage("--> Talismano nel range trovato", 99)
Items.Move(tal, Player.Backpack, 0)
Misc.Pause(DragDelay)
else:
Misc.NoOperation()
return;
while loop == 1:
Misc.Pause(ScanQuestDelay)
if Items.BackpackCount(BoldID, 0) < 9:
Misc.SendMessage("--> Fine Frecce", 33)
loop = 0
else:
Gumps.ResetGump()
Mobiles.UseMobile(QuestGiverSerial)
Gumps.WaitForGump(2770237747, TimeoutOnWaitAction)
if Gumps.LastGumpTextExist("Lethal Darts"):
Misc.SendMessage("--> Quest OK", 99)
Gumps.SendAction(2770237747, 1)
Misc.SendMessage("--> Quest Accettata", 99)
Misc.WaitForContext(Player.Serial, TimeoutOnWaitAction)
Misc.ContextReply(Player.Serial, ContextQuestToggleID)
Target.WaitForTarget(TimeoutOnWaitAction)
for itemcontenuti in Player.Backpack.Contains:
if itemcontenuti.ItemID == BoldID:
bolt = itemcontenuti.Serial
else:
Misc.NoOperation()
Target.TargetExecute(bolt)
Misc.SendMessage("--> Bolt Selezionati", 99)
Target.WaitForTarget(TimeoutOnWaitAction)
Target.Cancel()
Mobiles.UseMobile(QuestGiverSerial)
Gumps.WaitForGump(323772612, TimeoutOnWaitAction)
Gumps.SendAction(323772612, 1)
Misc.SendMessage("--> Scansione Rewards", 99)
for itemcontenuti in Player.Backpack.Contains:
if itemcontenuti.ItemID == 0x0E75:
Items.WaitForContents(itemcontenuti, TimeoutOnWaitAction)
for rewcontain in itemcontenuti.Contains:
if rewcontain.ItemID == 0x1022:
Misc.SendMessage("--> Toolkit trovato", 99)
Items.Move(rewcontain, Player.Backpack, 0)
Misc.Pause(DragDelay)
elif rewcontain.ItemID == 0x2f5a or rewcontain.ItemID == 0x2f5b or rewcontain.ItemID == 0x2f59 or rewcontain.ItemID == 0x2f58:
if CheckTali:
CheckTalismani(rewcontain)
else:
Misc.NoOperation()
else:
Misc.NoOperation()
Misc.SendMessage("--> Trash box rewards", 99)
Items.Move(itemcontenuti, TrashCan, 0)
Misc.Pause(TrashDelay)
else:
Misc.NoOperation()
else:
Misc.NoOperation()









Commenta