| Yoko http://forum.yoko.com.ua/ |
|
| Помогите пожалуйста со скриптом на переплавку руды http://forum.yoko.com.ua/viewtopic.php?f=20&t=16750 |
Page 1 of 1 |
| Author: | XSjr [ 2011-09-01 02:32:22 ] |
| Post subject: | Помогите пожалуйста со скриптом на переплавку руды |
Шард X-Cellon. У нас на шарде переплавка проиходит следующим образом... дабл клик на форджу и потом клик на руду. Вот не знаю как добавить в скрипт клик по руде в паке sub Smelt() VAR Ruda1 = '0x19B9' ; Тип руды VAR Ruda2 = '0x19B8' ; Тип руды - 3 шт. VAR Ruda3 = '0x19BA' ; Тип руды - 2 шт. VAR Ruda4 = '0x0E34' ; Тип руды - 1 шт. VAR Ing1 = '0x1BEF' ; Тип ингов металлов VAR Ing2 = '0x1BF2' ; Тип ингов строймата repeat UO.Findtype( Ruda1, -1, 1 ) ; Ищем руду на земле If UO.Findcount() == 0 Then UO.Findtype( Ruda2, -1, 1 ) If UO.Findcount() == 0 Then UO.Findtype( Ruda3, -1, 1 ) If UO.Findcount() == 0 Then UO.Findtype( Ruda4, -1, 1 ) If UO.Findcount() == 0 Then UO.Print( "No more ore for smelt..." ) Return Endif Endif Endif Endif UO.Exec( "moveitem finditem 1" ) ; Тащим 1 в пак Wait( 1000 ) UO.useObject( '0x40001072' ) ; юзаем форджу Wait( 500 ) UO.click('Ruda4') <-- сюда что поставить чтобы кликал по руде таргетом от форджи wait( 500 ) until NOT Uo.CountGround( Ruda1 ) AND NOT UO.CountGround( Ruda2 ) AND NOT UO.CountGround( Ruda3 ) AND NOT UO.CountGround( Ruda4 ) UO.Print( "No more ore for smelt..." ) endsub |
|
| Author: | Mirage [ 2011-09-01 06:40:02 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
Если плавишь с пака то вот так: var sund = '0x40B08251' можно сменить на var sund = 'ground' тогда будет брать с земли. GET(ore, '0x0000', sund, 2, 2) ; вместо 0x0000 вставляешь нужный цвет либо -1 тогда плавить будет любую. Последняя цифра 2 - сколько забирать руды для плавки. Code: var ItemM, timemove |
|
| Author: | XSjr [ 2011-09-01 08:00:01 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
Спасибо! |
|
| Author: | XSjr [ 2011-09-01 10:26:50 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
Ругается вот сюда --> MyTerminate() Исправил скрипт © Mirage |
|
| Author: | XSjr [ 2011-09-01 11:27:39 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
Пишет "no menu to cancel" |
|
| Author: | XSjr [ 2011-09-01 11:28:38 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
вроде как сработало, но один раз положил 2 руды в пак из ящика, переплавил и все |
|
| Author: | Mirage [ 2011-09-01 12:26:34 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
То что что то там пишется - отключи все галки в окне инжекта. Если 2 рудинки одного цвета то какой то глюк - хз не ловил. Если две разные руды то такое бывает. Скрипт простенький без всяких дополнительных проверок. Я им плавил в основном железо - качал мининг. Аа может быть с журналом проблема. Внимательно просмотри сообщения которые пишутся при плавке. |
|
| Author: | XSjr [ 2011-09-01 13:19:23 ] |
| Post subject: | Re: Помогите пожалуйста со скриптом на переплавку руды |
var ItemM, timemove sub Smelt() var sund = '0x400165BB' var forge = '0x0FB1' VAR Ing = '0x1BEF' VAR ore = '0x19B9' VAR ore2 = '0x19BA' VAR ore3 = '0x19B8' uo.Set('finddistance', 3) while 1 GET(ore, -1, sund, 2, 1) UO.DeleteJournal() If UO.Count( ore ) Then uo.waittargettype(ore) endif If UO.Count( ore2 ) Then uo.waittargettype(ore2) endif If UO.Count( ore3 ) Then uo.waittargettype(ore3) endif UO.UseFromGround(forge) while not UO.InJournal('smelt|put|is consumed|fire is not|see the target') <-- здесь должно быть сообщение при использовании форджи? wait(100) wend PUT(Ing, sund) wend end sub Sub GET(item, col, cont, min, max) If UO.Count( item, col ) < min Then UO.FindType( item, col, cont ) if UO.FindCount() > 0 Then itemM=UO.GetSerial('finditem') timemove=UO.Timer() while UO.ContainerOf( UO.GetSerial('finditem') )==cont && timemove+20>UO.Timer() uo.moveitem('finditem', max, 'backpack') wait(100) wend else UO.CancelMenu() MyTerminate() endif Endif end sub Sub PUT(item, cont) while UO.Count( item ) > 0 UO.FindType( item, -1, -1 ) itemM=UO.GetSerial('finditem') timemove=UO.Timer() UO.MoveItem( 'finditem', 0, cont ) while UO.ContainerOf(itemM)=='my' && timemove+20>UO.Timer() wait(100) wend wend end sub Sub MyTerminate() UO.Set('quiet','1') UO.CancelMenu() UO.IgnoreReset() UO.Set('quiet','0') UO.Exec('terminate all') end sub кстати иногда выскакивает ошибка "что то типа не могу перетащить за 0 сек" что-то в этом роде |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|