Управление ботом с xKore режима (захваченого клиента)

FAQ. Ответы на часто задаваемые вопросы.

Модератор: 4epT

Правила форума
Этот раздел является руководством и тут разрешено оставлять сообщения лишь для уточнения и внесения корректив в существующие материалы. Для вопросов существует ряд других разделов.
Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4763
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Управление ботом с xKore режима (захваченого клиента)

Сообщение kLabMouse » Сб ноя 11, 2006 6:19 am

И так.. я давным давно искал как оно делается. Везде молчёк.
И потом чисто случайно нашёл такую штуку в ОпенКоровском мануале.
commandPrefix [<string>]
If you're running in X-Kore mode, messages you type in the Ragnarok Online client that begin with the specified prefix will be intercepted by Kore and interpreted as console commands.
Немного переведу
commandPrefix [<строка>]
Если Вы работаете через X-Kore режим, сообщения которые вы вводите в клиенте которые начинаются на <строка> будут перехвачены Kore'ом и интерпретированы как консольные команды.
По умолчанию там всегда стоит символ ;
Но не всё так просто.
Что бы отправить команду кору нужно не просто поставить символ ; в начале строки. Но и поставить пробел. (для особо недогаднивых).
Теперь ваш бот будет воспринимать команды с окна клиента :D

Только вот одно НО. Ета зараза флудит в консоль клиента. Как от етого избавится. Я пока не знаю. Нуно будет думать.

П.С. Если кто попросит как управлять ботом с удалённого чара.. ну ето другая история. И там немного по другому.

JekkiOne
нехороший человек
Сообщения: 24
Зарегистрирован: Вт ноя 07, 2006 8:07 pm
Контактная информация:

Re: Управление ботом с xKore режима (захваченого клиента)

Сообщение JekkiOne » Сб ноя 11, 2006 9:39 am

kLabMouse писал(а):И так.. я давным давно искал как оно делается. Везде молчёк.
Вот супер! Ну значит уже не везде молчек :wink:

Просто люди умные сволочи, сделают и забивают, не передают свои знания, ну влом им! Так вот и я)))) Это вообщем нахдиться элементарно, но не кто не спрашивает!))))

Таким образом в начале своего знакомства мучил shop.
Метод подбора работает безотказно, особенно если и мануал можешь перевести)))


Функция удобная, но вот только требует опыта или распечатки комманд под клавой))) Было бы удобнее если был бы прозрачный интерфейс с "кнопками" простых команд! По крайне мере мне. 8)
--> Любая модель представляет лишь отдельный аспект проявления реальности. -->

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8208
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE » Сб ноя 11, 2006 10:10 am

Хм. Вообще ситуация парадоксальная, раньше это ";e huh" работало чудесно без всяких пробелов и было отлично документировано. Но потом во время очередной "перестройки" там что-то перекроили и вот...

PS: ...c тех пор я этой штукой не пользуюсь. Все команды вводятся в окно консоли. Точка.
Последний раз редактировалось piroJOKE Сб ноя 11, 2006 11:15 am, всего редактировалось 1 раз.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

Аватара пользователя
miniBot
Грамотный
Сообщения: 429
Зарегистрирован: Вс ноя 05, 2006 8:48 am
Откуда: Москва
Контактная информация:

Сообщение miniBot » Сб ноя 11, 2006 10:25 am

Раньше пробовал, че-та ничего не получалось, там еще какие-нибудь параметры влияют кроме этого, чтоб заработало?
Я когда пробовал эту функцию, круто лоханулся. Крикнул в общий чат ;ai manual некоторые это видели. ЫЫЫ.
помощь только тем у кого включен параметр - mozgEnable 1

БОТАТЬ, БОТАТЬ, И ЕЩЕ РАЗ БОТАТЬ, КАК ЗАВЕЩАЛ ВЕЛИКИЙ ЛЕНИН

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8208
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE » Сб ноя 11, 2006 11:10 am

