Вопросы

R0m4ik
Новичок в PAWN

Привет всем пользователям pawno-rus.ru задаюсь вопросом как заменить обычный /alogin на запрос авторизации при вводе любой команды даже не существующей? Допустим мы ввели команду "/ksdjaksdsajk" и нас попросило авторизоваться в админку тем самым чтобы можно было заменить /alogin как так сделать?

Поделиться сообщением


Ссылка на сообщение

22 ответа на этот вопрос

  • 2
LoX_1337
Активный
  В 1/22/2022 в 14:55, R0m4ik сказал:

Вылетает Компилятор

Просто пустое окно а внизу пишет типо файл сохранен

Читать далее...  
public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (PlayerInfo[playerid][pAdmin] > 0 && AdminLogged[playerid] == false)
    {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
        return 0;
    }
    return 1;
}

Проверьте весь вставленный код, возможно где-то упущена скобка.

Отредактировано пользователем LoX_1337

Заметка от DEST , создано

Не нужно использовать кнопку "Цитата" при ответе на все сообщение. Для этого используйте кнопку "@ Ответить".
Цитата обычно применяется тогда, когда необходимо процитировать лишь часть текста.

Поделиться сообщением


Ссылка на сообщение
  • 1
Sleash
Завсегдатый
public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (PlayerInfo[playerid][pAdmin] > 0 && !AdminLogged[playerid])
    {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
    }
}

@R0m4ik Вот, это должно помочь.

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

Отредактировано пользователем Sleash`en

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@R0m4ik, используете ли какой-нибудь командный процессор? Если да, то какой? Команда /alogin в моде есть ведь?

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 09:12, Cawfee сказал:

@R0m4ik, используете ли какой-нибудь командный процессор? Если да, то какой? Команда /alogin в моде есть ведь?

Читать далее...  

Да zcmd, /alogin в моде есть.

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@R0m4ik, тогда просто в начало OnPlayerCommandReceived следует добавить вызов команды /alogin, если игрок является администратором. В результате, при вводе администратором любой команды, сначала будет вызвана команда /alogin, где осуществится процесс авторизации, затем - та команда, которую администратор вызывал изначально. Что-нибудь около такого:
 

public OnPlayerCommandReceived(playerid, cmdtext[]) {
    if (/* здесь проверка на администратора */) {
        cmd_alogin(playerid);
    }

    // здесь ваш код, если он есть
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 09:26, Cawfee сказал:

@R0m4ik, тогда просто в начало OnPlayerCommandReceived следует добавить вызов команды /alogin, если игрок является администратором. В результате, при вводе администратором любой команды, сначала будет вызвана команда /alogin, где осуществится процесс авторизации, затем - та команда, которую администратор вызывал изначально. Что-нибудь около такого:
 

public OnPlayerCommandReceived(playerid, cmdtext[]) {
    if (/* здесь проверка на администратора */) {
        cmd_alogin(playerid);
    }

    // здесь ваш код, если он есть
}

 

Читать далее...  

Я вставил код но появилась проблема при компиляции появляется появлялся варнинг а после проверки вылетел сервер + мод перестал компилиться вот мой код:

public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (PlayerInfo[playerid][pAdmin] > 0) {
        cmd_alogin(playerid);
    }
    format(totalstring, 256, "{ffffff}Введите Ваш пароль от админ.доступа",PlayerInfo[playerid][pSendername],PlayerInfo[playerid][pAdmin]);
    ShowPlayerDialog(playerid, D_ALOGIN, 1, "{ffffff}Авторизация", totalstring, "Далее",">>>");
}

  

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@R0m4ik, тогда уж приводите к такому виду:

public OnPlayerCommandReceived(playerid, cmdtext[]) {
    if (PlayerInfo[playerid][pAdmin] > 0) {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
    }
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Sleash
Завсегдатый

@R0m4ik  + Сервер скорее всего вылетел из-за format, так как не было запроса на переменные, но вы их впихнули после текста.

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 10:24, Cawfee сказал:

@R0m4ik, тогда уж приводите к такому виду:

public OnPlayerCommandReceived(playerid, cmdtext[]) {
    if (PlayerInfo[playerid][pAdmin] > 0) {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
    }
}

 

Читать далее...  

Казалось бы все отлично но как теперь решить эту проблему? 

 

https://youtu.be/HTPZI_PVZKc если что могу скинуть код где пишет сообщение "Вы авторизовались!" и /alogin могу скинуть

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 11:07, Sleash`en сказал:

