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

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

    UIS - Защита от быстрого коннекта

    UIS (version 1.0)

    Автор скрипта: Undertaker
    Инклуд позволяет установить время до следующего коннекта на сервер (а-ля самп-рп).

    Установка:
    - Если инклуд подключается через фильтрскрипты, до добавления инклуда разкоментируйте #define FILTERSCRIPT
    - В случае с модом от Вас только требуется подключить инклуд и ВСЕ.

    Настройка:
    UND_WAIT_TIME - здесь можете указать время (в секундах) до следующего коннекта (по умолчанию 10)
    MAX_DISCONNECT_SLOTS - количество слотов для записи (по умолчанию 20)

    Если игрок будет обнаружен в любом из слотов, он будет кикнут, второго вызова OnPlayerConnect не будет.

    Скачать:
    http://pastebin.com/h2qbn5JW
    http://my-files.ru/hj37us
    Последний раз редактировалось Undertaker; 13.11.2016 в 20:37.

  2. Пользователь сказал cпасибо:
    Иван Бубнов (16.11.2016)
  3. #2
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    1. Очень серьёзная ошибка заключается в том, что глобальные переменные определены с помощью оператора new, который включает данные переменные в глобальную зону видимости. Это может вызвать ошибки, особенно, если в коде уже присутствует переменная с таким именем. Я рекомендую определить глобальные переменные с помощью оператора static, который не включает переменные в глобальную зону, а оставляет видимыми только лишь в файле.
    2. Используйте file guard, который не позволит включить ваш файл второй раз. Тем более, что это избавит вас от разнообразных ошибок с именами и т.п.
    3. Это не очень эффективный способ исправления проверок с strcmp. Зачем? Вы можете проверить первый символ массива на нуль.
    PHP код:
    for(new iMAX_DISCONNECT_SLOTSi++)
    {
          
    und_disc_slots[i] = "NaN"//обход бага с нуль символом (for strcmp)

    4. Непонятный код в OnFilterScriptInit, который вряд ли будет работать (строки 70-73).
    PHP код:
            #if defined UIS_OnPlayerDisconnect
                
    UIS_OnPlayerDisconnect(playeridreason);
            
    #endif
            
    return 1
    5. Можно было использовать упакованные строки и оператор char, чтобы сэкономить расходуемое пространство.
    Последний раз редактировалось VVWVV; 13.11.2016 в 20:23.

  4. 3 пользователя(ей) сказали cпасибо:
    Geebrox (13.11.2016) Osetin (13.11.2016) Undertaker (13.11.2016)
  5. #3
    Аватар для Undertaker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.11.2016
    Сообщений
    4
    Репутация:
    0 ±
    ОБНОВЛЕНО!

    1) Учел.
    2) Проблема исчезла в исправлении 1 пункта

    Цитата Сообщение от VVWVV Посмотреть сообщение
    Вы можете проверить первый символ массива на нуль.
    3) Могу
    4) CTRL+C с OnPlayerConnect :) Забыл, ибо компилятор ошибок не выдало, так что виноват он.
    5) ...

 

 

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

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

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

Ваши права

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