Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для Amir
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.01.2016
    Сообщений
    12
    Репутация:
    0 ±

    Помогите исправить защиту от не вписанных adm 13lvl

    По идее не вписанных адмов 13lvl должно автоматом снимать, но это не происходит. Кому не сложно помогите найти ошибку пожалуйста.
    PHP код:
            if(PlayerInfo[playerid][pAdmin] >= 13)
            {
                if(!
    strcmp(PlayerInfo[playerid][pNames], "Test_Test"true)) { TogglePlayerControllable(playerid1); return true; }
                else
                {
                    new 
    yearmonth,day;
                    
    getdate(yearmonthday);
                    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(playeridCOLOR_WHITE"______Good Bay!______");
                }
            } 
    - - - Добавлено - - -

    Цитата Сообщение от Amir Посмотреть сообщение
    По идее не вписанных адмов 13lvl должно автоматом снимать, но это не происходит. Кому не сложно помогите найти ошибку пожалуйста.
    PHP код:
            if(PlayerInfo[playerid][pAdmin] >= 13)
            {
                if(!
    strcmp(PlayerInfo[playerid][pNames], "Test_Test"true)) { TogglePlayerControllable(playerid1); return true; }
                else
                {
                    new 
    yearmonth,day;
                    
    getdate(yearmonthday);
                    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(playeridCOLOR_WHITE"______Good Bay!______");
                }
            } 
    Проблема решена, оказывается дело было в том что вписанных ников было много и они были вписаны в 2 строки
    PHP код:
    if(!strcmp(PlayerInfo[playerid][pNames], "Test_Test"true) || !strcmp(PlayerInfo[playerid][pNames], "Test_Test"true)
    || !
    strcmp(PlayerInfo[playerid][pNames], "Test_Test"true)) { TogglePlayerControllable(playerid1); return true; } 

  2. #2
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    "true" в strcmp означает, что функция не будет обращать внимания на регистр символов (т.е. "A" и "a" будут считаться равными) и если указать ник "Test_Test", то можно будет указать ещё и ник "test_test", "Test_test", "test_teSt" и т.д. и т.п. - и все эти варианты пройдут проверку, strcmp вернёт 0.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •