PDA

Просмотр полной версии : [Вопрос] Ограничение, чтобы игрок не мог писать в чат пока он авторизован



stimorol
12.02.2016, 13:53
НАПУТАЛ В ЗАГОЛОВКЕ!!!

Всем привет!

Вот делаю ограничение, чтобы игрок не мог писать в чат пока он не авторизован. Какой код будет правильный первый или второй?

В паблике OnPlayerText:
1)


if(PlayerInfo[playerid][pLogged] == false)
{
return 0;
}


2)


if(PlayerInfo[playerid][pLogged] == false) return false;

Wise
12.02.2016, 14:53
Оба варианты правильные.
Только во втором не return false, а return 0.

vovandolg
12.02.2016, 14:58
false это и есть 0)
Я второй бы вариант предпочёл, для меня скобки в таких случаях как недоеденые чипсы :crazy:

Wise
12.02.2016, 15:02
false это и есть 0)
Я второй бы вариант предпочёл, для меня скобки в таких случаях как недоеденые чипсы :crazy:

Это я знаю. Но. Не совсем красиво если будет так:

public OnPlayerText(playerid, text[])
{
if(PlayerInfo[playerid][pLogged] == false) return false;
return 0;
}
Или так:

public OnPlayerText(playerid, text[])
{
if(PlayerInfo[playerid][pLogged] == false) return false;
return false;
}

Роуди.
12.02.2016, 15:25
if(!PlayerInfo[playerid][pLogged])
return false;
Например так?

Wise
12.02.2016, 15:27
if(!PlayerInfo[playerid][pLogged])
return false;
Например так?

Не забывайте про ошибку:

warning 209: function "OnPlayerText" should return a value

Роуди.
12.02.2016, 15:31
Не забывайте про ошибку:

warning 209: function "OnPlayerText" should return a value


public OnPlayerText(playerid, text[])
{
if(!player_variable[playerid][p_Password])
return false;
return 1;
}

Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

Или я тебя не так понял?

Wise
12.02.2016, 15:38
public OnPlayerText(playerid, text[])
{
if(!player_variable[playerid][p_Password])
return false;
return 1;
}

Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

Или я тебя не так понял?

OnPlayerText возвращает только нулевые значения.
Если вернуть 1, то текст все равно появится.
Просто для порядка надо ставить в конце коллбэка return false, а в разных проверках return 0.
Если в проверке написать return false, ничего не изменится. Но так не этично :)

$continue$
12.02.2016, 17:23
Начиная программировать на C/C++ вы будете так же писать true/false (bool)?