Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 15
  1. #1
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    157
    Репутация:
    8 ±

    Доступ к RCON логированию

    Думал над тем, как дать доступ к RCON логированию только определенному ника, вот набросал пример быдлокодом. Без if(success || !success) скрипт отказывался работать, протестил - все работает как надо.

    #include <a_samp>

    PHP код:
    public OnRconLoginAttempt(ip[], password[], success)
    {
        new
            
    getip[16+1],
            
    sendername[MAX_PLAYER_NAME];
    #if defined foreach
        
    foreach(new Player)
    #else
        
    for(new GetPlayerPoolSize(); != -1i--)
    #endif
        
    {
            
    GetPlayerIp(igetipsizeof(getip));
            if(!
    strcmp(ip,getip,true))
            {
                
    GetPlayerName(isendernamesizeof(sendername));
                if(
    strcmp(sendername,"Ваш ник"false)) // Если ники не совпадают - кик
                
    {
                    
    Kick(i);
                    
    printf("Игрок %s [%d] был кикнут, попытка RCON логирования."sendernamei);
                    break;
                }
            }
        }
        return 
    1;

    Последний раз редактировалось Иван Бубнов; 15.03.2016 в 16:43.

  2. #2
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Что ты данной проверкой хотел сказать коду?
    PHP код:
    if(success || !success
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  3. #3
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    157
    Репутация:
    8 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Что ты данной проверкой хотел сказать коду?
    PHP код:
    if(success || !success
    а он по другому никак не реагировал.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Иван Бубнов Посмотреть сообщение
    Думал над тем, как дать доступ к RCON логированию только определенному ника, вот набросал пример быдлокодом. Без if(success || !success) скрипт отказывался работать, протестил - все работает как надо.

    PHP код:
    return printf("Игрок %s [%d] был кикнут, попытка RCON логирования."sendernamei); 
    логиниться и логировать разные вещи вроде бы..

    И ещё про этот паблик не знаю, но в других где в аргументах есть playerid,
    вот там сперва выводятся все месседжи, логи и т.п., а потом уже кикает или банит злодея ;)

    Ещё + к тому что тут цикл, и тут если не ошибаюсь надо не return, а continue или break..
    Последний раз редактировалось vovandolg; 14.03.2016 в 01:18.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    Скажите пож, для какой цели в коде присутствуют вот эти строки:
    PHP код:
            #if defined foreach 
            #else 
            #endif 

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от BadPawn Посмотреть сообщение
    Скажите пож, для какой цели в коде присутствуют вот эти строки:
    PHP код:
            #if defined foreach 
            #else 
            #endif 
    Я так понял если у тебя в моде отсутствует инклуд foreach.inc ему на замену идёт внутреигровой перебор через GetPlayerPoolSize()
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    13.10.2015
    Сообщений
    516
    Репутация:
    21 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Я так понял если у тебя в моде отсутствует инклуд foreach.inc ему на замену идёт внутреигровой перебор через GetPlayerPoolSize()
    Верно, если нету foreach, переходим к циклу..

  8. #8
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    157
    Репутация:
    8 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    логиниться и логировать разные вещи вроде бы..

    И ещё про этот паблик не знаю, но в других где в аргументах есть playerid,
    вот там сперва выводятся все месседжи, логи и т.п., а потом уже кикает или банит злодея ;)

    Ещё + к тому что тут цикл, и тут если не ошибаюсь надо не return, а continue или break..
    Я буду принимать ваши комментарий за адекватную критику, после восстановления LessGlobal Rp

  9. #9
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Так на пальцах поясни, что ты хотел сказать этим?
    Цитата Сообщение от Иван Бубнов Посмотреть сообщение
    а он по другому никак не реагировал.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  10. #10
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Этот public срабатывает когда вводится ркон(независимо верный пасс или нет),
    в этом случае можно убрать эти два значения, ибо делали их для других отдельных целей.
    PHP код:
    if(success || !success//пароль верный или не верный, убрать их обоих и будет тоже самое 
    У себя проверил только что работало без этих двух значений,
    ты скорее всего одно значение оставлял и метался с восклицательный вставить или не вставить,
    вот и вышло что влепил два значения или я не прав?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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