PDA

Просмотр полной версии : макрос на движение при появлении нпц


Lexaakb
16.04.2010, 16:01
Куда? и какой надо поставить условие, что б бот начинал двигаться ток при появление нпс?

automacro move {
location lighthalzen
timeout 0.5
call {
$px = @arg ("$.pos", 1)
if ($px == 239) goto next1
do move 239 216
goto end
:next1
do move 238 216
:end
}

4epT
17.04.2010, 14:32
боюсь что в боте нету условия на появление нпц..

в твоём макросе ты пытаешься проверить свою координату..зачем?

если нпц постоянно появляется в одних координатах то можно попробовать это сделать через @npc

алгоритм:
проверяем есть ли нпц на наших координатах
если нету, то @npc нам выдаст -1
если нпц есть то @npc нам выдаст его ИД

Lexaakb
17.04.2010, 18:34
Не я писал этот макрос... мне его дали ссылкой на - forums.openkore.com
Просто если оставить так, то бот бегает постоянно, а это сразу палицо...
4epT - если не сложно можешь исправить что не так и вставить куда надо алгоритм...?

Как я понял нужны координаты нпс: 240;216

Заранее большое тебе спасибо!!!

4epT
17.04.2010, 22:05
когда же нпц появляется.. у нас же в консоль пишется сообщение, можно реагировать макросом на его появление ;)

Добавлено через 44 минуты
как-то так:
automacro npc {
console /NPC Exists:.*\(240, 216\)/
location lighthalzen
timeout 10
call {
do talk @npc(240 216)
}
}

Lexaakb
18.04.2010, 01:07
Вставил автомакрос, но я бот как бегал с точки на точку так и бегает не останавливаясь... мож надо чтот убрать в том что есть у меня, что б он бегал ток после появления?

4epT
18.04.2010, 01:41
блин ну естественно тот нужно убрать...

Lexaakb
18.04.2010, 11:18
4epT, вот смотри, если я уберу тот, то бот будет стоять на месте и ждать НПС, во время разговора с ним нужно бегать из стороны в сторону от него и разговаривать до тех пор пока он не исчезнет.... а с твоим автмакро, он этого делать не будет. вот в это то и вся загвоздка, что б он говорил с ним и бегал только тогда, когда НПС , а во всё остальное время прост стоял и ждал его... не так тут всё просто...
P.S. Не ужели ты не разу не гонял спиды? оО

4epT
18.04.2010, 11:57
да, что-то я не так понял тебя..

тогда замени строчку "do talk @npc(240 216)"
на твои строчки "do move.."
и таймаут уменьши

Lexaakb
18.04.2010, 12:42
Я заменил, но бот вообще тогда отказывается двигаться.... Он тупо стоит на месте... Ну и разговаривает, но ему надо отойти и снова к нему подойти, а он этого не делает Т__Т

