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

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±

    DC_CMD команда

    Надеюсь на скорую помощь, суть проблемы в том что не тому показывает диалог
    PHP код:
    CMD:check(playeridparams[])
    {
        if(
    Player[playerid][pAdmin] == 0) return true;
        
    Alogin;
        if(
    sscanf(params"d"checkerid)) return SCM(playerid, -1"/check [ID]");
        
    playerid whocheckid;
        
    //Внутренности вырезал что бы не мешали
        
    SetTimerEx("AntiCheat"3000false"d"checkerid);
        
    SPD(whocheckid9995DIALOG_STYLE_MSGBOX"{009CFF}Античит""{FFFFFF}Проверка игрока на читы""Ожидайте""");
        return 
    true;

    Вообщем суть такая, я ввожу /check 1 (сам я ID 0) и по идее должно показать диалог проверки мне... Но показывает почему то игроку с ID 1.Либо я тупой, либо я тупой в двойне. (checkerid и whocheckid глоб. переменные)

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Что такое "whocheckid", это какая-то глобальная переменная? И зачем вы присваиваете её значение в playerid?
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  3. #3
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Что такое "whocheckid", это какая-то глобальная переменная? И зачем вы присваиваете её значение в playerid?
    Да это глобальная переменная, присваиваю что бы в паблике который вызовется показать диалог именно проверяющему

  4. #4
    Аватар для Skull
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    PHP код:
    CMD:check(playeridparams[]) 

        if(
    Player[playerid][pAdmin] == 0) return true
        
    Alogin
        if(
    sscanf(params"d"checkerid)) return SCM(playerid, -1"/check [ID]"); 
        
    whocheckid playerid;
        
    //Внутренности вырезал что бы не мешали 
        
    SetTimerEx("AntiCheat"3000false"d"checkerid); 
        
    SPD(whocheckid9995DIALOG_STYLE_MSGBOX"{009CFF}Античит""{FFFFFF}Проверка игрока на читы""Ожидайте"""); 
        return 
    true


  5. #5
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от HarrWe Посмотреть сообщение
    Да это глобальная переменная, присваиваю что бы в паблике который вызовется показать диалог именно проверяющему
    Присваивать значение в аргумент не принесёт никакого эффекта

  6. #6
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от Skull Посмотреть сообщение
    PHP код:
    CMD:check(playeridparams[]) 

        if(
    Player[playerid][pAdmin] == 0) return true
        
    Alogin
        if(
    sscanf(params"d"checkerid)) return SCM(playerid, -1"/check [ID]"); 
        
    whocheckid playerid;
        
    //Внутренности вырезал что бы не мешали 
        
    SetTimerEx("AntiCheat"3000false"d"checkerid); 
        
    SPD(whocheckid9995DIALOG_STYLE_MSGBOX"{009CFF}Античит""{FFFFFF}Проверка игрока на читы""Ожидайте"""); 
        return 
    true

    Ща проверю отпишусь

    Цитата Сообщение от _lizard Посмотреть сообщение
    Присваивать значение в аргумент не принесёт никакого эффекта
    А как надо тогда?

  7. #7
    Аватар для Skull
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.07.2016
    Сообщений
    17
    Репутация:
    3 ±
    Или же просто использовать playerid в SPD. И, скорее всего, whocheckid должен быть объявлен так:
    PHP код:
    new whocheckid[MAX_PLAYERS]; 
    - - - Добавлено - - -

    Цитата Сообщение от HarrWe Посмотреть сообщение
    Ща проверю отпишусь



    А как надо тогда?
    Ты присваешься playerid значение, которое хранится в whocheckid, а надо ведь наоборот.
    То есть вместо playerid = whocheckid должно быть whocheckid = playerid;
    Но в твоем случае в SPD нужно просто вместе whocheckid использовать playerid, ибо ты все равно собираешься показывать этот диалог тому, кто ввёл команду.

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

    Если я правильно понял сис-му, то ты собираешься использовать потом whocheckid где-то, но для этого надо будет объявить её как
    PHP код:
    new whocheckid[MAX_PLAYERS]; 
    Потом в этой команде использовать таким образом:
    PHP код:
    whocheckid[checkerid] = playerid
    Последний раз редактировалось Skull; 18.08.2016 в 21:19.

  8. Пользователь сказал cпасибо:
    HarrWe (18.08.2016)
  9. #8
    Аватар для HarrWe
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.05.2016
    Сообщений
    144
    Репутация:
    11 ±
    Цитата Сообщение от Skull Посмотреть сообщение
    Или же просто использовать playerid в SPD. И, скорее всего, whocheckid должен быть объявлен так:
    PHP код:
    new whocheckid[MAX_PLAYERS]; 
    - - - Добавлено - - -



    Ты присваешься playerid значение, которое хранится в whocheckid, а надо ведь наоборот.
    То есть вместо playerid = whocheckid должно быть whocheckid = playerid;
    Но в твоем случае в SPD нужно просто вместе whocheckid использовать playerid, ибо ты все равно собираешься показывать этот диалог тому, кто ввёл команду.

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

    Если я правильно понял сис-му, то ты собираешься использовать потом whocheckid где-то, но для этого надо будет объявить её как
    PHP код:
    new whocheckid[MAX_PLAYERS]; 
    Потом в этой команде использовать таким образом:
    PHP код:
    whocheckid[checkerid] = playerid
    Всё заработало, спасибо, как то я сразу не понял... Спс дал)

 

 

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

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

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

Ваши права

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