Yoko

All sides of Injection
It is currently 2025-12-18 22:39:04

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2007-12-02 20:52:31 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
В моем скрипте при продолжительной работе вылезает какая-то странная ошибка:

Если в макросе используется строка uo.usetype("xxxxxxxx") то через какое-то время мне пишет в игровом окне, не останавливая скрипт строчки из встроенного помощника по синтаксису "Usage: usetype type/lasttarget/lastobject [color]". Думал я как это исправить. Перефразировал эту строку на uo.exec("usetype xxxxxxx") - ошибка пропала.

НО!

Теперь тоже самое появляется с UO.Waittargettile('1341', str(i), str(j), str(mz)). Через некоторое время при выполнении этой строки в скрипте на мининг появляются такие надписи: "Usage: waittargettile [lasttile]/[tilenum [x] [y] [z]]".

Как мне перефразировать эту команду?

При использовании uo.exec("waittargettile 1341 [str(i)] [str(j)] [str(mz)]") использует тайл под персонажем и не воспринимает строковые параметры.

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения
http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-03 01:59:21 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
во фантазер то... и как люди такой синтаксис придумывают...


Top
   
 Post subject:
PostPosted: 2007-12-03 10:50:50 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Grin wrote:
во фантазер то... и как люди такой синтаксис придумывают...

Они не понимают, что брекеты означают необязательный аргумент.

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2007-12-03 23:17:24 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
про необязательный элемент я понимаю, но как мне в макросе на копание руды "перефразировать" uo.waittargettile когда координаты x, y и z берутся из вычислений внутри самого макроса.
Как осуществить обкапывание вокруг персонажа без использования этой формулировки uo.waittargettile()

Вот кусок кода:

Code:
while not uo.Dead()

mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()

for i = mx-1 to mx+1
for j = my-1 to my+1

UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j))

while not UO.InJournal("Здесь больше нет руды") and not UO.InJournal("Слишком далеко") and not UO.InJournal("Вы не можете добывать здесь")

    uo.DeleteJournal()
    if uo.waiting() then
        uo.canceltarget()
    endif
    UO.Waittargettile('1341', str(i), str(j), str(mz))
    UO.exec("useobject shovel")

    while not UO.InJournal("Здесь больше нет руды") and not UO.InJournal("Вы поранились киркой") and not UO.InJournal("Слишком далеко") and not UO.InJournal("Вы не можете добывать здесь")
    wend

wend

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-05 22:30:59 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Ребята, ну может случайно кто-то сталкивался с проблемой когда вдруг резко инжект прекращает "понимать" синтаксис какой-либо команды?

И просто пишет строчки из своего хелпа как "должна на самом деле быть написана какая-нибудь команда".

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-06 00:26:03 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
пример приведи чего ты пишешь...


Top
   
 Post subject:
PostPosted: 2007-12-06 12:03:47 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Code:
while not uo.Dead()

mx = UO.GetX("self")
my = UO.GetY("self")
mz = UO.GetZ("self")
UO.DeleteJournal()

for i = mx-1 to mx+1
for j = my-1 to my+1

UO.Print("Копаем в координатах: "+str(mx-i)+" "+str(my-j))

while not UO.InJournal("Здесь больше нет руды") and not UO.InJournal("Слишком далеко") and not UO.InJournal("Вы не можете добывать здесь")

    uo.DeleteJournal()
    if uo.waiting() then
        uo.canceltarget()
    endif
    UO.Waittargettile('1341', str(i), str(j), str(mz))
    UO.exec("useobject shovel")

    while not UO.InJournal("Здесь больше нет руды") and not UO.InJournal("Вы поранились киркой") and not UO.InJournal("Слишком далеко") and not UO.InJournal("Вы не можете добывать здесь")
    wend

wend


В этом куске, когда я ставлю проверку на появление гампа антимакроса, у меня через какое-то время хорошей стабильной работы, начинает появляться такой глюк:

Персонаж использует кирку (объект shovel) дальше соответственно команда uo.waittargettile должна указывать координаты, в которые должен быть направлен прицел, там где копать. А вместо этого появляется сообщение "Usage: waittargettile [lasttile]\[tilenum [x] [y] [z]]".
Если просто в окошке клиента ввести команду ,waittargettile (без координат) то как раз и появится это сообщение.
Вывод - почему-то скрипт на каком-то моменте не видит UO.Waittargettile('1341', str(i), str(j), str(mz)) а начинает вести себя как при вводе пустого uo.waittargettile()

Абсолютно идентичная картина наблюдалась и с uo.useobject('shovel').
Тоже через минут 5-10 после работы макроса он переставал видеть то, что находится в круглых скобках.
Методом тыка пришел к "глупому" решению перефразировать uo.useobject('shovel') на uo.exec("useobject shovel") и пока что проблема с киркой ушла.

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-06 21:31:13 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Вроде верно всё.. и неверно с другой стороны.

Попробуйте распечатать значения, который передаёте в waittargettile, заодно проверите их на корректность, и вызвать команду из отдельного скрипта.

_________________
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Skype: d119060


Top
   
 Post subject:
PostPosted: 2007-12-06 21:47:34 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
10 минут работают верно, потом слетает... не думаю что проблема в переменных, т.б. что если не ставить проверку антимакроса (которая затрагивает только ожидание гампа) то скрипт часами работает корректно.

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-06 21:51:41 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Так и будешь "врятлить"?
Сказали - проверяй...


Top
   
 Post subject:
PostPosted: 2007-12-06 22:48:26 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Можно узнать что значит эта строка?

Code:
if not uo.LastGump('replyed') then 

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-06 22:51:39 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
Если возмешь в руки словарь и переведешь дословно, то получишь ответ


Top
   
 Post subject:
PostPosted: 2007-12-06 22:54:40 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Я перевод понял, но в скриптинге это условие значит:
"Если последний гамп не является ответной реакцией на какое-то действие"?

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
 Post subject:
PostPosted: 2007-12-06 23:03:46 
Offline

Joined: 2004-07-14 22:56:46
Posts: 82
Location: Украина, Одесса
Вставил задержки в антимакрос и чудо, уже полчаса без сбоев :) все так бывает просто (надеюсь)

_________________
ХХДЕНТОНХХ: Холодостойкий Хронометрирующий Дроид с Единым Наступательным Трансмутатором для Ограниченного Нападения и Хронометрированного Хищения

http://uokings.ru/news.php


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 14 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 3 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:  
cron
Powered by phpBB® Forum Software © phpBB Limited