Yoko

All sides of Injection
It is currently 2025-12-30 01:44:10

All times are UTC+02:00




Post new topic  Reply to topic  [ 65 posts ]  Go to page Previous 1 2 3 4 Next
Author Message
PostPosted: 2010-03-30 13:05:51 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
вообщем пишет line ...: Parse error
ну вообщем на этои until ((timeLeft>0) OR (timeout<=0)) AND (NOT UO.GetSerial(name) == '0x00000000')


Top
   
PostPosted: 2010-03-30 13:21:47 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Иногда инжу от недостатка скобочек распирает, попробуй так:

Code:
until (((timeLeft>0) OR (timeout<=0)) AND (NOT ((UO.GetSerial(name)) == '0x00000000')))


Top
   
PostPosted: 2010-03-30 14:43:05 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Он не кастует сразу при первичном получении Id потому что не может получить его быстрее чем должен начаться каст(то есть каст начаться должен а id еще не вернулся) т.к. после определения даже без задержки норм кидается


Last edited by lavdenis on 2010-03-30 15:18:26, edited 3 times in total.

Top
   
PostPosted: 2010-03-30 14:55:58 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Beyonder wrote:
Иногда инжу от недостатка скобочек распирает, попробуй так:

Code:
until (((timeLeft>0) OR (timeout<=0)) AND (NOT ((UO.GetSerial(name)) == '0x00000000')))



нет все таки не покатило. Я вообщем это
Code:
AND (UO.GetSerial(name)>0) 
вообще удалил все вроде норм работает


Top
   
PostPosted: 2010-03-30 15:27:18 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Ну вообще это довольно полезная часть кода. Она проверяла если ты случайно не туда тыкнул и в таком случае снова прицел переспрашивала. Теперь не будет :)


Top
   
PostPosted: 2010-03-30 15:37:27 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Тогда так и оставлю. Мож туда еще UO.Dead() воткнуть да и на касты наверно тоже ?


Last edited by lavdenis on 2010-03-30 15:42:46, edited 3 times in total.

Top
   
PostPosted: 2010-03-30 15:39:35 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
только че с задержкои них меня не устраивает такая пошаговая стратегия там минимум 1230 надо


Top
   
PostPosted: 2010-03-30 15:49:36 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Quote:
вообще удалил все вроде норм работает

Дык, я решил что всё уже работает :)

Для начала - дай мне конечный вариант своих скриптов, я уже сбился со счёта изменений. Желательно используя таг[code]


Top
   
PostPosted: 2010-03-30 16:18:59 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Проверка объекта

Code:
sub addOrGetObject(name,distance,timeout) 
   var oldObject = UO.GetSerial(name)
   if ((NOT oldObject=='0x00000000') AND (UO.GetDistance(oldObject)<=distance) OR (distance==-1)) then
      return oldObject
   else
      return addObjectWait(name,timeout)
   endif
endsub


Выбор цели
Code:
sub selectEnemy()
   addOrGetObject('Enemy',10,-1)
   uo.Cast('Magic Arrow','Enemy')
   UO.Attack('Enemy')
endsub


Добавление объекта

Code:
ssub addObjectWait(name,timeout)
var timeLeft
repeat
   UO.AddObject(name,0)
   if uo.waiting() then
      uo.canceltarget()
   endif
   UO.AddObject(name)
   timeLeft = timeout
   while (NOT uo.Targeting()) AND (timeLeft>0)
      wait(50)
      timeLeft = timeLeft -50
   wend
   while (uo.Targeting()) AND (timeLeft>0)
      wait(50)
      timeLeft = timeLeft -50
   wend
until ((timeLeft>0) OR (timeout<=0)) AND (UO.GetSerial(name)>0)
return UO.GetSerial(name)
endsub


Эти я не проверял

Каст

Code:
sub castFS()
   autoCastScroll('FlameStrike','0x1234',40)
endsub


Общии каст со скролла

Code:
sub autoCastScroll(scrollName,scrollType,ManaNeed)
   if UO.Mana<ManaNeed then
      UO.Print("NO MANA!")
      manadrink('ManaPotion','0x4321')
   endif
   var Enemy = addOrGetObject('Enemy',10,-1)
   if uo.count(scrollType)<>0 then
      castScroll(scrollType,ManaNeed,'Enemy')
      uo.print(scrollName+': '+STR(UO.Count(scrollType)))
   else
      UO.Print("NO SCROLLS!")
   endif
