28.03.2015, 06:33
Вообщем я тру кодер решил набыдлокодить второстепенный чат на своем сервере.
Планирую отправлять в него сообщения о логине и выходе игроков и килл чат.
Оцените на сколько этот код прочный и удобный для машины.
Может кто то знает или может предложить на много проще реализацию.
Планирую отправлять в него сообщения о логине и выходе игроков и килл чат.
Оцените на сколько этот код прочный и удобный для машины.
Может кто то знает или может предложить на много проще реализацию.
PHP код:
stock SendInfoAllMessage(const text[])
{
static string[1024], chatacc;
for(new i = 0; i < MAX_LINES_CHAT; i++) // Пробегаемся во всем строчкам чата.
{
if (!InfoChatLine[i][0]) // Проверяем хотя бы одну пустую строку.
{
strmid(InfoChatLine[i], text, 0, MAX_STRING); // Записываем сообщение в пустую строку.
chatacc = true; // Даем понять, что свободные строчки есть и сообщение записано.
break; // Прекращаем цикл
}
else chatacc = false; // Если цикл закончился и нет пустых строк, сообщаем от этом.
}
if (!chatacc) // Если все строки заполнены
{
for(new i = 0; i < MAX_LINES_CHAT; i++) // Пробегаемся по всем строчкам
{
if (i < 13)
{
strmid(InfoChatLine[i], InfoChatLine[i+1], 0, MAX_STRING); // Поднимаем чат вверх на одну строчку, отчищая место первой строкой под новую.
}
else strmid(InfoChatLine[13], text, 0, MAX_STRING); // Записываем новое сообщение в последнею строку.
}
}
format(string, sizeof(string), "%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s~n~%s", InfoChatLine[0], InfoChatLine[1], InfoChatLine[2], InfoChatLine[3], InfoChatLine[4], InfoChatLine[5], InfoChatLine[6], InfoChatLine[7], InfoChatLine[8], InfoChatLine[9], InfoChatLine[10], InfoChatLine[11], InfoChatLine[12], InfoChatLine[13]); // Тут понятно все, форматируем все строки чата.
TextDrawSetString(ServerTextDraws[5], string); // Обновляем чат.
return true;
}