Topic: Установка хост бота как в айкапе
как сделать хост бот как на айкапе и как сделать систему /stats как в айкапе
PvPGN Community Forums |
forums.pvpgn.pro → [RU] Warcraft → Установка хост бота как в айкапе
как сделать хост бот как на айкапе и как сделать систему /stats как в айкапе
Выучить c++ , изучить код ботов и сервера, придумать как заставить их обмениваться командами между собой, добавить команды нужные, в общем все очень просто
или надеяться, что когда нибудь появиться чудак, который за тебя все сделает
А я вообще то уже делал такое раньше, но код был не стабилен, сейчас снова занялся
Там вообще ничего сложного нет, сложно было только заставить ботов хостить сразу несколько игр (лобби)
Мне нужна исходний код, command.cpp /pub как в ливезоне. Народ Помагите
Возможно я опубликую свой код, но пока не знаю
готовые сервера PVPGN+GHOST я оплатила (I Paid)
Я бесплатно опубликую но не сейчас. Еще много исправлений нужно внести в код для стабильной работы.
Ок! Спасибо!!! я вас жду
Извиняюсь, сервер не смогу опубликовать. Но могу рассказать что я изменял, как и т.п
Я просто пишу сервер для одной новой платформы, все куда-то пропали я думал им больше не нужен сервер
как можно запустит на одном хостинге 2 PVPGN серв ??
с разными портами, а в лаунчере изменять порт на нужный думаю
{
char * game_mode;
char * game_name;
char t[MAX_MESSAGE_LEN];
unsigned int i,j;
char arg1[256];
char arg2[256];
char const * bot="helpbot" ; //Ваш никнейм бота
std::strncpy(t, text, MAX_MESSAGE_LEN - 1);
for (i=0; t[i]!=' ' && t[i]!='\0'; i++); /* skip command */
for (; t[i]==' '; i++); /* skip spaces */
for (j=0; t[i]!=' ' && t[i]!='\0'; i++) /* get game mode */
if (j<sizeof(arg1)-1) arg1[j++] = t[i];
arg1[j] = '\0';
for (; t[i]==' '; i++); /* skip spaces */
for (j=0; t[i]!='\0'; i++) /* get game name */
if (j<sizeof(arg2)-1) arg2[j++] = t[i];
arg2[j] = '\0';
game_mode = arg1;
game_name = arg2;
if (arg1[0] =='\0') {
message_send_text(c,message_type_info,c,"используйте: /pub <Мод> <название игры>");
return 0;
}
if (arg2[0] =='\0') {
message_send_text(c,message_type_error,c,"Необходимо указать <название игры>");
return 0;
}
if (!std::strcmp(game_mode,"ap") || !std::strcmp(game_mode,"ar") || !std::strcmp(game_mode,"sd") || !std::strcmp(game_mode,"tr") || !std::strcmp(game_mode,"cm") || !std::strcmp(game_mode,"cd")) {
snprintf(msgtemp2, sizeof(msgtemp2), "Создание публичной игры. Мод: %.128s Название: %s",game_mode, game_name);
message_send_text(c,message_type_info,c,msgtemp2);
snprintf(msgtemp, sizeof(msgtemp), "pub -%.128s %s",game_mode,game_name);
do_whisper(c,bot,msgtemp);
return 0;
}
snprintf(msgtemp2, sizeof(msgtemp2), "Неверно введен мод игры: %.128s", game_mode);
message_send_text(c,message_type_error,c,msgtemp2);
snprintf(msgtemp, sizeof(msgtemp), "Доступные моды: cm/ap/ar/sd/tr/cd");
message_send_text(c,message_type_info,c,msgtemp);
return 0;
}
как можно можно скрыт личное сообщение "Вы отправил личное сообщение игроку helpbot: pub -ar go livestar"
с разными портами, а в лаунчере изменять порт на нужный думаю
код напиши for example
Добавлено: 29.03.2015 13:13
Cub_bone друг и ешо 1 просиба ест у тебя или ты сможеш вот такой бот сделат 1000 pts [ D ] Win-Los 0-0 ping: 10 provider : World Telecom такой ghost ?
Cary, бот сам себе должен отправлять сообщение что бы его не было видно.
что-то вроде этого:
t_account * acc = accountlist_find_account( bot );
if (acc)
{
t_connection * conn = account_get_conn(acc);
if (conn)
message_send_text(conn,message_type_whisper,conn, MESSAGE);
//else
//botoffline
}
NowOrNever, разве обычные боты не умеют показывать статистику? !statsdota там или как)
Cub_bone
ты не понял ghostone !sd набереш он потом User 1000pts D+ win-los (0-0) ping: 10 provider: RU TELECOM вот такой бот надо умееш настроит?
Разве обычный бот не показывает статистику? у любого бота есть команда !sd !statsdota, я не помогу мне уже надоело в ботах ковыряться
Cary, бот должен сам себе отправлять сообщение и в нем передавать владельца игры, у меня не передается т.к система полностью встроена в pvpgn, но для начала можно просто овнера передавать.
//код выше и :
snprintf(msgtemp, sizeof(msgtemp), "!pub %s %s %s", account_get_name(conn_get_account(c)), game_mode,game_name);
// P.S %.31s - обрезает текст до 31 символов полезно если название игры длинное и его нужно укоротить
Cub_bone
отправьте мне _handle_host_command
Handle host command тебе ни чем не поможет, там дофига где нужно исправлять. Если тебе нужна только эта команда, то поищи на форуме, я уже скидывал
В сервере хранится список ботов, команда /host ищет бота который на канале (не в лобби) и отправляет ему команду от самого себя. message_send_text(botconnection,message_type_whisper(кажется),botconnection, command(например !pub 5x5 aptb go go go));
Игроку сохраняется этот бот и игра которую он создал пока бот не выйдет из созданной игры (/unhost) или же игра не получит статус started.
После этого игрок снова может создавать игру.
Это самый простой вариант.
У меня сделано по другому на много сложнее, но примерно то же.
У меня сделано по другому на много сложнее, но примерно то же.
ну если мисье не поленитесь и опишите весь этот алгоритм, кому надо тот поймет и будет благодарен. ибо всякие легкие варианты убогие
forums.pvpgn.pro → [RU] Warcraft → Установка хост бота как в айкапе