Открыть сундук , Подскажите |
Открыть сундук , Подскажите |
Сообщений: 53 Рег. 17.02.2013 |
9 марта 2013 18:16
Сообщение #1
|
Немогу понять как открыть в сундуке мешок. Как запускаю скрипт он открывает сундук а мешок который лежит в сундуке почемуто не открывает. Подскажите что я зделал не правильно в этом скрипте и отредактируйте плиз вот скрипт sub Fasovka() VAR Sunduk1 = '0x40EA10F8' var mesh = '0x405480EA' UO.Set('finddistance','2') UO.FindType('Sunduk1','-1','ground') if UO.FindCount() > 0 then if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') uo.setreceivingcontainer(Sunduk1) wait(1000) UO.FindType('mesh','-1','Sunduk1') if UO.FindCount() > 0 then if uo.getserial('finditem') == mesh then uo.useobject('finditem') uo.setreceivingcontainer(mesh) end if end sub |
|
|
|
9 марта 2013 18:38
Сообщение #2
|
|
используйвот это http://nmy.id.lv/codesweeper.htm если в скрипте что-то пропущено, то end sub не будет в самом начале строки. В твоем скрипте есть 4 "if" и всего 1 "end if" |
|
|
|
Сообщений: 53 Рег. 17.02.2013 |
9 марта 2013 19:05
Сообщение #3
|
Непонимаю а куда их вставлять то все енд иф? Я в конце енд иф поставил что если он возьмёт координаты с последнего ящика то скрипт закрывается. sub Fasovka() VAR Sunduk1 = '0x40EA10F8' var mesh = '0x405480EA' UO.Set('finddistance','2') UO.FindType('Sunduk1','-1','ground') if UO.FindCount() > 0 then if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') uo.setreceivingcontainer(Sunduk1) wait(1000) UO.FindType('mesh','-1','Sunduk1') if UO.FindCount() > 0 then if uo.getserial('finditem') == mesh then uo.useobject('finditem') uo.setreceivingcontainer(mesh) end if end sub И я заметил что если стоиш около несколько сундуков то он пишет что нашол типо 5 штук таких.. Хотя ИД же стоит что нужен именно 1 только. |
|
|
|
9 марта 2013 19:13
Сообщение #4
|
|
Цитата: Betrazen UO.FindType ты ищешь тип, а указываешь ИД, а не тип команда if двойная, т.е. на каждый if длжен быть end if |
|
|
|
Сообщений: 792 Рег. 27.06.2011 |
9 марта 2013 19:18
Сообщение #5
|
sub Fasovka() VAR Sunduk1 = '0x40EA10F8' var mesh = '0x405480EA' UO.Set('finddistance','2') UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') if UO.FindCount() then if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') wait(1000) UO.FindType(uo.GetGraphic(mesh),'-1',Sunduk1) if UO.FindCount() then if uo.getserial('finditem') == mesh then uo.useobject('finditem') wait(1000) uo.setreceivingcontainer(mesh) end if endif endif endif end sub |
|
|
|
9 марта 2013 19:24
Сообщение #6
|
|
Fiz Pok, если рядом несколько сундуков, то скрипт затупит, как мне кажется ) хотя хз, я так не делал ) |
|
|
|
Сообщений: 3333 Рег. 5.09.2009 |
9 марта 2013 19:31
Сообщение #7
|
sub Fasovka() VAR Sunduk1 = '0x40EA10F8' var mesh = '0x405480EA' uo.useobject('Sunduk1 ') wait(1000) uo.useobject('mesh') end sub почему так нельзя? нужно только к сундуку подойти |
|
|
|
Сообщений: 53 Рег. 17.02.2013 |
9 марта 2013 19:51
Сообщение #8
|
Проверил от физ пока нифега. Когда стою с другими сундуками он даже не открывает тот который должен открывать. А если стою на едине с этим сундуком то тогда норм. Но мешок всё ещё не открывает. Митако а какой командой можно найти Айди? |
|
|
|
Сообщений: 3333 Рег. 5.09.2009 |
9 марта 2013 19:57
Сообщение #9
|
не забывай про радиус и доступность сундука. ,info |
|
|
|
9 марта 2013 19:59
Сообщение #10
|
|
Betrazen, вообщем тебе точно надо именно такой скрипт? Я знаю решение, но оно замудренное |
|
|
|
9 марта 2013 20:01
Сообщение #11
|
|
http://forum.yoko.com.ua/viewtopic.php?f=20&t=17146 |
|
|
|
Сообщений: 792 Рег. 27.06.2011 |
9 марта 2013 20:14
Сообщение #12
|
все проще гораздо: если несколько sub Fasovka() VAR Sunduk1 = '0x40EA10F8' var mesh = '0x405480EA' UO.Set('finddistance','2') UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') wait(1000) UO.FindType(uo.GetGraphic(mesh),'-1',Sunduk1) while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == mesh then uo.useobject('finditem') wait(1000) uo.setreceivingcontainer(mesh) end if UO.FindType(uo.GetGraphic(mesh),'-1',Sunduk1) wend endif UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') wend uo.ignorereset() end sub а вообще - согласен с Паркером |
|
|
|
Сообщений: 53 Рег. 17.02.2013 |
10 марта 2013 02:36
Сообщение #13
|
sub Fasovka() VAR Sunduk1 = '0x40EA10F8';сундук с мешками VAR Sunduk3 = '0x402FE8A0' Мой бакпэк VAR Sunduk2 = '0x405480EA';ñóíäóê ñ ìåøêàìè VAR Mesh1 = '0x40F87F90';1 мешок VAR Mesh2 = '0x405480EA';2 ìåøîê VAR Mesh3 = '0x40F87F90';3 ìåøîê VAR Mesh4 = '0x40547A24';4 ìåøîê DIM R[56] var a R[1] = '0x1067';êîæà R[2] = '0x19B9';ðóäà R[3] = '0x19B7';ðóäà R[4] = '0x19BA';ðóäà R[5] = '0x1BDD';ëîãè R[6] = '0x108A';êîëüöà R[7] = '0x1087';ñåðüãè R[8] = '0x1088';îïôèä. îæåðåëüå R[9] = '0x1086';áðàñëåòû R[10] = '0x1085';ëèçàðä áóñû R[11] = '0x0F26' R[12] = '0x0F25' R[13] = '0x0F13' R[14] = '0x0F11' R[15] = '0x0F18' R[16] = '0x0F15' R[17] = '0x0F10' R[18] = '0x0F16' R[19] = '0x0F60';ëîíã ñâîðä R[20] = '0x13B5';ñêèìèòàð R[21] = '0x143C';õàìåðïèê R[22] = '0x13FE';êàòàíà R[23] = '0x143A';ìàóë R[24] = '0x1404';âèëêà R[25] = '0x13B1';ëóê R[26] = '0x1400';êðèññ R[27] = '0x1402';ïèêà R[28] = '0x13B9';âèêèíã ñâîðä R[29] = '0x143E';àëåáàðäà R[30] = '0x13FC';àðáàëåò R[31] = '0x0F7B';ÁÌ R[32] = '0x0F86';ÌÐ R[33] = '0x0F7A';ÁÏ R[34] = '0x0F88';ÍÑ R[35] = '0x0F8C';ÑÀ R[36] = '0x0F84';ÃÀ R[37] = '0x0F8D';ÑÑ R[38] = '0x0F85';ÃÑ R[39] = '0x0F8E';ñåðïåíò ñêàëå R[40] = '0x0F78';áåòâèíãè R[41] = '0x0F83';ñåðäöà R[42] = '0x09B5';ÿéöà R[43] = '0x0F8F';âóëêàíèê àø R[44] = '0x0F91';âèðìõàðòû R[45] = '0x0F7C';áëóäñïàóí R[46] = '0x0F79';áëåêìóð R[47] = '0x0F87';ãëàçèêè R[48] = '0x0F8A';ïèãàéðîí R[49] = '0x0F7E';êîñòè (ñêåëåòû, ïàëû) R[50] = '0x0F80';êîñòè (äåìîí) R[51] = '0x0F82';äðàãîí áëàä è àíàëîãè÷íûå R[52] = '0x0F7F';áðèìñòîóí R[53] = '0x0F90';äåäâóäû R[54] = '0x0F8B';ïóìèñ R[55] = '0x0F89';îáñèäèàí R[56] = '0x09F1';ìÿñî UO.Set('finddistance','2') UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') wait(1000) UO.FindType(uo.GetGraphic(Mesh2),'-1',Sunduk1) while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Mesh2 then uo.useobject('finditem') wait(1000) uo.setreceivingcontainer(Mesh2) end if UO.FindType(uo.GetGraphic(Mesh2),'-1',Sunduk1) wend endif UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') wend uo.ignorereset() uo.setreceivingcontainer('Mesh2') uo.DeleteJournal() for a=6 to 18 uo.findtype(R[a],"-1",'Sunduk3') if uo.FindCount()>0 then while uo.FindCount()>0 uo.findtype(R[a],"-1",'Sunduk3') UO.Grab("0","finditem") wait(1000) wend endif next end sub Ребят я тут намудрил с тем что вы мне дали и получилось то что хотелось. Но такое ощющение что скрипт можно сделать намного легче и чтоб он легче работал. Крашит очень очень часто в данный момент не пойму почему. |
|
|
|
Сообщений: 53 Рег. 17.02.2013 |
10 марта 2013 02:37
Сообщение #14
|
То что я хочю в скрипт добавить это чтоб например в другой мешок он ложил другие вещи но как это правильно соединить я не понимаю. Я пробовал, скрипт впринципе работал но почемуто краш за крашом. |
|
|
|
10 марта 2013 11:33
Сообщение #15
|
|
Betrazen, сделай один массив на 1 сундук, второй массив на второй сундук. Открыл первый - выгрузил, начал искать. открывать второй и в него выгружать через второй массив |
|
|
|
Сообщений: 53 Рег. 17.02.2013 |
10 марта 2013 14:07
Сообщение #16
|
Как я по твоим словам понял то нужно сделать примерно так. UO.Set('finddistance','2') UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') wait(1000) UO.FindType(uo.GetGraphic(Mesh2),'-1',Sunduk1) while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Mesh2 then uo.useobject('finditem') wait(1000) uo.setreceivingcontainer(Mesh2) end if UO.FindType(uo.GetGraphic(Mesh2),'-1',Sunduk1) wend endif UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') wend uo.ignorereset() uo.setreceivingcontainer('Mesh2') uo.DeleteJournal() for a=6 to 18 uo.findtype(R[a],"-1",'Sunduk3') if uo.FindCount()>0 then while uo.FindCount()>0 uo.findtype(R[a],"-1",'Sunduk3') UO.Grab("0","finditem") wait(1000) wend endif next а потом после строчки некст просто скопировать всё и переделать для другого сундука. |
|
|
|
Сообщений: 53 Рег. 17.02.2013 |
10 марта 2013 14:08
Сообщение #17
|
UO.Set('finddistance','2') UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Sunduk1 then uo.useobject('finditem') wait(1000) UO.FindType(uo.GetGraphic(Mesh3),'-1',Sunduk1) while UO.FindCount() uo.ignore('finditem') if uo.getserial('finditem') == Mesh3 then uo.useobject('finditem') wait(1000) uo.setreceivingcontainer(Mesh3) end if UO.FindType(uo.GetGraphic(Mesh3),'-1',Sunduk1) wend endif UO.FindType(uo.GetGraphic(Sunduk1),'-1','ground') wend uo.ignorereset() uo.setreceivingcontainer('Mesh3') uo.DeleteJournal() for a=18 to 30 uo.findtype(R[a],"-1",'Sunduk3') if uo.FindCount()>0 then while uo.FindCount()>0 uo.findtype(R[a],"-1",'Sunduk3') UO.Grab("0","finditem") wait(1000) wend endif next Этот массив щяс например от 18 итема до 30. А в массиве выше с 6 до 18? Но я так пробовал юзать скрипт почемуто сильно крашит. чють ли не при каждом использование |
|
|
|
10 марта 2013 15:35
Сообщение #18
|
|
убрал |
|
|
|
Сообщений: 1043 Рег. 18.06.2011 |
11 марта 2013 09:59
Сообщение #19
|
Капец вы настрогали... UO.FindType(uo.GetGraphic(Mesh3),'-1',Sunduk1) не будет работать, т.к. он найдет тип заданного мешка но потом будет работать с ID а оно может не совпасть если рядом лежит еще один мешок. В чем проблема использовать PUTLoot2(0x1085, 0x108b, '-1', SundLoot, SundBi,'','','') ; бижутерия PUTLoot2(0x1f05, 0x1f0a, '-1', SundLoot, SundBi,'','','') ; бижутерия PUTLoot2(0xf0f, 0xf30, '-1', SundLoot, SundBi,'','','') ; камни PUTLoot2(0x1f19, 0x1f5c, '0', SundLoot, SundS,'','','') ; scroll 1-6 эти строчки обрабатывают ВСЮ бижутерию, ВСЕ камни и ВСЕ свитки 1-6 уровней. Хоть 100 РАЗНЫХ мешков. А если дозхрена баз то сделать sub razklad1() sub razklad2() Не любитесь с деревянным одноколесным велосипедом. Ну в крайнем случае можно использовать разноцветные мешки (если у вас тут они есть). |
|
|
|
11 марта 2013 10:27
Сообщение #20
|
|
Alucard, мы с тобой на ёко общались на эту тему. Твой вариант не подходит, если разгрузка в нескольких местах. У меня сейчас, к примеру, 3 таких места. Делать 3 разных саба и биндить их на кнопки, потом вспоминать что куда для меня неприемлемо |
|
|
|
Сейчас: 24 ноября 2024 12:18 |