PDA

Просмотр полной версии : [Вопрос] Помогите исправить защиту от не вписанных adm 13lvl



Amir
10.01.2016, 06:35
По идее не вписанных адмов 13lvl должно автоматом снимать, но это не происходит. Кому не сложно помогите найти ошибку пожалуйста.

if(PlayerInfo[playerid][pAdmin] >= 13)
{
if(!strcmp(PlayerInfo[playerid][pNames], "Test_Test", true)) { TogglePlayerControllable(playerid, 1); return true; }
else
{
new year, month,day;
getdate(year, month, day);
new hour,minuite,second;
gettime(hour,minuite,second);
FixHour(hour);
hour = shifthour;
format(stringer,144, "*%d/%d [%d:%d:%d] %s pbItaJIs9I zaytu v login pod adm 13lvl.",day,month,hour,minuite,second,PlayerInfo[playerid][pNames]);
AdmLog(stringer);
PlayerInfo[playerid][pAdmin] = 0;
SendClientMessage(playerid, COLOR_WHITE, "______Good Bay!______");
}
}

- - - Добавлено - - -


По идее не вписанных адмов 13lvl должно автоматом снимать, но это не происходит. Кому не сложно помогите найти ошибку пожалуйста.

if(PlayerInfo[playerid][pAdmin] >= 13)
{
if(!strcmp(PlayerInfo[playerid][pNames], "Test_Test", true)) { TogglePlayerControllable(playerid, 1); return true; }
else
{
new year, month,day;
getdate(year, month, day);
new hour,minuite,second;
gettime(hour,minuite,second);
FixHour(hour);
hour = shifthour;
format(stringer,144, "*%d/%d [%d:%d:%d] %s pbItaJIs9I zaytu v login pod adm 13lvl.",day,month,hour,minuite,second,PlayerInfo[playerid][pNames]);
AdmLog(stringer);
PlayerInfo[playerid][pAdmin] = 0;
SendClientMessage(playerid, COLOR_WHITE, "______Good Bay!______");
}
}

Проблема решена, оказывается дело было в том что вписанных ников было много и они были вписаны в 2 строки


if(!strcmp(PlayerInfo[playerid][pNames], "Test_Test", true) || !strcmp(PlayerInfo[playerid][pNames], "Test_Test", true)
|| !strcmp(PlayerInfo[playerid][pNames], "Test_Test", true)) { TogglePlayerControllable(playerid, 1); return true; }

Daniel_Cortez
10.01.2016, 08:47
"true" в strcmp означает, что функция не будет обращать внимания на регистр символов (т.е. "A" и "a" будут считаться равными) и если указать ник "Test_Test", то можно будет указать ещё и ник "test_test", "Test_test", "test_teSt" и т.д. и т.п. - и все эти варианты пройдут проверку, strcmp вернёт 0.