Я понимаю, что решение вот-вот де-то рядом... но где?]:-> :(

4epT - ну ты же у нас великий отец-ботов РО! И я уверен, что ты сможешь помочь в этой теме таким как мы... питающимся подняться на ноги...

P.S. Правдо ведь? :-[

Добавлено через 10 минут
Кажется до меня кое-что дошло...

У меня идёт - automacro move - макрос на движение
У тебя идёт - automacro npc - макрос на нпс

Мож их надо как то грамотно совместить, что б после выполнения макроса на НПС он выполнял макро на движение...? Если да, то как?

Добавлено через 17 минут
Сделал так - она один раз говорит и замирает.


automacro npc{
console /NPC Exists:.*\(240, 216\)/
location lighthalzen
timeout 0.5
call {
$px = @arg ("$.pos", 1)
if ($px == 239) goto next1
do move 239 216
goto end
:next1
do move 237 216
:end
}
}

Сделал так:

automacro npc{
location lighthalzen
timeout 0.5
call {
$px = @arg ("$.pos", 1)
if ($px == 239) goto next1
console /NPC Exists:.*\(240, 216\)/
do move 239 216
goto end
:next1
do move 237 216
:end
}
}

Получил:

[macro] tempMacro0 error: error in 2: syntax error
[macro] automacro npc triggered.
[macro] automacro npc triggered.
[macro] automacro npc triggered.
[macro] automacro npc triggered.
[macro] automacro npc triggered.
[macro] automacro npc triggered.

4epT
18.04.2010, 13:08
в конфиге поставить "autoTalkCont 0"
открыть мануал по консольным командам (он есть в разделе мини чаво и в нашей вики)
открыть мануал по макро плагину

пишем макрос:
при появлении нпц
-начать разговор с нпц
-переместиться в другую клетку
-поговорить с нпц
...

так как ты сделал - полный бред, посмотри какой должен быть синтаксис макроса и автомакроса!
условие "console /NPC Exists:.*\(240, 216\)/" не должно находиться в тете макроса, поэтому тебе и пишется ошибка: "tempMacro0 error: error in 2: syntax error"

Lexaakb
18.04.2010, 17:40
Я уже и открывал и читал... Но не фига я не шарю в макросах... Если в РО шарю - есть руки под каждую профу и всё такое... то тут я полный 0.. Сколько б баран не смотрел на ворота, воротами они и останутся... Если тебе трудно выложить уже рабочий макрос (знаю, много хочу - мало получу), помочь собрату геймеру, то ты так и скажи! Я всё понимаю, что ты пытаешься помочь советами и т.д.... но не выходит всё тут... Этот макрос нужен многим, на разных сервах, сделай милость, помоги нам ПОЖАЛУЙСТА.

4epT
18.04.2010, 23:53
у меня ничего готового нету..

я же уже тут всё описал, остаётся просто слова перевести в консольные команды и всё..

Lexaakb
19.04.2010, 09:13
Ну так это то я тебя прошу сделать... грамотно и правильно, ну вообще всё так, как ты умеешь ^_~

4epT
19.04.2010, 22:34
нет уж увольте я лентяев не люблю!

Lexaakb
20.04.2010, 09:32
Я не лентяй. Я - Нюб делает первые шаги ^_~

Lexaakb
28.05.2010, 10:49
пишем макрос:
при появлении нпц
-начать разговор с нпц
-переместиться в другую клетку
-поговорить с нпц...

4epT, вот твой ответ на возникшую проблему. Ну вот теперь смотри.

automacro move {
location lighthalzen
timeout 0.5
call {
$px = @arg ("$.pos", 1)
if ($px == 239) goto next1
do move 239 216
goto end
:next1
do move 238 216
:end
}
- это макрос (писаный не мой) выполняет:
-начать разговор с нпц
-переместиться в другую клетку
-поговорить с нпц

Но, суть то в чем, чтоб бот проделывал это только тогда, когда появляется НПС, а не без прерывно бегал и пытался говорить. В это то и есть суть, этой темы.

manticora
28.05.2010, 12:42
Ссылка на тему на forums.openkore.com, откуда был взят этот макрос: Lighthalzen Speed Potion Quest Macro (http://forums.openkore.com/viewtopic.php?f=33&t=664)

fgekfp
31.05.2010, 20:41
Я вот прописал макрос вот этот
automacro move {
location lighthalzen
timeout 0.5
call {
$px = @arg ("$.pos", 1)
if ($px == 239) goto next1
do move 239 216
goto end
:next1
do move 236 216
:end
}
}
у меня бот два раза сбегал и остановливаеться возле нпс проходит 3 секунды и он выключаеться на 30 сек(( поскажите как правильно прописать чтоб хотяб постоянно бегал и разговаривал, если кто знает как написать макрос чтоб он бегал при появление нпс и после того как он исчезает переставал бегать пиши в личку договримся по цене

4epT
31.05.2010, 21:29
automacro move {
location lighthalzen
timeout 0.5
call {
$px = @arg ("$.pos", 1)
if ($px == 239) goto next1
do move 239 216
goto end
:next1
do move 238 216
:end
}
- это макрос (писаный не мой) выполняет:
-начать разговор с нпц
-переместиться в другую клетку
-поговорить с нпц

ошибаешься этот макрос заставляет бота бегать туда сюда каждые пол секунды, я даже не уверен что бот успевает бегать по координатам.. ни каких разговоров тут речи не идёт!

я бы вообще написал бы макрос с использованием условия "console"

fgekfp
01.06.2010, 01:24
Я просто в ботах еще не тру ((а console что именно прописать npc••••••