Topic: Цветной ann
Можно ли сменить цвет ann'a?
PvPGN Community Forums |
forums.pvpgn.pro → [RU] The Source Code → Цветной ann
Можно ли сменить цвет ann'a?
Он находится в клиенте игры, но не на сервере
Поиск рулит.
Event IDs:
[0x01] EID_SHOWUSER: User in channel
[0x02] EID_JOIN: User joined channel
[0x03] EID_LEAVE: User left channel
[0x04] EID_WHISPER: Recieved whisper
[0x05] EID_TALK: Chat text
[0x06] EID_BROADCAST: Server broadcast
[0x07] EID_CHANNEL: Channel information
[0x09] EID_USERFLAGS: Flags update
[0x0A] EID_WHISPERSENT: Sent whisper
[0x0D] EID_CHANNELFULL: Channel full
[0x0E] EID_CHANNELDOESNOTEXIST: Channel doesn't exist
[0x0F] EID_CHANNELRESTRICTED: Channel is restricted
[0x12] EID_INFO: Information
[0x13] EID_ERROR: Error message
[0x15] EID_IGNORE: Notifies that a user has been ignored (DEFUNCT)
[0x16] EID_ACCEPT: Notifies that a user has been unignored (DEFUNCT)
[0x17] EID_EMOTE: Emote
ничего не понял? можно пример привести команды /ann и какой код вставить чтоб цветной получился? на примере покажите пожалуйсто))
Пример кода есть по ссылке. Цвет можно выбрать из существующих, например, цвет привата, цвет обычного сообщения (от обычного юзера, дудки, админа) итд. Код писать не буду.
Да дело в том что я не разобрался и хотел пример просто кода как написать например красным? не понимаю
1. В src/bnetd/command.cpp дублируешь все найденные _handle_announce_command (с другим своим именем)
2. Изменяешь в них /announce на /newannounce
3. В своей функции _handle_announce_command() переменную message_type_info заменяешь на одну из тех, что перечислены в src/bnetd/message.h
Кстати, коды событий в message.h не все совпадают с теми, что на bnetdods. Интересно, где они актуальные.
Уверен, что на bnetdocs
EDIT: там кодов нет. Коды наверно в packet.h
TyMaH
Именно пример кода, как писать красным, там и есть.
EDIT: там кодов нет. Коды наверно в packet.h
Там перечисление enum (автоувеличение от нуля).
в общем без компиляции никак?
Естественно.
static int _handle_announce_command(t_connection * c, char const *text)
{
unsigned int i;
t_message * message;
for (i=0; text[i]!=' ' && text[i]!='\0'; i++); /* skip command */
for (; text[i]==' '; i++);
if (text[i]=='\0')
{
message_send_text(c,message_type_whisper,c,"usage: /announce <announcement>");
return 0;
}
snprintf(msgtemp, sizeof(msgtemp), "Announcement from %.64s: %.128s",conn_get_username(c),&text[i]);
if (!(message = message_create(message_type_whisper,c,msgtemp)))
message_send_text(c,message_type_whisper,c,"Could not broadcast message.");
else
{
if (message_send_all(message)<0)
message_send_text(c,message_type_whisper,c,"Could not broadcast message.");
message_destroy(message);
}
return 0;
}
1>------ Пропуск построения: проект: RUN_TESTS, Конфигурация: Release Win32 ------
1>Проект не выбран для построения в данной конфигурации решения
2>------ Построение начато: проект: bnetd, Конфигурация: Release Win32 ------
2>Компиляция...
2>command.cpp
2>..\..\..\source\src\bnetd\command.cpp(767) : warning C4146: применение унарного минуса к типу без знака; результат оставлен без знака
2>C:\Depositfiles\build\source\src\common/elist.h(28) : warning C4355: this: использован в списке инициализации базового класса
2> C:\Depositfiles\build\source\src\common/elist.h(28): при компиляции функции-члена "<Нет данных>" класса <Нет данных>
2> C:\Depositfiles\build\source\src\common/fdwatch.h(44): см. ссылку на создание экземпляров класса шаблон при компиляции "pvpgn::elist_node<T>"
2> with
2> [
2> T=pvpgn::t_fdwatch_fd
2> ]
2>C:\Depositfiles\build\source\src\common/elist.h(28) : warning C4355: this: использован в списке инициализации базового класса
2>Компоновка...
2>Внедрение манифеста...
2>Журнал построения был сохранен в "file://c:\Depositfiles\build\build\src\bnetd\bnetd.dir\Release\BuildLog.htm"
2>bnetd - ошибок 0, предупреждений 3
3>------ Пропуск построения: проект: INSTALL, Конфигурация: Release Win32 ------
3>Проект не выбран для построения в данной конфигурации решения
========== Построение: успешно: 1, с ошибками: 0, без изменений: 23, пропущено: 2 ==========
и всеравно тот же цвет(
3 minutes and 30 seconds after:
если я вообще все правильно делаею...
сделал pvpgn из билдера
открываю папку build
там нахожу файл pvpgn.sln
открываю..открывается VS++
и редактирую код..компилирую release...
6 minutes and 34 seconds after:
-> f7 (построить решение)
Может не тот файл запускаешь? Если компилируешь через VS, то результат будет в build\src\bnetd\release\bnetd.exe
bnetd.exe появляется после компиляции? просто я вот сча создал новый pvpgn через билдер..и нет bnetd.exe
Если через билдер компилируешь, то bnetd.exe скопируется в папку release с именем PvPGN.exe или PvPGNConsole.exe, в зависимости от выбранного интерфейса.
ну значт я открываю pvpgn.exe и нет изменений када захожу на серв(
forums.pvpgn.pro → [RU] The Source Code → Цветной ann