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

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

    Begging - система попрошайничества

    Begging - полноценный готовый скрипт для системы попрошайничества, а-ля Arizona RolePlay.

    Коллбэк:
    • OnPlayerBeggingPay(playerid, money) - основной паблик для выдачи денег.


    Функции:
    • beg_GetPlayerType - узнать тип попрошайничества. Параметры: playerid (id игрока). Возвращаемые значения: 0 - от имени себя, 1 - под покровительством мафии.
    • beg_switchForPlayer - начать / завершить попрошайничество. Параметры: playerid (id игрока). Всегда возвращает истину.
    • beg_switchPlayerRetainerToMafia - исключить / взять под покровительство мафии. Параметры: playerid (id игрока из мафии), targetid (id игрока попрошайки), mafianame (название мафии (организации)). Возвращает: BEGGED_FAIL_INVITE - при неудачной выполнении, BEGGED_SUCCESS_INVITE - удачно.


    Для работы инклуда требуется стример, при подключении инклуда в фильтрскрипт, необходимо выше добавить: #define FILTERSCRIPT.

    Настройки:
    BEG_REPRINT_SEC - ограничение по времени на повторное использование функции beg_switchForPlayer (анти-флуд)
    BEGGED_ANTI_FLOOD_SEC - время антифлуда в секундах.
    BEG_PAY_TIME- интервал между выдачей денег
    BEG_INDIVIDUAL_MONEY - сколько денег выдавать каждые BEG_TYPE_SEC (для игроков, попрошайничающих без покровительства мафии)
    BEG_MAFIA_MONEY - сколько денег выдавать каждые BEG_TYPE_SEC (для игроков, попрошайничающих под покровительством мафии)
    beg_varshars - в этой переменной хранятся все строковые данные (игровые сообщения, показываемые игрокам, опционально).
    beg_forbidden_cords - координаты запрещенных мест для попрошайничества (x, y, z)

    Ссылки:
    Скачать
    Узреть код
    Пример использования (временно удалена)
    Последний раз редактировалось #iDanny; 07.03.2018 в 21:28. Причина: v1.2.1

  2. #2
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    1) Используйте единый стиль для именования функций. Кроме того, если вы уже начали делать префиксы для названий, то сделайте их для каждой функции одинаковыми.
    2) Переменная BeggingInfo может конфликтовать с другими переменными, поэтому лучше объявить её статичной.
    3) Магические числа - зло. Особенно в циклах.
    4) Очень странное подключение библиотек:
    PHP код:
    #if !defined OnPlayerConnected
            #include <a_samp>
    #endif

    #if !defined CreateDynamicObject
            #include <streamer>
    #endif 
    5) Перечисление str_begs может конфликтовать с другими перечислениями.
    6) Объявите все функции статичными, которые не должны быть использованы в коде пользователя.

    P.S. Чувствую себя синтаксическим анализатором от PVS-Studio.

  3. 2 пользователя(ей) сказали cпасибо:
    #iDanny (07.03.2018) Daniel_Cortez (06.03.2018)
  4. #3
    Аватар для #iDanny
    Пользователь

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

    1. Уже подумывал над этим, впрочем так и сделано в новой версии, сейчас доделаю с учетом ваших рекомендации и обновлю. кодекс написан для пиратов и в нем лишь рекомендации, а не свод правил (с) Пираты из карибского моря.
    2. Вряд-ли, не думаю что кто нибудь решится объявлять в своих скриптах именно такую переменную, но это неправильно. Согласен, учту.
    3. Учтено.
    4. Была мысля, что если инклуд подключается дважды, то и в коде пользоваться окажется повторение библиотек. Но с подключениями да, обложался немного, делал ночью и что-то не заметил OnPlayerConnected.
    5. Это почему?
    6. Будет в новой версии.
    _____________________________

    Спасибо за адекватную критику, сразу заметна разница между форумами.

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

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

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

    Статус
    Оффлайн
    Регистрация
    02.11.2016
    Сообщений
    131
    Репутация:
    23 ±
    Цитата Сообщение от #iDanny Посмотреть сообщение
    VVWVV,

    1. Уже подумывал над этим, впрочем так и сделано в новой версии, сейчас доделаю с учетом ваших рекомендации и обновлю. кодекс написан для пиратов и в нем лишь рекомендации, а не свод правил (с) Пираты из карибского моря.
    2. Вряд-ли, не думаю что кто нибудь решится объявлять в своих скриптах именно такую переменную, но это неправильно. Согласен, учту.
    3. Учтено.
    4. Была мысля, что если инклуд подключается дважды, то и в коде пользоваться окажется повторение библиотек. Но с подключениями да, обложался немного, делал ночью и что-то не заметил OnPlayerConnected.
    5. Это почему?
    6. Будет в новой версии.
    _____________________________

    Спасибо за адекватную критику, сразу заметна разница между форумами.
    Она заметна не форумами, а пользователями которыми на них сидят.
    На этом форуме сидят более прошаренные пользователи, если вы про g-i, то да, там менее прошаренные пользователи, хотя и на том форуме тоже сидят множество с этого портала.

 

 

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

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

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

Ваши права

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