@R0m4ik дайте код диалога, к которому ведёт /alogin

Читать далее...  

Вот /alogin

 

CMD:alogin(playerid, params[])
{
    if(PlayerLogged[playerid] == 0return 1;
    if(PlayerInfo[playerid][pAdmin] < 1return 1;
    if(AdminLogged[playerid] == truereturn SendClientMessage(playerid, COLOR_GREY, "Вы уже авторизованы!");
    format(totalstring, 256"{ffffff}Введите Ваш пароль от админ.доступа",PlayerInfo[playerid][pSendername],PlayerInfo[playerid][pAdmin]);
    ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация", totalstring, "Далее",">>>");
    return true;
}

А вот Диалог D_ALOGIN

 

        case D_ALOGIN:
        {
            if(response)
            {
                if(!strlen(inputtext))
                {
                    format(totalstring, 256"{ffffff}Введите Ваш пароль от админ.доступа",PlayerInfo[playerid][pSendername],PlayerInfo[playerid][pAdmin]);
                    ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация", totalstring, "Далее",">>>");
                }
                else if(!strcmp(inputtext, GetAccount(PlayerInfo[playerid][pSendername], "dostup"), true))
                {
                    AdminLogged[playerid] = true;
                    SendClientMessage(playerid, COLOR_GREY, " Вы авторизовались!");
                    TogglePlayerAdminAuthorization(playerid, !IsAdminAuthorized(playerid));
                    if(IsAdminAuthorized(playerid))
                    return 1;
                }
                else
                {
                    SendClientMessage(playerid,COLOR_LIGHTRED, " Вы ввели неверный пароль!");
                    Kick(playerid);
                    format(string, 128" %s не прошел авторизацию в админ.панеле ( IP: %s )",PlayerInfo[playerid][pSendername],PlayerInfo[playerid][pIP]);
                    SendAdminMessage(0xFF4FD9FF, string);

                }
            }
            else { format(string, 128" %s отказался авторизовываться в админке ( IP: %s )",PlayerInfo[playerid][pSendername],PlayerInfo[playerid][pIP]); SendAdminMessage(0xFF4FD9FF, string); Kick(playerid); }
        }

 

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 11:25, Sleash`en сказал:
public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (PlayerInfo[playerid][pAdmin] > 0 && AdminLogged[playerid] == false)
    {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
    }
}

@R0m4ik Вот, это должно помочь.

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

Читать далее...  

Это помогает но теперь перестали работать команды. Может ли быть это связано с тем что у меня в OnPlayerCommandPerformed стоит это вобще на сервере когда ввожу команду после авторизации в админке ничего не происходит даже не пишет это сообщение

    #pragma unused cmdtext
    if(!success) return SendClientMessage(playerid,-1," Такой команды не существует, команды сервера вы можете посмотреть в {00ff00}/help");

 

Отредактировано пользователем R0m4ik

Поделиться сообщением


Ссылка на сообщение
  • 0
Sleash
Завсегдатый

@R0m4ik 

попробуйте так:

if(success == -1) return SendClientMessage(playerid,-1," Такой команды не существует, команды сервера вы можете посмотреть в {00ff00}/help");

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 11:41, Sleash`en сказал:

@R0m4ik 

попробуйте так:

if(success == -1) return SendClientMessage(playerid,-1," Такой команды не существует, команды сервера вы можете посмотреть в {00ff00}/help");
Читать далее...  

Не работает. UPD: Убрал строку с сообщение что кмд не существует а проблема с /alogin так и осталась

Отредактировано пользователем R0m4ik

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@R0m4ik, вы вводите какую-нибудь команду. Появляется окно с предложением ввести пароль администратора. Вводите. И далее ничего не происходит? А если опять набрать команду?

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 13:00, Cawfee сказал:

@R0m4ik, вы вводите какую-нибудь команду. Появляется окно с предложением ввести пароль администратора. Вводите. И далее ничего не происходит? А если опять набрать команду?

Читать далее...  

да я ввожу пароль от админки пишет что я авторизовался но если ввести существующею команду допустим /a, /mm/ /admins, в чат ничего не напишет и консоли тоже 0 реакций.

Не напишет даже "Введите /a [слово]"

И такая фигня будет твориться даже если вы игрок.

Отредактировано пользователем R0m4ik

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN
  В 1/22/2022 в 14:21, Cawfee сказал:

@R0m4ik, как сейчас выглядит OnPlayerCommandReceived?

Читать далее...  

@Cawfee вот так 

public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (PlayerInfo[playerid][pAdmin] > 0 && AdminLogged[playerid] == false)
    {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
    }
}

 

Отредактировано пользователем R0m4ik

Поделиться сообщением


Ссылка на сообщение
  • 0
LoX_1337
Активный

@R0m4ik

public OnPlayerCommandReceived(playerid, cmdtext[])
{
    if (PlayerInfo[playerid][pAdmin] > 0 && AdminLogged[playerid] == false)
    {
        ShowPlayerDialog(playerid, D_ALOGIN, 1"{ffffff}Авторизация""{ffffff}Введите Ваш пароль от админ.доступа""Далее",">>>");
    }
    return 1;
}

Отредактировано пользователем Cawfee

Поделиться сообщением


Ссылка на сообщение
  • 0
R0m4ik
Новичок в PAWN

Вылетает Компилятор

Просто пустое окно а внизу пишет типо файл сохранен

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • ВасилийСталин
      От ВасилийСталин


      Скачать файл Fox rp | Уникальный мод с 0 под открытие | UPDATE
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
      Добавил ВасилийСталин Добавлено 14.08.2025 Категория Моды Автор Abeme  
    • ВасилийСталин
      От ВасилийСталин
      Здравствуйте уважаемые форумчане!
      Выкладываю на продажу мод написанный с нуля Fox rp. Мод имеет много красивого 3д маппинга, систем по типу квестов, динамического текста над актерами во время общения с ними, система загрязнения транспорта (имеется маппинг автомойки) мод подходит под основу и нуждается в доработках.
      В комплекте с модом вы получаете:
      1. Игровую сборку в которую входит:
      1.1. AVF плагин
      1.2. Приватные модели авто и скинов
      1.3. Под все транспортные средства были реалистично изменены настройки скорости и физика авто
      1.4. Изменены звуки
      !!! Чтобы скачать сборку нужно открыть txt файл в папке с модом там будет ссылка на сборку
      2. Игровой мод:
      2.1. Мод
      2.2. cef. Уже подключен на веб хостинг при необходимости можно заменить
      Мод будет дорабатываться и опубликовываться на этом форуме, ценник будет выше но если купите мод то доплачивать не придется, сможете сразу скачать новую версию.
       
      Связь: vk.com/nastelectric
       
    • Kasper0
      От Kasper0


      Скачать файл Kaif RP (Новая версия + карта)
      Продажа мода KAIF CRMP// Новая версия
       
      Характеристики мода:
       
      Процессор: PAWN.CMD
      Кол-во строк в моде: 60+k
      Режим: RolePlay
      Автор и разработчик: Максим Зуев

      Посла оплаты обратитесь в ЛС,для предоставления дополнительных файлов.

      В комплекте:

      — Мод (+бэкапы);
      — Новая карта с клиентом + машины и скины;
      — Лаунчер(2 версии);
      — База-данных (полная с аккаунтами);
      — Чат-боты;
      — Сайт, система логов со всеми исходниками;
      — CEF (c исходниками)

      Системы в моде:
      — Полная адаптация под телефоны;
      — Абсолютно новая система светофоров (Штрафы за проезд на красный);
      — Биржа обмена;
      — Красивые интерьеры;
      — Уникальня система репорта;
      — Система ТОП ДОНАТЕРОВ;
      — Подарки за пополнение счета (Донат);
      — Возможность создавать маппинг прямо из игры;
      — Система тюнинга (Обвесы и т.д);
      — Мероприятие "Мясорубка";
      — Система ГОНКИ;
      — Бойцовский клуб;
      — Баня для отдыха;
      — BATTLE ROYALE;
      — Дуэли;
      — Прыжки с парашютом;
      — Система Контейнеров;
      — Система Автоугонщиков;
      — Работа мусорщиком;
      — Валюта EURO;
      — Система VIP'ок (Ruby, Sapphire, Emerald, Diamond);
      — Система штрафстоянок;
      — Работа ХИТМАНОМ (Заказные убийства);
      — Система Гос.Волны (/editgov);
      — Система рефералок (/referals);
      — Система друзей (/friends);
      — Система Ивентов, итоги в конце недели (Лучший Гос.служащий,Лучший убийца, Лучший тащер, Лучший армеец);
      — Система аксессуаров;
      Добавил Kasper0 Добавлено 29.08.2025 Категория Моды Автор Максим Зуев  
    • Kasper0
      От Kasper0
      Продажа мода KAIF CRMP// Новая версия
       
      Характеристики мода:
       
      Процессор: PAWN.CMD
      Кол-во строк в моде: 60+k
      Режим: RolePlay
      Автор и разработчик: Максим Зуев

      Посла оплаты обратитесь в ЛС,для предоставления дополнительных файлов.

      В комплекте:

      — Мод (+бэкапы);
      — Новая карта с клиентом + машины и скины;
      — Лаунчер(2 версии);
      — База-данных (полная с аккаунтами);
      — Чат-боты;
      — Сайт, система логов со всеми исходниками;
      — CEF (c исходниками)

      Системы в моде:
      — Полная адаптация под телефоны;
      — Абсолютно новая система светофоров (Штрафы за проезд на красный);
      — Биржа обмена;
      — Красивые интерьеры;
      — Уникальня система репорта;
      — Система ТОП ДОНАТЕРОВ;
      — Подарки за пополнение счета (Донат);
      — Возможность создавать маппинг прямо из игры;
      — Система тюнинга (Обвесы и т.д);
      — Мероприятие "Мясорубка";
      — Система ГОНКИ;
      — Бойцовский клуб;
      — Баня для отдыха;
      — BATTLE ROYALE;
      — Дуэли;
      — Прыжки с парашютом;
      — Система Контейнеров;
      — Система Автоугонщиков;
      — Работа мусорщиком;
      — Валюта EURO;
      — Система VIP'ок (Ruby, Sapphire, Emerald, Diamond);
      — Система штрафстоянок;
      — Работа ХИТМАНОМ (Заказные убийства);
      — Система Гос.Волны (/editgov);
      — Система рефералок (/referals);
      — Система друзей (/friends);
      — Система Ивентов, итоги в конце недели (Лучший Гос.служащий,Лучший убийца, Лучший тащер, Лучший армеец);
      — Система аксессуаров;
    • sinvays
      От sinvays
      Всем доброй ночи, не уверен где можно создавать тему, так что решил создать её здесь;
       
      Хочу поделиться важной информацией. Если вы используете SKY плагин вместе с weapon-config, или вместо связки Pawn.RakNet + weapon-config, стоит быть внимательными. В последних версиях плагина (v2.3.2 и ниже) обнаружена критическая уязвимость, которая уже используется злоумышленниками
      Суть проблемы в том, что через специально подготовленные пакеты VehicleSync (ID 200) можно вызвать массовое отключение игроков. Например, с 90 до 10 всего за несколько секунд. Сервер при этом не падает, ошибок в логах почти нет, но игровой процесс полностью нарушается. Уязвимость можно использовать удалённо, без авторизации. Она создаёт DoS эффект и вызывает лаги и нестабильность сервера.
       
      Если есть возможность, лучше перейти на Pawn.RakNet. Исключение составляют случаи, когда есть конфликты с другими плагинами, например SAMPVoice или FCNPC, и смена архитектуры невозможна.
       
      Проверьте свои сервера, предупредите других людей и по возможности обновите связку 🙂
      Подробнее:
      https://github.com/oscar-broman/SKY/issues/68