PDA

Просмотр полной версии : [Вопрос] return 0 в OnPlayerText не работает



surface
20.06.2014, 20:23
Доброго времени суток уважаемые форумчане..
У меня в public OnPlayerText(playerid, text[]) в конце стоит return 0 и если у тебя есть доступ к чату будет по такому примеру: Ник(Ид): Сообщение
А если доступа к чату нету (Мут или еще что то) то будет по самповски (стандартно) т.е.: Ник: Сообщение хотя стоит return 0

Вот мой код:



public OnPlayerText(playerid, text[])
{
switch(gIData[playerid][pZaloged]) // bool переменная которая хранит в себе true / false
{
case false:return SendClientMessage(playerid,gColor[random(7)],##SERVER_LOGO"Ты не мож щас тип в чат писать авторизуся снач.");
case true:
{
switch(text[0])
{
case '*': // Это не буду давать это админ чат
case '.': // Это тоже не буду давать это команды через точку (Пр.: .правила или /правила)
default: // Вот здесь идет подстановка ида
{
Formated(gString, "%s(%d): %s", PlayerName(playerid), playerid, text); // Это упрощение тоже самое что и format(переменная, размер...
SendClientMessageToAll(GetPlayerColor(playerid), gString);
}
}
}
}
return 0;
}


И так прошу помощи, если надо помогу чем смогу. Всем спасибо.

DeimoS
21.06.2014, 08:37
Многие функции, после удачного выполнения, возвращают не нуль, а единицу.

case false:return SendClientMessage(playerid,gColor[random(7)],##SERVER_LOGO"Ты не мож щас тип в чат писать авторизуся снач.");
замените на

case false:
{
SendClientMessage(playerid,gColor[random(7)],##SERVER_LOGO"Ты не мож щас тип в чат писать авторизуся снач.");
return 0;
}

surface
21.06.2014, 13:09
Многие функции, после удачного выполнения, возвращают не нуль, а единицу.

case false:return SendClientMessage(playerid,gColor[random(7)],##SERVER_LOGO"Ты не мож щас тип в чат писать авторизуся снач.");
замените на

case false:
{
SendClientMessage(playerid,gColor[random(7)],##SERVER_LOGO"Ты не мож щас тип в чат писать авторизуся снач.");
return 0;
}


Большое спасибо "Спасибку" оставил.