endsub


Питье маны

Code:
sub manadrink(ManaName,manaType)
   if uo.count(manaType)<>0 then
      uo.usetype(manaType)
      uo.print(ManaName+': '+STR(UO.Count(manaType)))
   else
      uo.print ("NO MANA POTIONS!")
   endsub


Last edited by lavdenis on 2010-04-01 00:10:56, edited 8 times in total.

Top
   
PostPosted: 2010-03-30 18:19:19 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Да кстати что за проверка на лаги CheckLag для чего она как работает и где моно использовать?


Top
   
PostPosted: 2010-03-31 06:05:56 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Я ^ там кое какие подправил


Top
   
PostPosted: 2010-03-31 06:38:43 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Чет каст FS не проходит пишет NO SCROLLS где неправильно то? И Я тут кое что дописал

Code:
sub autoCastScroll(scrollName,scrollType,ManaNeed)
   if UO.Mana<ManaNeed then
      UO.Print("NO MANA!")
      manadrink('ManaPotion','0x4321')
   endif
   var Enemy = addOrGetObject('Enemy',10,-1)
   if uo.count(scrollType)<>0 then
      uo.usetype(scrollType,Enemy)
      uo.print(scrollName+': '+STR(UO.Count(scrollType)))
   else
      UO.Print("NO SCROLLS!")
  if uo.waiting() then
uo.canceltarget()
endif
endif
until UO.Dead()
endsub


Top
   
PostPosted: 2010-03-31 07:02:55 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Code:
sub autoCastScroll(scrollName,scrollType,ManaNeed)
   if UO.Mana<ManaNeed then
      UO.Print("NO MANA!")
      manadrink('ManaPotion','0x0F08')
   endif
   var Enemy = addOrGetObject('Enemy',10,-1)
   if uo.count(scrollType)<>0 then
      uo.usetype(scrollType,'Enemy')
      uo.print(scrollName+': '+STR(UO.Count(scrollType)))
   else
      UO.Print("NO SCROLLS!")
   endif
endsub


Так тоже не хочет пишет No item found почему он их не находит то?


Top
   
PostPosted: 2010-03-31 08:17:56 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Прийду домой вечером - гляну в инже в чём проблема. Вслепую уже не получается :)


Top
   
PostPosted: 2010-03-31 12:35:03 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Ишь нафлудили то...

неправильное использование команды uo.usetype(scrollType,'Enemy')

Quote:
Описание: usetype •
Синтакс: ,usetype type [color]
none uo.usetype(type,[color])

Ищет в бекпаке и подсумках обьект по типу type (и цвету color если задано) после чего использует его (двойной щелчок).
См. так же useobject, usefromground.

ловушку прицел забыл выставить.

PS Зачем вы это делаете? Живой человек при средней прямоте рук всегда забьет скриптового бота. Такие вещи подойдут только против НПС. А там можно работать проще.
Все равно кликать на цель приходиться (если от поиска на земле отказаться) А какая разница что ты воспользуешься 2 кнопками вместо 1? Пометить объект - колдовать в последний объект.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
PostPosted: 2010-03-31 15:25:29 
Offline
Expert!
User avatar

Joined: 2005-04-23 10:19:43
Posts: 388
Quote:
неправильное использование команды uo.usetype(scrollType,'Enemy')

Действительно, как я сразу не заметил :)

Quote:
PS Зачем вы это делаете? Живой человек при средней прямоте рук всегда забьет скриптового бота. Такие вещи подойдут только против НПС. А там можно работать проще.
Все равно кликать на цель приходиться (если от поиска на земле отказаться)

А мы бота и не делаем. Мы делаем просто фишку с сохранением прицела на последнем враге с проверкой на расстояние до врага.

Тоесть, чтобы один раз выбрав врага - можно было швырять в него боевые заклятия пока тот не зайдёт за 8 тайлов. Если-же это случилось - автоматически запрашивается таргет на следующего врага. И во время всего этого - скрипт проверяет ману и пьёт бутылки.
Магия для леньтяев короче :)

Quote:
А какая разница что ты воспользуешься 2 кнопками вместо 1? Пометить объект - колдовать в последний объект.