Угу, у всех такие же случаи были. Поэтому, я там сделал альясы (это пока оно ЕЩЕ нормально работало), и команды стали неузнаваемыми. Как например насчет ;) и ;--) и ;*( и ;\ и тп.
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4763
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Сб ноя 11, 2006 7:09 pm

piroJOKE
Ну не знаю. Я вот вчера тестил. Нуно было создать штучный лаг. доделал команду а как вызвать не знал. Пришлось перелопатить весь ОпенКоровский форум. Потом чисто случайно набрёл на ключь конфига которым никогда не интиресовался. Полазил по исходникам, глянул что где и как. Они там немного перемудрили. Но если первый символ стоки ; второй пустое место (пробел) то всё красиво пашет.
Только вот бы каким-то образом отключать долбаный мусор в консольке. Ваще заебца было-бы.

Аватара пользователя
piroJOKE
Модератор
Сообщения: 8208
Зарегистрирован: Сб ноя 04, 2006 2:20 am
Сервер RO:: localhost
Откуда: Molvania

Сообщение piroJOKE » Сб ноя 11, 2006 7:43 pm

А нельзя ли как-нибудь колдануть, шоб и без пробела пахало?
Use brain against brain, ai against ai... · как правильно задавать вопросы · faq · download

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4763
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Сб ноя 11, 2006 8:06 pm

piroJOKE

Хз... нуно подумать.
Вот нашёл два куска где ето всё парсится

# Private message

Код: Выделить всё

		my $prefix = quotemeta $config{commandPrefix};
		if ($chat =~ /^$prefix/) {
			$chat =~ s/^$prefix//;
			$chat =~ s/^\s*//;
			$chat =~ s/\s*$//;
			parseInput($chat, 1);
			undef $sendMsg;
		} else {
			undef %lastpm;
			$lastpm{msg} = $chat;
			$lastpm{user} = $user;
			push @lastpm, {%lastpm};
		}
# Public chat

Код: Выделить всё

		my $prefix = quotemeta $config{'commandPrefix'};
		if ($chat =~ /^$prefix/) {
			$chat =~ s/^$prefix//;
			$chat =~ s/^\s*//;
			$chat =~ s/\s*$//;
			$chat =~ s/\000*$//;
			parseInput($chat, 1);
			undef $sendMsg;
		}
И так немного подумав найдём общие черты....
if ($chat =~ /^$prefix/) -- Если в начале строки найден префикс
$chat =~ s/^$prefix//; -- Удалим префикс в начале строки
$chat =~ s/^\s*//; -- Удалить пробелы с начала строки
$chat =~ s/\s*$//; -- Удалить пробелы с конца строки
$chat =~ s/\000*$//; -- Ну и удалим символы \0 в конце строки (здесь бы я лучше написал так: $chat =~ s/\000*//; и поставил ещё после него ещё разок
$chat =~ s/\s*$//;)

Чесно говоря он вроде должен шарить и без пробела. Но хз. Всё нуно пробовать на своей шкуре.

GalAnt
Начинающий
Сообщения: 33
Зарегистрирован: Сб ноя 25, 2006 8:49 am

Сообщение GalAnt » Сб ноя 25, 2006 11:58 am

Код: Выделить всё

XKore_silent 1
В этом случае Опенкора не флудит в окошко игрового чата.

Elvira
Энтузиаст
Сообщения: 98
Зарегистрирован: Чт янв 18, 2007 2:01 pm

Сообщение Elvira » Пт янв 26, 2007 11:17 am

а у меня при захвате клиента кором (XKore_silent 1), выдается ошибка, текст конктено не напишу...
в духе: "вы пытаетесь поизвести запись в область памяти клиента, действие заблокировано"
кто мне скажет, как бороться с этим?
© все грамматические ошибки являются собственностью автора, перепечатка ошибок только с письменного разрешения с последующей ссылкой на автора.

Аватара пользователя
miniBot
Грамотный
Сообщения: 429
Зарегистрирован: Вс ноя 05, 2006 8:48 am
Откуда: Москва
Контактная информация:

Сообщение miniBot » Пт янв 26, 2007 11:48 am

Блочит, скорее всего антивирус, или фаэрвол. Даже скорее всего Outpost, он ужасно не любил, когда какая-то прога пыталась на д ИЕ глумиться и отрубала ИЕ доступ к инету. Если мои телепатические способнобности меня не обманули, то где-то в Otpost надо коре разрешить изменение области памяти других приложений, или что-то в этом роде.
помощь только тем у кого включен параметр - mozgEnable 1

БОТАТЬ, БОТАТЬ, И ЕЩЕ РАЗ БОТАТЬ, КАК ЗАВЕЩАЛ ВЕЛИКИЙ ЛЕНИН

Elvira
Энтузиаст
Сообщения: 98
Зарегистрирован: Чт янв 18, 2007 2:01 pm

Сообщение Elvira » Пт янв 26, 2007 12:17 pm

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

wolf
Новичок
Сообщения: 5
Зарегистрирован: Чт ноя 30, 2006 1:23 pm

Сообщение wolf » Чт фев 01, 2007 4:13 pm

Вопрос в догонку, после запуска коры в режиме XCore 1, захвата клиента, выбора чара и входа в игру, кора выдает ошибку:
OpenKore version 1.9.3

Код: Выделить всё

@ai_seq = skill_use
Loaded plugins:
  plugins/alertsound.pl (alertsound)
  plugins/doCommand.pl (doCommand)
  plugins/macro.pl (macro)
  plugins/patchConnect.pl (patchconnect)
  plugins/ropp.pl (ppengine)

Error message:
Wrong number of parameters: expected 1, got 0.

Stack trace:
Wrong number of parameters: expected 1, got 0. at C:/path_to_bot/src/Interface/Wx.pm line 131
	Interface::Wx::mainLoop('Interface::Wx=HASH(0x2cd6ca0)') called at openkore.pl line 382
	main::__start() called at start.pl line 127
Соответственно кора вылетает, клиент пишет, что потерянно соединение с сервером и тоже вылетает. Как побороть эту проблемму?

Аватара пользователя
kLabMouse
Профессионал
Сообщения: 4763
Зарегистрирован: Вс ноя 05, 2006 4:32 pm

Сообщение kLabMouse » Чт фев 01, 2007 9:58 pm

wolf
Во первых. Ты пытаешся Подключится к Офф Серверу (Вау Я Медиум уже. ГГ! :D )
Во вторых. У тебя Гибридный Клиент, ТЕ стоят не все Апдейты, а только основной на Протоко (Режим хКор 0, или обычный)
Обнови и всё будет ОК.

wolf
Новичок
Сообщения: 5
Зарегистрирован: Чт ноя 30, 2006 1:23 pm

Сообщение wolf » Пт фев 02, 2007 7:50 am

все, разобрался... ммм... достаточно было прописать serverType 13 и отрубить Outpost... хз что из этого помогло... в любом случае спасибо за содействие )

Ответить