Помогите пожалуйста скриптик до ума довести |
Помогите пожалуйста скриптик до ума довести |
Сообщений: 435 Рег. 19.05.2010 |
22 мая 2010 16:24
Сообщение #1
|
ловит, режет, все норм... удочки хватает на ~1800-2000 стейков дальше она ломается и чар тупо стоит, нужно чтобы он брал из пака вторую удочку и ловил дальше, потом третью и еще ловил... Заранее спасибо большое... var MaxFailure=8 sub FishingAround() var iX,iY for var iStep=0 to 1000 for iX=-6 to 6 for iY=-6 to 6 GetAllFish(UO.GetX()+iX,UO.GetY()+iY) next next next end sub Sub GetAllFish(iX,iY) var counter=0 repeat counter=counter+1 UO.DeleteJournal() UO.WaitTargetTile(0,iX,iY,0) UO.UseType('0x0DBF') while not UO.InJournal('You pull out a fish!') and not UO.InJournal('You fish a while, but fail to catch anything') and not UO.InJournal('There are no fish here.') and not UO.InJournal('Try fishing elsewhere') and not UO.InJournal('That is too far away') wait(100) wend if UO.InJournal('There are no fish here.') OR UO.InJournal('Try fishing elsewhere') OR UO.InJournal('That is too far away') then return end if if UO.InJournal('You pull out a fish!') then counter=0 GetFish() end if until UO.Injournal('There are no fish here.') OR UO.InJournal('Try fishing elsewhere') OR UO.InJournal('That is too far away') OR counter>MaxFailure end sub Sub GetFish() UO.set('finddistance',0) UO.IgnoreReset() UO.Ignore('self') UO.FindType('0x352D',-1,'ground') UO.Ignore('finditem') UO.FindType(-1,-1,'ground') while UO.FindCount()>0 UO.WaitTargetObject('finditem') UO.UseType('0x0F51') UO.Ignore('finditem') wait(500) UO.FindType(-1,-1,'ground') wend UO.Ignorereset() UO.Ignore('self') UO.FindType('0x352D',-1,'ground') UO.Ignore('finditem') UO.FindType(-1,-1,'ground') while UO.FindCount()>0 UO.Grab(0,'finditem') wait(100) UO.FindType(-1,-1,'ground') wend UO.Ignorereset() end sub |
|
|
|
23 мая 2010 12:18
Сообщение #2
|
|
пиши в тегах [quote'] или [code'] а то сложно читать |
|
|
|
Сообщений: 435 Рег. 19.05.2010 |
23 мая 2010 13:43
Сообщение #3
|
ок, в следущий раз попробую разобраться и писать нормально... =)
тему можно закрывать, уже не актуально =) |
|
|
|
Сообщений: 887 Рег. 4.03.2010 |
24 мая 2010 07:52
Сообщение #4
|
А каким было решение? потому что у меня тож такая проблемка) |
|
|
|
24 мая 2010 09:07
Сообщение #5
|
|
Ну решений тута много, но проще добавь в цикл: while not UO.InJournal('You pull out a fish!') and not UO.InJournal('You fish a while, but fail to catch anything') and not UO.InJournal('There are no fish here.') and not UO.InJournal('Try fishing elsewhere') and not UO.InJournal('That is too far away') wait(100) wend Сообщение о поломки удочки, судя по все когда удочка сломается он зависает тута. Или вообще удали этот цикл и поставь нормальную задержку. И все будет работать.
|
|
|
|
Сообщений: 435 Рег. 19.05.2010 |
24 мая 2010 11:25
Сообщение #6
|
а решения и небыло )) просто наловил много рыбки перезапуская скрипт когда ломалась удочка и все хватит мне рыбки =) |
|
|
|
24 мая 2010 12:00
Сообщение #7
|
|
Гы, а попробуй, так сработает? UO.WaitTargetTile(0,iX,iY,0) UO.FindType('0x0DBF',-1,'backpack') If UO.FindCount() > 0 Then UO.UseObject('finditem') else uo.canceltarget() uo.print('жопа, удочки кончились') endif то есть 1) положить несколько удочек в рукзак 2) перед забросом поискать похрену какую удочку в рюкзаке 3) если хоть какая-ниюудь есть, ловить? При качании анималлора на "какой-нибудь любой" вороне на хлопковом поле работает :) ps написал сначала гетквонтити, подумал, что не прокатит, поменял на файндкаунт, а форум слэшей наставил :( слэши перед кавычками не нужны. |
|
|
|
26 мая 2010 12:43
Сообщение #8
|
|
а разве не просто if uo.findcount() then ? |
|
|
|
26 мая 2010 18:49
Сообщение #9
|
|
Замени это while not UO.InJournal('You pull out a fish!') and not UO.InJournal('You fish a while, but fail to catch anything') and not UO.InJournal('There are no fish here.') and not UO.InJournal('Try fishing elsewhere') and not UO.InJournal('That is too far away') На это while not UO.InJournal('You pull out a fish!') and not UO.InJournal('You fish a while, but fail to catch anything') and not UO.InJournal('There are no fish here.') and not UO.InJournal('Try fishing elsewhere') and not UO.InJournal('That is too far away') and not UO.InJournal('unsuitable!') |
|
|
|
Сообщений: 1234 Рег. 1.05.2010 |
30 мая 2010 23:51
Сообщение #10
|
А не проще ли сделать функцию ожидания сообщений в журнале с таймаутом? Статическая задеркжа тут не гут |
|
|
|
31 мая 2010 12:15
Сообщение #11
|
|
Chimera,глупо написал, проблемы это вообще не решит, разницы не какой проверил ты перед использованием предмета на наличие или нет. В любом случае, если его нет то он его не использует независимо от проверки, тута стоит юз по типу, что означает персонаж должен использовать удочки пока они есть в паке, в данном случае удочка ломается и скрипт ждет в цикле определленного сообщения, а сообщение о поломке удочки тут не прописано. |
|
|
|
Сейчас: 26 ноября 2024 04:49 |