| Yoko http://forum.yoko.com.ua/ |
|
| Скупка регов http://forum.yoko.com.ua/viewtopic.php?f=20&t=1900 |
Page 1 of 3 |
| Author: | [Geralt] [ 2004-11-09 16:50:20 ] |
| Post subject: | Скупка регов |
Народ нужен скрипт чтобы чарик реколился по рункам к магам и скупал у них определенные реги. Рунки в сумке Заранее сенк |
|
| Author: | Leks [ 2004-11-09 18:52:02 ] |
| Post subject: | Re: Скупка регов |
[Geralt] wrote: Народ нужен скрипт чтобы чарик реколился по рункам к магам и скупал у них определенные реги.
Рунки в сумке Заранее сенк Чувак, юзай поиск.... |
|
| Author: | Askaneli [ 2004-11-10 10:15:40 ] |
| Post subject: | Re: Скупка регов |
[Geralt] wrote: Народ нужен скрипт чтобы чарик реколился по рункам к магам и скупал у них определенные реги.
Рунки в сумке Заранее сенк ISQ 348-978-237 |
|
| Author: | Revenant [ 2004-11-10 10:33:12 ] |
| Post subject: | |
################################### # Revenant \ Antares # auo.ru ################################### # Использована Саваджевская ходилка ################################### # Список регов составляется во вкладке Buy/Sell страницы Main инжекта # и обзывается непотребным словом "sp" # скрипт с подходом к вендору и эксклюзивной технологией перемарка руны # при снижении количества зарядов менее 10. Сделано из любви к искусству, # а не для того чтобы обои через замочную скважену клеить var res sub main() DIM rune[6] DIM ven[6] var i, n rune[1]='0x40DA894A' ; Сюда вносятся IP рун к вендорам rune[2]='0x40F0A772' ; 6 штук, можно сколько угодно rune[3]='0x40F083BE' ; просто все шестерки в скрипте rune[4]='0x40F0A773' ; заменяются на нужную цифру rune[5]='0x40F083BC' ; rune[6]='0x40F0A771' ; ven[1]='0x00FE4E27' ; IP вендоров у которых скупаются реги ven[2]='0x00FE5702' ; ven[3]='0x00FE37AC' ; ven[4]='0x00FE0A83' ven[5]='0x00F7F766' ven[6]='0x00FE83E0' repeat for i=1 to 6 recall(i,rune) WalkN(0,0,ven[i]) UO.buy('sp','vendor') wait(500) UO.Say("bye") UO.DeleteJournal() UO.Click(rune[i]) repeat wait(500) until UO.InJournal('jumps left') takenum() if res < 10 then ; остаток зарядов на руне Mark(i,rune) endif med() next until UO.Dead() end sub ##################################### sub takenum() var ns, j, i, n var str, num num='' ns=0 n=uo.InJournal('jumps left')-1 str=uo.Journal(n) UO.Print(str) j = len( str ) - 1 for i = 0 to j if ns==1 and str[i]<>' ' then num=num+str[i] else ns=0 endif if str[i] =='(' then ns=1 endif next res = val(num) UO.Print(str(res)) end sub ##################################### sub Recall(i,rune) var b uo.print('Recoll Rune '+str(i)) for b=1 to 10 uo.deletejournal() uo.waittargetobject(rune[i]) uo.cast('Recall',rune[i]) if WaitForRecall()==1 then return 1 end if next return 0 end sub ##################################### sub Mark(i,rune) uo.waittargetobject(rune[i]) uo.cast('Mark',rune[i]) end sub ##################################### sub WaitForRecall() var Text1=uo.getname()+": The spell fizzles." var mess='',lastX=uo.getX(),lastY=uo.getY() for var v=0 to 200 mess=uo.journal(0) if uo.Journal(0)==Text1 then return 0 end if if uo.getX()<>lastX OR uo.getY()<>LastY then return 1 end if wait(50) next return 0 end sub ###################################### sub med() VAR LastTimer while UO.Mana<UO.Int LastTimer=UO.Timer() UO.UseSkill('Meditation') repeat wait(100) until UO.InJournal("You are") OR UO.InJournal("You lose") OR UO.Timer()>LastTimer+200 UO.DeleteJournal() wait(200) wend end sub ############################## # WalkN(X,Y,Serial) - char is walking by dX and dY step # sub using Home, End, PgUp, PgDown keys # d'not rebind this key from default action! # serial - Serial of target or "" - string # walkwait - delay after keypress # Example: # WalkN(2080,2113,'') - go to coordinates # WalkN(0,0,'0x12345678') - go to target position #-------------------------------------------------------------- sub WalkN(x,y,Target) VAR i,StepSucess VAR dx,dy,Exit=0 While Exit<>1 If Target<>"" Then dx=UO.GetX(Target)-UO.GetX() dy=UO.GetY(Target)-UO.GetY() If UO.GetDistance(Target)<2 Then Exit=1 Endif Else dx=x-UO.GetX() dy=y-UO.GetY() If dx==0 AND dy==0 Then Exit=1 Endif Endif If dx<>0 AND dy<>0 Then If dx>0 AND dy>0 Then StepSucess=Go(3,40,300) ;SE - DownArrow If StepSucess==-1 Then StepSucess=Go(7,38,300) ;WN - UpArrow StepSucess=Go(1,39,300) ;NE - RightArrow If StepSucess==-1 Then StepSucess=Go(5,37,300) ;SW - LeftArrow Endif Endif Endif If dx>0 AND dy<0 Then StepSucess=Go(1,39,300) ;NE - RightArrow If StepSucess==-1 Then StepSucess=Go(5,37,300) ;SW - LeftArrow StepSucess=Go(3,40,300) ;SE - DownArrow If StepSucess==-1 Then StepSucess=Go(7,38,300) ;WN - UpArrow Endif Endif Endif If dx<0 AND dy>0 Then StepSucess=Go(5,37,300) ;SW - LeftArrow If StepSucess==-1 Then StepSucess=Go(1,39,300) ;NE - RightArrow StepSucess=Go(7,38,300) ;WN - UpArrow If StepSucess==-1 Then StepSucess=Go(3,40,300) ;SE - DownArrow Endif Endif Endif If dx<0 AND dy<0 Then StepSucess=Go(7,38,300) ;WN - UpArrow If StepSucess==-1 Then StepSucess=Go(3,40,300) ;SE - DownArrow StepSucess=Go(5,37,300) ;SW - LeftArrow If StepSucess==-1 Then StepSucess=Go(1,39,300) ;NE - RightArrow Endif Endif Endif Endif If dx<>0 AND dy==0 Then If dx>0 Then StepSucess=Go(2,34,300) ;E - PgDown If StepSucess==-1 Then StepSucess=Go(3,40,300) ;SE - DownArrow If StepSucess==-1 Then StepSucess=Go(1,39,300) ;NE - RightArrow Endif StepSucess=Go(2,34,300) ;E - PgDown Endif Endif If dx<0 Then StepSucess=Go(6,36,300) ;W - Home If StepSucess==-1 Then StepSucess=Go(7,38,300) ;WN - UpArrow If StepSucess==-1 Then StepSucess=Go(5,37,300) ;SW - LeftArrow Endif StepSucess=Go(6,36,300) ;W - Home Endif Endif Endif If dx==0 AND dy<>0 Then If dy>0 Then StepSucess=Go(4,35,300) ;S - End If StepSucess==-1 Then StepSucess=Go(3,40,300) ;SE - DownArrow If StepSucess==-1 Then StepSucess=Go(5,37,300) ;SW - LeftArrow Endif StepSucess=Go(4,35,300) ;S - End Endif Endif If dy<0 Then StepSucess=Go(0,33,300) ;N - PgUp If StepSucess==-1 Then StepSucess=Go(1,39,300) ;NE - RightArrow If StepSucess==-1 Then StepSucess=Go(7,38,300) ;WN - UpArrow Endif StepSucess=Go(0,33,300) ;N - PgUp Endif Endif Endif Wend end sub sub Go(dir,key,walkwait) VAR x,y, OldDir x=UO.GetX() y=UO.GetY() OldDir=UO.GetDir() If UO.GetDir()<>dir Then UO.Press(key) wait(walkwait) If UO.GetDir()<>dir Then CheckLag() Endif Endif UO.Press(key) wait(walkwait) If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If x==UO.GetX() AND y==UO.GetY() AND OldDir<>UO.GetDir() Then UO.Press(key) wait(walkwait) Endif If x==UO.GetX() AND y==UO.GetY() Then CheckLag() Endif If x==UO.GetX() AND y==UO.GetY() Then UO.Print("Zasada!") return -1 Else return 1 Endif end sub ######################################### sub CheckLag() UO.DeleteJournal() UO.Click('backpack') repeat wait(500) until UO.InJournal('Backpack') end sub |
|
| Author: | Edred [ 2004-11-10 12:44:40 ] |
| Post subject: | |
Revenant wrote: DIM rune[6]
DIM ven[6] rune[1]='0x40DA894A' ; Сюда вносятся IP рун к вендорам rune[2]='0x40F0A772' ; 6 штук, можно сколько угодно rune[3]='0x40F083BE' ; просто все шестерки в скрипте rune[4]='0x40F0A773' ; заменяются на нужную цифру rune[5]='0x40F083BC' ; rune[6]='0x40F0A771' ; ven[1]='0x00FE4E27' ; IP вендоров у которых скупаются реги ven[2]='0x00FE5702' ; ven[3]='0x00FE37AC' ; ven[4]='0x00FE0A83' ven[5]='0x00F7F766' ven[6]='0x00FE83E0' При попытке использовать руну номер 6 скрипт однозначно будет вываливаться, так как на самом деле это седьмой элемент массива (элементы массивов нумеруются с 0). Надо в объявлении массива править размерность на DIM rune[7], ven[7] |
|
| Author: | gmur [ 2004-11-10 18:28:41 ] |
| Post subject: | |
Edred wrote: Revenant wrote: DIM rune[6] DIM ven[6] rune[1]='0x40DA894A' ; Сюда вносятся IP рун к вендорам rune[2]='0x40F0A772' ; 6 штук, можно сколько угодно rune[3]='0x40F083BE' ; просто все шестерки в скрипте rune[4]='0x40F0A773' ; заменяются на нужную цифру rune[5]='0x40F083BC' ; rune[6]='0x40F0A771' ; ven[1]='0x00FE4E27' ; IP вендоров у которых скупаются реги ven[2]='0x00FE5702' ; ven[3]='0x00FE37AC' ; ven[4]='0x00FE0A83' ven[5]='0x00F7F766' ven[6]='0x00FE83E0' При попытке использовать руну номер 6 скрипт однозначно будет вываливаться, так как на самом деле это седьмой элемент массива (элементы массивов нумеруются с 0). Надо в объявлении массива править размерность на DIM rune[7], ven[7] Всё работает замечательно, тока что тестанул специально ради интереса, просто Дима пронумеровал массив не с 0 а с 1, вот и всё... |
|
| Author: | [Geralt] [ 2004-11-10 19:04:20 ] |
| Post subject: | |
Спасибо большое всем отписавшимся. Только небольшая проблемка. Насколько я понял IP написаный в скрипте это есть ID? И как его смотреть на вендоре? при ,info на вендора каждый раз выдпется разный ИД. А нельзя ли сюда добавить скидывание регов в сундук? |
|
| Author: | [Geralt] [ 2004-11-10 19:26:14 ] |
| Post subject: | |
Хм у меня скрипт почему то неработает ( Чар просто реколится по 1 руне и стоит |
|
| Author: | gmur [ 2004-11-10 21:16:40 ] |
| Post subject: | |
[Geralt] wrote: Хм у меня скрипт почему то неработает (
Чар просто реколится по 1 руне и стоит Пробовал менять ID рунок по вендорам ? Нужно поменять все ИД, узнаються они с помощью ,info у каждого вендора свой ИД. Зделай всё под себя и тебе будет счастье... |
|
| Author: | Edred [ 2004-11-10 21:50:17 ] |
| Post subject: | |
gmur wrote: Всё работает замечательно, тока что тестанул специально ради интереса, просто Дима пронумеровал массив не с 0 а с 1, вот и всё...
Тестанул как? пролетел по всем 6 точкам? То что ты написал, бред. Можешь нумеровать хоть с 5, какая разница? Все это означает, что предыдущие ячейки массива просто не используются, но они есть. Почитай описание языка инжекта, там все ясно сказано. |
|
| Author: | gmur [ 2004-11-10 23:39:03 ] |
| Post subject: | |
Edred wrote: Тестанул как? пролетел по всем 6 точкам? То что ты написал, бред. Можешь нумеровать хоть с 5, какая разница? Все это означает, что предыдущие ячейки массива просто не используются, но они есть. Почитай описание языка инжекта, там все ясно сказано.
Я может и не спец в инже, но вот что у меня получилось : Code: sub main() Замечательно пролетает по всем 9 вендорам, и идёт на новый круг, может быть здесь что то и не так но пашет он без ошибок. |
|
| Author: | Ugrum. [ 2004-11-11 00:59:15 ] |
| Post subject: | |
gmur wrote: Code: .... Замечательно пролетает по всем 9 вендорам |
|
| Author: | Edred [ 2004-11-11 12:49:14 ] |
| Post subject: | |
gmur wrote: Code: .... Замечательно пролетает по всем 9 вендорам Мда... Врать-то зачем? Если он всего по шести из девяти летает? А потом да, на новый круг. А ты дай ему в скрипте команду полететь на девятого вендора и наслаждайся результатом. Вообще, спор ни о чем. Я тебе доказывать что-то не собираюсь. Я тебе указал на ошибку. Не веришь - читай документацию. Тебя устраивает скрипт с ошибкой - твое личное дело. |
|
| Author: | AGRS [ 2004-11-11 13:20:55 ] |
| Post subject: | |
Цитата у вас неверная, господа. Но тем не менее ошибка есть. |
|
| Author: | Revenant [ 2004-11-11 13:56:00 ] |
| Post subject: | |
Edred wrote: При попытке использовать руну номер 6 скрипт однозначно будет вываливаться, так как на самом деле это седьмой элемент массива (элементы массивов нумеруются с 0). Надо в объявлении массива править размерность на
DIM rune[7], ven[7] Фигли. Не ебите мозги. Работают все 6 рун. Максимумальные уступки с моей стороны: DIM[6] включает элементы 0,1,2,3,4,5,6 один даже неиспользован И то еще бабушка на дворе вилами писала. И еще вот это никто не нашел until UO.Death() поменять на until UO.Dead() |
|
| Author: | Edred [ 2004-11-11 14:20:35 ] |
| Post subject: | |
Revenant wrote: Фигли. Не ебите мозги. Работают все 6 рун.
Максимумальные уступки с моей стороны: DIM[6] включает элементы 0,1,2,3,4,5,6 один даже неиспользован И то еще бабушка на дворе вилами писала. И еще вот это никто не нашел until UO.Death() поменять на until UO.Dead() Ты в каком классе? Сосчитай сам свои элементы... 0,1,2,3,4,5,6 - это СЕМЬ элементов массива. А ты объявляешь [6] - шесть элементов. Запусти: Code: sub test() Потом запусти: Code: sub test() Насчет "не нашел" - а никто и не искал. Думаешь у кого-то есть желание читать длинный скрипт, автор которого поленился его даже элементарно оформить через [сode] ... [/сode]? |
|
| Author: | Revenant [ 2004-11-11 14:35:12 ] |
| Post subject: | |
А я не ленился, мне так приятнее, не люблю зеленку в окошке разглядывать. То что никто не нашел - значит никто не запускал. Скрипт работает по шести рунам. Факт! Более того у меня все скрипты по такому же принципу писаны и все работают. "он это делал пока ему не обьяснили что это невозможно" (с) хз Приведи, пожалуйста, описание DIM если есть под рукой. Я внятной инструкции не нахожу. |
|
| Author: | Revenant [ 2004-11-11 14:51:10 ] |
| Post subject: | |
Ха ха ха Edred wrote: Code: sub test() результат 0,1,2,3,4,5,6 Edred wrote: Потом запусти:
Code: sub test() результат 1,2,3,4,5,6 Теперь уже серьезно утверждаю что DIM[6] включает 7 элементов включая 0 нулевой у меня в скрипте не используется |
|
| Author: | gmur [ 2004-11-11 19:07:36 ] |
| Post subject: | |
Revenant wrote: И еще вот это никто не нашел
until UO.Death() поменять на until UO.Dead() Глянь то что я постил, он у меня сразу на это ругнулся, так что всё там исправленно |
|
| Author: | Revenant [ 2004-11-11 20:08:10 ] |
| Post subject: | |
Знатный зверюга |
|
| Page 1 of 3 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|