Сообщения без ответов | Активные темы
Правила форума
В форуме макросы "Макросы" разрешено только задавать вопросы по уже существующим макросам и просить помощь по недоработанным своим. При этом таким считается тот макрос который готов не менее чем на 2/3.
Если вы хотите попросить участников сообщества написать вам макрос, это можно сделать в разделе "сервис", либо поискать уже готовые макросы тут или в сборке с ботом тут.
|
Страница 1 из 1
|
[ Сообщений: 9 ] |
|
| Автор |
Сообщение |
|
SmOOve
|
Заголовок сообщения: Сделать relog если бот завис Добавлено: Вт янв 19, 2010 12:32 pm |
|
 |
| Грамотный |
Зарегистрирован: Сб окт 04, 2008 3:57 pm Сообщения: 201
|
|
Вообщем иногда сталкиваюсь с такой проблемой что при выполнении макроса бот иногда глючит(когда ответ от сервера идет долго, а бот базарит каждую секунду, тоесть получается что диалог с разговором не появился а бот уже начинает говорить), и после такого сбивания условия следуйщих макросов не выполняются и бот просто стоит на одном месте нифига не делая. Чтоб он опять заработал как надо нужно релогнутся.
Сообственно в этом и проблема, как сделать что если бот ничего не делает в течении 5 минут он перелогинивался?
|
|
| Вернуться к началу |
|
 |
|
manticora
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Вт янв 19, 2010 3:24 pm |
|
 |
| Грамотный |
Зарегистрирован: Ср авг 29, 2007 12:45 pm Сообщения: 282
|
|
(когда ответ от сервера идет долго, а бот базарит каждую секунду, тоесть получается что диалог с разговором не появился а бот уже начинает говорить)
попробуй ставить паузы между разговорами, например do talknpc 123 45 w2 c w2 r0 w4 где w2 - подождать 2 секунды.
или do talk cont pause 3 do talk resp 3 pause 3 и т.д.
_________________ # Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже. русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1 openkore.collectskin.com - всегда свежая svn-версия OpenKore! Видео-гайд по установке и настройке OpenKore
|
|
| Вернуться к началу |
|
 |
|
SmOOve
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Вт янв 19, 2010 8:05 pm |
|
 |
| Грамотный |
Зарегистрирован: Сб окт 04, 2008 3:57 pm Сообщения: 201
|
|
у меня идет так как ты пишеш
do talk cont pause 3 do talk resp 3 pause 3
только пауза 1 секунду, которой вполне хватает когда сервер не лагает. ставить 2 секи или 3 не выход, так как увеличит время выполнений макроса в 2 раза, да и виснет оно давольно таки редко, но обидно когда бот глюканет и простоит всю ноч впустую на одном месте.
|
|
| Вернуться к началу |
|
 |
|
manticora
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Вт янв 19, 2010 8:54 pm |
|
 |
| Грамотный |
Зарегистрирован: Ср авг 29, 2007 12:45 pm Сообщения: 282
|
|
Ну, тебе решать, что лучше - в два раза замедлить базар с нпц или оставить как есть и наутро видеть всю ночь простоявшего бота.
По-идее, опенкора не посылает следующий пакет - продолжение разговора, пока не получит от неписи соответсвующее сообщение.
В твоем случае, если хочется и быстро и чтоб работало мона попробовать сделать так:
automacro a1 { console /Первая фраза неписи/ call { do talk cont } }
automacro a2 { console /Непись продолжает нести чушь/ call { do talk cont } }
_________________ # Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже. русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1 openkore.collectskin.com - всегда свежая svn-версия OpenKore! Видео-гайд по установке и настройке OpenKore
|
|
| Вернуться к началу |
|
 |
|
SmOOve
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Ср янв 20, 2010 11:38 am |
|
 |
| Грамотный |
Зарегистрирован: Сб окт 04, 2008 3:57 pm Сообщения: 201
|
|
скорее всего так и прийдется делать, при хорошем пинге и пол секунды паузы хватает. а если так, бот обычно когда втыкает то садится через некоторое время.
automacro а { console /ю ар ситинг/ call { do pause 500 (к примеру) do relog } }
можно ли както отменить этот релог если бот к примеру встал и начал дальше выполнять макрос?
|
|
| Вернуться к началу |
|
 |
|
manticora
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Ср янв 20, 2010 12:04 pm |
|
 |
| Грамотный |
Зарегистрирован: Ср авг 29, 2007 12:45 pm Сообщения: 282
|
|
Слушай, а что мы паримся? Если он у тебя садится, если что-то пошло не так в макросах, так и делай свой макрос... Разве что небольшое дополнение к твоему макросу:
automacro а { console /ю ар ситинг/ call { do pause 500 (к примеру) if (@eval($::char->{sitting}) != 1) goto notrelog do relog :notrelog } }
Попробуй, я не могу сейчас проверить этот макрос.
_________________ # Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже. русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1 openkore.collectskin.com - всегда свежая svn-версия OpenKore! Видео-гайд по установке и настройке OpenKore
|
|
| Вернуться к началу |
|
 |
|
SmOOve
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Ср янв 20, 2010 3:10 pm |
|
 |
| Грамотный |
Зарегистрирован: Сб окт 04, 2008 3:57 pm Сообщения: 201
|
|
do pause 500 (к примеру) if (@eval($::char->{sitting}) != 1) goto notrelog do relog :notrelog
вопрос по этому
бот сел пошол таймер, если прошло 500сек идет проверка сидит бот или нет. как я понял если чар все еще сидит то он не перелогинится if (@eval($::char->{sitting}) != 1) goto notrelog, или эта 1 указывает чтото другое? надо ее менять на 0? с этими переменными не очень дружу.
|
|
| Вернуться к началу |
|
 |
|
manticora
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Ср янв 20, 2010 7:01 pm |
|
 |
| Грамотный |
Зарегистрирован: Ср авг 29, 2007 12:45 pm Сообщения: 282
|
|
Приветствую. Сначала вопрос - ты это проверял? Работает? А теперь про твой вопрос. Оператор if в макросах очень интересно устроен. Если условие в скобках верно, то выполняется команда goto и далее макрос продолжается с указанной метки. Если условие в скобках не верно (ложно), то выполняется следующая после оператора if строка макроса. В данном случае следует читать так: Если чар не (!= 1) сидит (sitting), то команду релог - do relog, проскочить (перепрыгнуть на метку :notrelog). Вот и всё.
if (@eval($::char->{sitting}) != 1) goto notrelog do relog :notrelog
_________________ # Гурнин: Неплохо! Пришло время научить вас умению 'Скидка', но мы займемся этим позже. русская вики по OpenKore, редактор макросов с подсветкой и справкой по Ctrl+F1 openkore.collectskin.com - всегда свежая svn-версия OpenKore! Видео-гайд по установке и настройке OpenKore
|
|
| Вернуться к началу |
|
 |
|
SmOOve
|
Заголовок сообщения: Re: Сделать relog если бот завис Добавлено: Пт фев 05, 2010 12:32 pm |
|
 |
| Грамотный |
Зарегистрирован: Сб окт 04, 2008 3:57 pm Сообщения: 201
|
|
| Вернуться к началу |
|
 |
|
Страница 1 из 1
|
[ Сообщений: 9 ] |
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|