shopper.iss
Posted: Mon Apr 25, 2005 7:59 pm
Script for checking vendors for items.
Needs INI support, etc,bla,bla,bla.
Nice thing about IS, you can leave it running while running other scripts =)
Needs INI support, etc,bla,bla,bla.
Nice thing about IS, you can leave it running while running other scripts =)
Code: Select all
function main()
{
declare shouldcheck int global 0
declare MerchantOpened bool script false
declare vmItemCount int script 9
declare vmItemArray[9] string script
varset vmItemArray[1] Incorporeal
varset vmItemArray[2] Acquisition
varset vmItemArray[3] Purification
varset vmItemArray[4] Dark Path
varset vmItemArray[5] Haunting
varset vmItemArray[6] Annihil
varset vmItemArray[7] Eventide
varset vmItemArray[8] Black Sapphire
AddTrigger MerchantOffer "@merch@ says 'Welcome to my shop, %${Me.Name}%. You would probably find a @item@ handy.'"
AddTrigger MerchantOffer "@merch@ says 'Hello there, %${Me.Name}%. How about a nice @item@?'"
AddTrigger MerchantOffer "@merch@ says 'Welcome to my shop, %${Me.Name}%.'"
AddTrigger MerchantOffer "@merch@ says 'Greetings, %${Me.Name}%. You look like you could use a @item@.'"
AddTrigger MerchantOffer "@merch@ says 'Hi there %${Me.Name}%, just browsing? Have you seen the @item@ I just got in?'"
do
{
if ${Merchant.Open}
{
if ${shouldcheck}
{
varset shouldcheck 0
do
{
if "${QueuedCommands}"
{
echo executing queued commands
ExecuteQueued
}
WaitFrame
}
while "!${MerchantOpened}"
FlushQueued
call shopper
varset MerchantOpened false
}
WaitFrame
}
else
{
if "!${shouldcheck}"
{
echo resetting shouldCheck variable
varset shouldcheck 1
}
; echo Waiting 10 seconds for Merchant open
wait 100 ${Merchant.Open}
}
}
while "1"
}
function shopper()
{
declare merchTotal int local 0
declare slot int local
declare vmCur int local
varcalc merchTotal ${Merchant.Items}+1
varset slot 1
do
{
varset vmCur 1
do
{
if (${Merchant.Item[${slot}].Name.Find[${vmItemArray[${vmCur}]}]})
echo Found ${Merchant.Item[${slot}].Name} in slot ${slot} on ${Merchant.DisplayName}
varcalc vmCur ${vmCur}+1
}
while "${vmCur}<${vmItemCount}"
varcalc slot ${slot}+1
}
while "${slot}<${merchTotal}"
; echo Finished checking ${Merchant.DisplayName}
}
function MerchantOffer(string all, string who, string item)
{
; echo MerchantOffer called for ${who}
varset MerchantOpened true
}