Получается так?PHP код:
new
string[128 - (15 + (-2 + MAX_PLAYER_NAME)) + 1];
Вид для печати
Получается так?PHP код:
new
string[128 - (15 + (-2 + MAX_PLAYER_NAME)) + 1];
Я к примеру бы иным способом сделал :)
PHP код:
CMD:f(playerid, params[])
{
if(!strlen(params))
return SendClientMessage(playerid, -1, "[ВВЕДИ]: (/f) [Текст]");
new
name[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, name, sizeof(name));
static const fmt_str[] = "[Чат фракции] %s: %s";
new string[sizeof(fmt_str) - 2 + MAX_PLAYER_NAME];
format(string, sizeof(string), fmt_str, name, params);
TeamSendMsg(playerid, -1, string);
SetPlayerChatBubble(playerid, params, -1, 20.0, 3500);
return 1;
}
а ты уверен что выводится сообщение игрока?
Это один из допустимых тобой вариантов, вот в проверке на коннект почему-то вместо i стоит playerid. Норм))PHP код:
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(playerid))
return 1;
А если?
MrJu[N]ior, проблема не только в неверной переменной, там и функция "останавливается", если ID не найден.PHP код:
new
fmt_str[37] = !"[Чат фракции] ";
strcat(fmt_str, name);
strcat(fmt_str, !": ");
strcat(fmt_str, params);
И если делать через format, то можно же так:PHP код:
if (!IsPlayerConnected(i)/* || i == INVALID_PLAYER_ID*/)
continue;
Только сначала надо будет выводить SetPlayerChatBubble, а потом format с TeamSendMsg.PHP код:
format(params, 144, fmt_str, name, params);
SendClientMessage(playerid, -1, params);
И чисто для красоты кода, я назвал бы функцию SendClientMessageToTeam.