Here is a little snippet I wrote, perfect for every boxer that is tired of buying food and drink for his alts.
You run it on the summoner and the receiver. It will set the summoner, in this case a cleric, to summon up food and drink, and then pass a stack to the person you specify. The person you specify will wait for a trade window to appear and accept it when it does.
To activate you type; "Summon for Joe." Currently setup to use EQBC but easily modded to use IRC/group. Make sure you capitalise the first letter of the name and include the full stop.
Code: Select all
#event SummonFood "#*#Summon for #1#.#*#"
#event DontWait "#*#I'm out of mana, no food/drink for you#*#"
Sub main
/declare dontwait bool outer
:mainloop
/doevents
/goto :mainloop
/return
Sub Event_SummonFood(Line,charname)
/if (${Me.Class.Name.Equal[Cleric]}) {
/if (${Cursor.ID}) /autoinventory
:summonloop
/if (${Cursor.ID}) /autoinventory
/doevents
/if (${FindItemCount[Summoned: Globe of Water]}<15) {
/casting "Summon Drink|gem5" -maxtries|10
/delay 10s ${Me.Casting.ID}
/delay 10s !${Me.Casting.ID}
/delay 10s ${Cursor.ID}
/if (${Cursor.ID}) /autoinventory
/if (${Me.CurrentMana}<20) {
/bc I'm out of mana, no food/drink for you
/return
}
/goto :summonloop
}
/if (${FindItemCount[Summoned: Black Bread]}<15) {
/casting "Summon Food|gem5" -maxtries|10
/delay 10s ${Me.Casting.ID}
/delay 10s !${Me.Casting.ID}
/delay 10s ${Cursor.ID}
/if (${Cursor.ID}) /autoinventory
/if (${Me.CurrentMana}<20) {
/bc I'm out of mana, no food/drink for you
/return
}
/goto :summonloop
}
/call OpenPacks
/if (${Cursor.ID}) /autoinventory
/nomodkey /itemnotify ${FindItem[Summoned: Globe of Water].InvSlot} leftmouseup
/delay 5s ${Window[QuantityWnd].Open}
/keypress backspace chat
/keypress backspace chat
/keypress 1 chat
/keypress 0 chat
/delay 1s
/notify QuantityWnd QTYW_Accept_Button leftmouseup
/delay 10s ${Cursor.ID}
/target id ${Spawn[PC ${charname}].ID}
/delay 10s ${Target.ID}==${Spawn[PC ${charname}].ID}
/if ( ${Me.Sitting} ) /stand
/if ( ${Me.Mount.ID} ) /dismount
/stick 10 hold
/delay 10s ${Me.Moving}
/delay 10s !${Me.Moving}
/click left Target
/delay 10s !${Cursor.ID}
/nomodkey /itemnotify ${FindItem[Summoned: Black Bread].InvSlot} leftmouseup
/delay 10s ${Window[QuantityWnd].Open}
/keypress backspace chat
/keypress backspace chat
/keypress 1 chat
/keypress 0 chat
/delay 1s
/notify QuantityWnd QTYW_Accept_Button leftmouseup
/delay 10s ${Cursor.ID}
/click left Target
/delay 10s !${Cursor.ID}
/if (${Window[TradeWnd].Open}) {
/notify TradeWnd TRDW_Trade_Button leftmouseup
/delay 10s !${Window[TradeWnd].Open}
}
/cleanup
}
/if (${Me.CleanName.Equal[${charname}]}) {
/varset dontwait false
:windowloop
/doevents
/if (${Window[TradeWnd].Open}) {
/delay 30
/notify TradeWnd TRDW_Trade_Button leftmouseup
/delay 10s !${Window[TradeWnd].Open}
/return
}
/if (${dontwait}) /return
/goto :windowloop
}
/return
Sub OpenPacks
/declare bag int local 0
/if (!${Window[InventoryWindow].Open}) /nomodkey /keypress inventory
/delay 3s ${Window[InventoryWindow].Open}
/for bag 1 to 8
/if (!${Window[Pack${bag}].Open}) /nomodkey /itemnotify pack${bag} rightmouseup
/delay 3s ${Window[Pack${bag}].Open}
/next bag
/return
Sub Event_DontWait
/varset dontwait true
/return
