Просмотр полной версии : макрос на движение при появлении нпц
Куда? и какой надо поставить условие, что б бот начинал двигаться ток при появление нпс?
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
}
боюсь что в боте нету условия на появление нпц..
в твоём макросе ты пытаешься проверить свою координату..зачем?
если нпц постоянно появляется в одних координатах то можно попробовать это сделать через @npc
алгоритм:
проверяем есть ли нпц на наших координатах
если нету, то @npc нам выдаст -1
если нпц есть то @npc нам выдаст его ИД
Не я писал этот макрос... мне его дали ссылкой на - forums.openkore.com
Просто если оставить так, то бот бегает постоянно, а это сразу палицо...
4epT - если не сложно можешь исправить что не так и вставить куда надо алгоритм...?
Как я понял нужны координаты нпс: 240;216
Заранее большое тебе спасибо!!!
когда же нпц появляется.. у нас же в консоль пишется сообщение, можно реагировать макросом на его появление ;)
Добавлено через 44 минуты
как-то так:
automacro npc {
console /NPC Exists:.*\(240, 216\)/
location lighthalzen
timeout 10
call {
do talk @npc(240 216)
}
}
Вставил автомакрос, но я бот как бегал с точки на точку так и бегает не останавливаясь... мож надо чтот убрать в том что есть у меня, что б он бегал ток после появления?
блин ну естественно тот нужно убрать...
4epT, вот смотри, если я уберу тот, то бот будет стоять на месте и ждать НПС, во время разговора с ним нужно бегать из стороны в сторону от него и разговаривать до тех пор пока он не исчезнет.... а с твоим автмакро, он этого делать не будет. вот в это то и вся загвоздка, что б он говорил с ним и бегал только тогда, когда НПС , а во всё остальное время прост стоял и ждал его... не так тут всё просто...
P.S. Не ужели ты не разу не гонял спиды? оО
да, что-то я не так понял тебя..
тогда замени строчку "do talk @npc(240 216)"
на твои строчки "do move.."
и таймаут уменьши
Я заменил, но бот вообще тогда отказывается двигаться.... Он тупо стоит на месте... Ну и разговаривает, но ему надо отойти и снова к нему подойти, а он этого не делает Т__Т
Я понимаю, что решение вот-вот де-то рядом... но где?]:-> :(
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.
в конфиге поставить "autoTalkCont 0"
открыть мануал по консольным командам (он есть в разделе мини чаво и в нашей вики)
открыть мануал по макро плагину
пишем макрос:
при появлении нпц
-начать разговор с нпц
-переместиться в другую клетку
-поговорить с нпц
...
так как ты сделал - полный бред, посмотри какой должен быть синтаксис макроса и автомакроса!
условие "console /NPC Exists:.*\(240, 216\)/" не должно находиться в тете макроса, поэтому тебе и пишется ошибка: "tempMacro0 error: error in 2: syntax error"
Я уже и открывал и читал... Но не фига я не шарю в макросах... Если в РО шарю - есть руки под каждую профу и всё такое... то тут я полный 0.. Сколько б баран не смотрел на ворота, воротами они и останутся... Если тебе трудно выложить уже рабочий макрос (знаю, много хочу - мало получу), помочь собрату геймеру, то ты так и скажи! Я всё понимаю, что ты пытаешься помочь советами и т.д.... но не выходит всё тут... Этот макрос нужен многим, на разных сервах, сделай милость, помоги нам ПОЖАЛУЙСТА.
у меня ничего готового нету..
я же уже тут всё описал, остаётся просто слова перевести в консольные команды и всё..
Ну так это то я тебя прошу сделать... грамотно и правильно, ну вообще всё так, как ты умеешь ^_~
нет уж увольте я лентяев не люблю!
Я не лентяй. Я - Нюб делает первые шаги ^_~
пишем макрос:
при появлении нпц
-начать разговор с нпц
-переместиться в другую клетку
-поговорить с нпц...
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)
Я вот прописал макрос вот этот
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 сек(( поскажите как правильно прописать чтоб хотяб постоянно бегал и разговаривал, если кто знает как написать макрос чтоб он бегал при появление нпс и после того как он исчезает переставал бегать пиши в личку договримся по цене
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"
Я просто в ботах еще не тру ((а console что именно прописать npc••••••
vBulletin® v3.8.11, Copyright ©2000-2024, vBulletin Solutions Inc. Перевод: zCarot