Показать сообщение отдельно
Старый 31.10.2007, 13:49   #55
Гость
 
Сообщений: n/a
По умолчанию

Прочитал всю темку. Сам пока не пробовал ничего т.к. на работе сижу, но сразу возникла идея.
Вообщем почему бы не сделать что то типа своего языка макросов?
Например самое банальное что пришло в голову:
у бота есть надор пакетов, хотяб таких вот
b1='2F 10 04 00 00 00 00 00 00 00'; // Shield
b2='2F 0B 04 00 00 00 00 00 00 00'; // Mental Shield
b3='2F 23 04 00 00 00 00 00 00 00'; // Empower
b4='2F B4 04 00 00 00 00 00 00 00'; // Wind Walk
b5='2F 36 04 00 00 00 00 00 00 00'; // Concentration

Идея в том, чтоб бот получив команду типа "1,3,5", бафнул бы Shield, Empower, Concentration
Ну это самое простое, а вообще можно это все расширить, причем не вводом кучи команд, а просто добавлением еще одного пакета, например
b6='** ** ** ** ** ** ** ** ** **'; // что нибудь

Тогда возникает несколько вопросов...
1. Почему я ни у кого не видел массива команд? Я просто паскаль не знаю особо, так самые азы токо...
Но почему там бы не сделать что то типа такого
Код:
string[] command =
{
     "2F 10 04 00 00 00 00 00 00 00",	 // Shield
     "2F 23 04 00 00 00 00 00 00 00"	 // Empower
     // и т.д.
};
а потом просто посылать команды в чат, и обрабатывать их
Код:
// str - команда полученная например в приват
while(str!="") // пока строка не пустая...
{
     int l = str.IndexOf(','); // позиция первой ','
     if(l==-1) l = str.Length; // если нету ','
     buf = command[int.Parse(str.Substring(0, l))]; // получение команды по ее номеру                
     SendToServerEx(<че тут писать то хоть?>);
     // и че то типа задержки тут надо наверное...
     str.Remove(0, l); // удаление выполненной команды из строки
}
2. Любую команду можно записать аналогично вот этому b1='2F 10 04 00 00 00 00 00 00 00'?
или это токо скилы так?
3. Можно ли как то запускать готовые макросы(игровые)?
Например сделать макрос типа "delay n"/"target ***"/"assist" и тому подобные, и использовать такой макрос забив его в массив команд, так же как и скилы?
Хотя я почти уверен что нельзя... Это же клиент вроде как макрос выполняет а не сервер, так?
Можно ли как то из скрипта использовать встроенные переменные типа %self, %target, %partyN?

Короче пока сам толком не понял чего хочу, но если все это довести до ума, то такой скрипт можно будет подогнать почти под любые нужды, просто добавив команды и в самом клиенте сдалать макросы типа "имя_бафера 1,2,7,10,15 - где цифры это собственно и есть сами команды
  Ответить с цитированием