PDA

Просмотр полной версии : НПЦ - ГМ-онлайн


p0nt.
23.12.2008, 19:30
Суть такова. На сервере есть НПС который показывает какие Гм в игре и где они находятся. Как сделать так чтоб 1 бот сидел проверял этого нпс на гм-ов и если гм заходит в игру то он писал "aioff" им в пм••••••=-o427

p0nt.
24.12.2008, 00:52
Чёт я пытался сделать чтоб Кора заговорила с нпс так и не получилось(((

automacro soob {
call{

do move 157 106
do talknpc 155 106 c r0 c c n
pause 1
release soob

}
run-once 1
}

4epT
24.12.2008, 02:15
p0nt.,
давай посмотрим, чтобы запустился АМ, тебе нужно соблюсти какие-либо условия.. уберём отсюда тело макроса, получится:
automacro soob {
run-once 1
}

т.е. нет никаких условий.. значит макрос будет запускаться постоянно..

run-once - нам лишь даёт чтобы макрос запустился 1 раз, а не циклично


вывод: макрос 1 раз но всё-таки должен сработать..


запускаем кору, нам ядовито жёлтым цветом пишется ошибка:
control\macros.txt: ignoring 'call{' (munch, munch, not a pair)

лезем в мануал или курим примеры и смотрим что тут не так

p0nt.
24.12.2008, 11:11
А как сделать чтоб кора считывала разные данные с нпс "ну вот например когда Гм "онлайн" или "оффлайн"...

4epT
24.12.2008, 20:30
я думаю тут тебе поможет условие console и знания regexp, с последним помогу, если ты напишешь несколько примеров строчек, ка которые ты хочешь реагировать

p0nt.
25.12.2008, 00:24
Ну вот чтоб реагировало на статус Гм - в онлайне он или нет, на скриншоте видно.

4epT
25.12.2008, 01:52
ну вот чтоб работало console, читаешь гайд и смотришь примеры, там тоже всё видно

p0nt.
04.01.2009, 04:38
automacro soob {
location lighthalzen
timeout 10
call soob2
}

macro soob2 {
do move 158 105 lighthalzen
do talknpc 155 106 c r0 c c c n
}

automacro searchmob {
console /Играет/
call serchmobs
}

macro serchmobs {
do pm *** . Вырубайся
do pm *** . Вырубайся
do pm *** . Вырубайся
run-once 1
}

Добавлено через 6 часов 21 минуту
вот готовый всё работает))))

raserg
07.02.2009, 04:59
решил я попытаться развить эту идею и сделать кач полностью автономным.
т.е. на выходе у бота-шпиона должно быть 2 варианта приватных сообщений боту-лутоббою. одно из них останавливает, другое предлагает продолжить боттинг.
но если написать что-то типа
automacro alarm {
console /Статус: Играет/
call alarm1
}

automacro good {
console /GM1 (Статус: Не играет)/
console /GM2 (Статус: Не играет)/
console /GM3 (Статус: Не играет)/
console /GM4 (Статус: Не играет)/
console /GM5 (Статус: Не играет)/
console /GM6 (Статус: Не играет)/
console /GM7 (Статус: Не играет)/
call good1
}
где good1 и alarm1 макросы, посылающие пм сообщение лутобою.
но бывает так, что лутобою приходят 3 сообщения типа "нет" "нет" "да", когда гмы присутствуют онлайн.
подскажите, как это дело можно отладить или укажите на ошибку в макросе

4epT
09.02.2009, 19:56
я думаю несколько условий "console" - это не есть хорошо.

Считаю что тут можно вполне обойтись одним макросом (первым). Если ГМа нет, то зачем об этом флудить лутобою? пусть ботит себе при спокойно..

raserg
15.02.2009, 04:15
да, но я под словом "автоматизировать" имел ввиду не только выключать бота при появлении админа, но и включать аи при его уходе. решил проблему следующим образом:

макрос у шпиона
automacro starting {
console "Добро пожаловать"
call position
}

macro position {
do move <x> <y> #подходит к нпц
}

automacro spy {
location prontera
timeout 30
call {
do talknpc <x> <y> с #говорит с нпц каждые 30 сек
}
}

automacro alarm {
console /Статус: Играет/
call {
pm <лутобой> alarm!
}
}

макрос на лутобое
automacro starting {
console "Добро пожаловать"
run-once 1
call start
}

macro start {
do respawn
do ai on
do c @autoloot <n>% #(@autolootid <id>)
do c @go 0
do autosell
do autobuy
do talknpc <x> <y> c #хилер
do talknpc <x> <y> c r<n> r<n> r<n> #варпер на lockmap
release starting
release overweight
release deadman
}

automacro alarm {
console /alarm!/
call {
relog 900
}
}

automacro overweight { #перевес
weight > 70%
run-once 1
call start
}


automacro deadman { #если умер
console "You have died"
run-once 1
call start
}

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

masterspirta
15.02.2009, 13:26
В начале автор писал что можно определить и место нахождения ГМ-а... так почему вы ухватились только за онлайн/офлайн ГМ-а... если есть возможность узнать мапу на которой он находиться....и почему бы боту информеру не считывать имменно локу ГМ-а...и следить где находиться бот луттер, после совпадения мап посылать слово на которое бот будет вырубыться или релогаться, кому как удобней...

Плюс ко всеу если вы не используюте смену мап то место нахождения бота всегда предсказуемо тоесть алгоритм упрощаеться...

А то вдруг фанат ГМ будет в онлайне 2 суток...просто чара оставит....и чо получаеться что бот не может работать? Правдо ведь бред...

raserg
15.02.2009, 22:46
В начале автор писал что можно определить и место нахождения ГМ-а...
что-то я не нашел такого в этом топе...
и почему бы боту информеру не считывать имменно локу ГМ-а...
приведи простенький пример подобного макроса, чтото мне сложно представить, как бот может следить за местонахождением гма. он же тож на 1м месте не сидит. плюс всякие плюшки в виде хайда

masterspirta
17.02.2009, 01:35
Суть такова. На сервере есть НПС который показывает какие Гм в игре и где они находятся. Как сделать так чтоб 1 бот сидел проверял этого нпс на гм-ов и если гм заходит в игру то он писал "aioff" им в пм••••••
Выделил для слепых...
А вот только если НПЦ пишет мапу де ГМ то тогда только и можно мониторить его...