Это-же вдвое больший износ клавиатуры! Не не не, надо сократить до одной кнопки :)


Top
   
PostPosted: 2010-03-31 17:23:29 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
Quote:
PS Зачем вы это делаете? Живой человек при средней прямоте рук всегда забьет скриптового бота. Такие вещи подойдут только против НПС. А там можно работать проще.
Все равно кликать на цель приходиться (если от поиска на земле отказаться)


Не факт что он победит. Нафига все по кнопкам расладывать как на фортепиано если все умоно на одну несколько хотя бы частых деиствии сделать. Пока он будет на меня каст делать я уже и таргет возьму с атакои и кастону на него че нить или рефлект собью если на нем висит еще и ману выпью если вдруг кончится (на шарде где играю я скорость многое значит, а если я не пианист то это +). Нафига пляски с роялем устраивать. А если еще прибавить туда каст с книги то на одну кнопку можно и каст с регов сделать если скролов нет или кончились


Last edited by lavdenis on 2010-03-31 18:15:36, edited 1 time in total.

Top
   
PostPosted: 2010-03-31 17:31:31 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
А че отдельнои комманды на каст со скроллов нет? Тогда че остается useobject?


Top
   
PostPosted: 2010-03-31 20:36:34 
Offline
User avatar

Joined: 2010-03-27 06:15:56
Posts: 87
[b]Снова итоги. Вообщем все сделал все работает, но в процессе теста пока каставал кончилась мана и он выпил ману автоматом после ни чего не сколдовав начались дикие лаги, я посмотрел во вкладке Script и оказывается что sub cast FS там повис. Где исправить.Мож где задержку выставить?[b]

########################################

Code:
Sub selectEnemy()
     addOrGetObject('Enemy',3,-1)
     UO.Cast('Magic Arrow','Enemy')
     UO.Attack('Enemy')
Endsub

#######################################

Sub castFS()
     autoCastScroll('FlameStrike','0x1F5F',20)
Endsub

######################################

Sub addOrGetObject(name,distance,timeout)
     var oldObject = UO.GetSerial(name)
     if ((NOT oldObject=='0x00000000') AND (UO.GetDistance(oldObject)<=distance) OR (distance==-1)) then
         return oldObject
     else
         return addObjectWait(name,timeout)
     endif
Endsub

########################################

Sub autoCastScroll(scrollName,scrollType,ManaNeed)
     if UO.Mana<ManaNeed then
         UO.Print("NO MANA!")
         manadrink('ManaPotion','0x0F08')
     endif
     var Enemy = addOrGetObject('Enemy',10,-1)
     if uo.count(scrollType)<>0 then
       
         UO.UseType(scrollType)
         UO.WaitTargetObject('Enemy')
         UO.print(scrollName+': '+STR(UO.Count(scrollType)))
     else
         UO.Print("NO SCROLLS!")
     endif
Endsub

##################################

Sub addObjectWait(name,timeout)
     var timeLeft
     repeat
         UO.AddObject(name,0)
         if UO.waiting() then
             UO.canceltarget()
         endif
         UO.AddObject(name)
         timeLeft = timeout
         while (NOT UO.Targeting()) AND (timeLeft>0)
             wait(50)
             timeLeft = timeLeft -50
         wend
         while (UO.Targeting()) AND (timeLeft>0)
             wait(50)
             timeLeft = timeLeft -50
         wend
     until ((timeLeft>0) OR (timeout<=0)) AND (UO.GetSerial(name)>0)
     return UO.GetSerial(name)
Endsub

####################################

Sub manadrink(ManaName,manaType)
     if UO.count(manaType)<>0 then
        UO.usetype(manaType)
   
        UO.print(ManaName+': '+STR(UO.Count(manaType)))
       else
        UO.print ("NO MANA POTIONS!")
     endif
Endsub


Last edited by lavdenis on 2010-03-31 23:16:07, edited 4 times in total.

Top
   
PostPosted: 2010-03-31 21:40:50 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Потому что фигачишь без отступов. :twisted:
У тебя последний if не закрыт.
Если уж пишешь скрипты пиши по правилам.
+ приведи в порядок структуру. Запускаемые скрипты вверх. Исполнительные вниз и с Sub начинай.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 65 posts ]  Go to page Previous 1 2 3 4 Next

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited