Page 5 of 5
Re: Миниг и рекол.
Posted: 2012-11-30 20:39:38
by Incorrect User
Вот именно нужно, и для того чтобы он не ушел дальше чем требуется. Лучше скажи почему не срабатывает определение направления чара? то что он сделал шаг срабатывает нормально. Обьясню, если просто по шагу проверять то если чар не сделает шаг а просто повернется то скрипт будет стоять и ждать изменения координат, для этого и нужна проверка направления.
Re: Миниг и рекол.
Posted: 2012-11-30 20:46:58
by ZeroDX
Re: Миниг и рекол.
Posted: 2012-11-30 21:54:33
by Incorrect User

Шо и тут засада?
Re: Миниг и рекол.
Posted: 2012-11-30 21:56:12
by Incorrect User
Так должно писать значение или нет?
sub MyDir()
uo.print(uo.getdir())
end sub
Re: Миниг и рекол.
Posted: 2012-11-30 22:03:37
by ZeroDX
uo.print(str(uo.getdir()))
Re: Миниг и рекол.
Posted: 2012-11-30 22:21:39
by Incorrect User
Вот так работает while not uo.getx()== mystep and not mydir <> uo.getdir()
Привыкать прийдеться к такому замороченному синтаксису. А вообще проверку на шаги делал для того чтобы чар не убежал, если просто нажимать кнопку и попал в лаг то кнопка и дальше будет нажиматься и когда отпустит чар убежит далеко потому что кнопку уже нажали. Это преверено

Re: Миниг и рекол.
Posted: 2012-11-30 22:38:39
by ZeroDX
Code: Select all
while not uo.getx()== mystep and not mydir <> uo.getdir()
замороченнее не куда
Code: Select all
while uo.getx() <> mystep and mydir == uo.getdir()
PS Номер аськи не менял?
Re: Миниг и рекол.
Posted: 2012-11-30 22:49:58
by Incorrect User
Вроде бы нет, хотя не уверен, может скайп есть? Пошуми в асю или скайп, номера скинул в личку.
Re: Миниг и рекол.
Posted: 2012-11-30 22:52:18
by Incorrect User
ZeroDX wrote:Code: Select all
while uo.getx() <> mystep and mydir == uo.getdir()
Так точность мненьше

Re: Миниг и рекол.
Posted: 2012-12-06 07:21:57
by Incorrect User
В общем, ходить - ходит, копать - копает, а вот гвардов и людей не определяет, почему-то сообщения при появлении людей или гвардов стираются из журнала и больше ничего не происходит. Скрипты на проверку людей и гвардов срабатывают при сообщении содержащем двоеточие(:), сделал чтобы если появилось : и это не гвард то скрипт определения гвардов в журнале сообщения с : не стирает и наоборот со скриптом людей. В мининге тоже стираются только сообщения которые он использует.
Мининг:Code: Select all
sub Mining()
var circle, x, y, msg = 'put the|fail|far away|loosen|no ore|no line|try mining'
while not uo.dead()
for x = -2 to 2
for y = -2 to 2
circle = 0
mine:
Deljournal(msg + 'put the iron|put the Marble|Success')
if uo.getglobal('pause') == '1' then
while not uo.getglobal('pause') == '0'
wait(100)
wend
endif
uo.waittargettile(1339, uo.getx() + x, uo.gety() + y, uo.getz())
uo.usetype(0x0E85, 0x048C)
wait(500)
if not uo.LastGump('replyed') and uo.LastGump('text', 0) == 'Antimacros System' then
while not uo.injournal('Success')
AntiMacros()
wait(500)
wend
uo.canceltarget()
goto mine
endif
while not uo.injournal(msg)
wait(100)
wend
if uo.injournal('put the iron|put the Marble') then
circle = circle + 1
else
if uo.injournal('put the') then
circle = 2
endif
endif
if not uo.injournal('far away|no ore|no line|try mining') and not circle > 1 then
goto mine
endif
next
next
Walk()
wend
end sub
Люди:Code: Select all
sub TPlayers()
var intruder, msg = (':')
intruder = 0
while not uo.getgraphic(intruder) == '0x0190' or uo.getgraphic(intruder) == '0x0191'
if not uo.getgraphic(intruder) == '0x000e' then
DelJournal(msg)
endif
repeat
wait(100)
until uo.injournal(msg)
intruder = uo.journalserial(uo.injournal(msg) - 1)
wend
uo.unequip('Rhand')
uo.exec('terminate Mining')
uo.exec('terminate TGuardians')
uo.exec('terminate THide')
IRecall()
end sub
Гварды:Code: Select all
sub TGuardians()
var intruder, msg = (':')
while not uo.dead()
intruder = 0
while not uo.getgraphic(intruder) == '0x000e'
if not uo.getgraphic(intruder) == '0x0190' and not uo.getgraphic(intruder) == '0x0191' then
Deljournal(msg)
endif
repeat
wait(100)
until uo.injournal(msg)
intruder = uo.journalserial(uo.injournal(msg) - 1)
wend
uo.waittargetobject(intruder)
uo.usetype(0x1F2D, 0x02E3)
wend
end sub
Трекинг:Code: Select all
sub THide()
var timer, msg = ('no signs')
check:
if uo.hidden() then
goto check
endif
DelJournal(msg)
uo.setglobal('pause', '1')
uo.unequip('Rhand')
uo.warmode(1)
uo.warmode(0)
uo.waitmenu('Tracking', 'Humans')
uo.useskill('Tracking')
timer = uo.timer()
wait(500)
if uo.injournal(msg) then
while not uo.hidden()
uo.useskill('Stealth')
wait(2500)
wend
uo.setglobal('pause', '0')
goto check
else
uo.exec('terminate Mining')
uo.exec('terminate TGuardians')
uo.exec('terminate TPlayers')
IRecall()
uo.print('Tracking!')
endif
end sub
Re: Миниг и рекол.
Posted: 2012-12-06 08:30:03
by ZeroDX
из поиска людей
Code: Select all
while not uo.getgraphic(intruder) == '0x0190' or uo.getgraphic(intruder) == '0x0191'
будет ждать сообщения пока тип найденного
не равен 190 ИЛИ равен 191, если найдет человека с типом 191, то сотрёт сообщение и всё равно будет ждать дальше. решение:
Code: Select all
while not uo.getgraphic(intruder) == '0x0190' and not uo.getgraphic(intruder) == '0x0191'
Сделай один поиск, и на разбойников и на гвардов - не будет конфликтов.
в
sub THide() не хватает 2-ух
end ifпочему не реагирует на гвардов я не пойму пока не высплюсь =)
Re: Миниг и рекол.
Posted: 2012-12-06 11:05:25
by Incorrect User
Проверка на игроков срабатывает на своего чара, как его исключить?
Code: Select all
sub TPlayers()
var intruder, msg = (':')
intruder = 0
while not uo.getgraphic(intruder) == '0x0190' and not uo.getgraphic(intruder) == '0x0191'
if not uo.getgraphic(intruder) == '0x000e' then
DelJournal(msg)
endif
repeat
wait(100)
until uo.injournal(msg)
intruder = uo.journalserial(uo.injournal(msg) - 1)
wend
uo.unequip('Rhand')
uo.exec('terminate Mining')
uo.exec('terminate TGuardians')
uo.exec('terminate THide')
IRecall()
uo.print('Danger!')
end sub
Re: Миниг и рекол.
Posted: 2012-12-06 11:52:06
by Mirage
Свой ID (который ВСЕГДА постоянен) игнорирую перед циклом
Двоеточие в журнале разве отображаются?
PS на мой взгляд конструкция какая то вырвиглазная по логике.
Code: Select all
Крутим цикл пока тип написавшего в журнал не равен человеку
Проверка на написавшего в журнал.
По уму то надо проверку вверх добавить. Либо использовать цикл repeat-until. Он проверяет ПОСЛЕ прогона 1 кольца цикла а не ПЕРЕД как WHILE.
Моё мнение исключительно
Re: Миниг и рекол.
Posted: 2012-12-06 18:11:30
by ZeroDX
а игнор разве будет работать? поиск же ведется по журналу