Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 5 1 2 3 ... ПоследняяПоследняя
Показано с 1 по 10 из 43
  1. #1
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±

    dc_anims - все анимации GTA:SA в одном инклуде

    Список изменений:
    • v1.3.1 (20.12.2017):
      1. Устранён уход в бесконечный цикл в OnGameModeInit/OnFilterScriptInit, который возникал в сочетании с использованием fixes.inc (FIX_GetPlayerPoolSize).

    • v1.3 (15.07.2017):
      1. Добавлены макросы для отключения библиотек анимаций (DC_ANIMS_DISABLE__AIRPORT, DC_ANIMS_DISABLE__ATTRACTORS, ..., DC_ANIMS_DISABLE__WUZI). Пример использования см. в конце поста.
      2. Исправлена ошибка в обработке аргументов команды /anim, из-за которой не работали анимации.
      3. Предзагрузка анимаций у игроков сделана опциональной.
        Это должно помочь серверам избежать превышение лимита на кол-во пакетов от сервера к клиенту во время спавна (переменная "messageslimit" в server.cfg).
        По умолчанию предзагрузка включена, но теперь её можно отключить, объявив макрос DC_ANIMS__NO_PRELOAD_AT_SPAWN перед подключением dc_anims (см. пример ниже).
      4. В список добавлена анимация рыбалки ("SAMP:FishingIdle"), появившаяся в SA:MP 0.3.7.
        Итого теперь в инклуде 1872 анимации в 135 библиотеках.
      5. Исправлен баг с неправильным выводом названий в списке анимаций (проявлялось только при включении англ. языка с помощью макроса DC_ANIMS_LANG_EN).
      6. При выводе списка библиотек анимаций в конце строк больше не добавляются запятые.
        Благодаря этому получилось уместить список анимаций в 8 строк, чтобы при вводе пустой команды /anim выводилось 10 строк (ещё 2 на формат использования команды и итоги о кол-ве анимаций и библиотек).
        Теперь при стандартном кол-ве видимых строк чата (10) вам не придётся прокручивать чат, чтобы прочитать первые строки, выведенные командой.
      7. Исправлен баг, приводящий к выводу сообщения "Неизвестное название библиотеки" при вводе команды /anim без параметров (проявлялся только без командного процессора).
      8. Прочие мелкие изменения и улучшения.

    • v1.2 (05.04.2015):
      1. Исправлен баг, связанный с некорректной обработкой параметров в OnPlayerCommandText при использовании стандартных команд.

    • v1.1 (06.07.2014):
      1. Теперь инклуд можно использовать без ZCMD/DC_CMD (см.п. "Дополнительно").
      2. Убрано использование y_stringhash. Теперь dc_anims не зависит от сторонних инклудов/плагинов. Кроме того, значительно ускорена компиляция на оригинальном pawncc от SA:MP Team.
      3. Добавлена защита от повторного подключения инклуда для совместимости с модифицированной версией компилятора от Zeex.


    dc_anims.inc - библиотека эффективно организованных анимаций GTA:SA.
    Всего реализовано 1872 анимаций в 135 библиотеках.



    Прежде, чем кто-то скажет, что я взял анимации из работы OKStyle или из SA:MP wiki, посмотрите сюда.
    Вся работа делалась с чистого листа.

    Основные отличия от похожей работы OKStyle и от списка на SA:MP wiki:
      Открыть/закрыть
    • Больше анимаций:
        Открыть/закрыть
      BLOWJOBZ - 6 из 18 анимаций нет ни в wiki, ни в списке OKStyle.
      GFUNK, RUNNINGMAN, WOP - 3 библиотеки анимаций танца, в каждой по 33 анимации, ни одной нет в wiki и в работе OKStyle.
      SEX - 20 анимаций, ни одной нет в SA:MP wiki (Куй не одобряэ).
      SnM - 22 анимации, ни одной из них нет в wiki, 14 из 22 нет у OKStyle.

    • Возможность интеграции как в моды со стандартными командами, так и с использованием командных процессоров (ZCMD/DC_CMD).

    • Для ускорения доступа все анимации составлены в таблицу (вместо over9000 вызовов strcmp для поиска нужной библиотеки). При этом скрипт сравнительно мало весит (размер .amx - ~50Кб, если компилировать, как фильтрскрипт) и не требователен к памяти (всего ~91Кб). Кроме того, с такой организацией данных можно легко найти и удалить нужную анимацию/библиотеку (все библиотеки и анимации отсортированы в алфавитном порядке).

    • Возможность как использования работы в виде фильтрскрипта, так и её интеграции в мод (#include). При этом анимации будут предзагружены у игроков при запуске мода, если использовать работу, как инклуд, или при загрузке фильтрскрипта.

    • Поддержка русского и английского языков для сообщений.


    Размер AMX: ~54Кб
    Требуемый объём памяти: ~91Кб


    В работе реализованы:
    • Полный список анимаций, доступных в GTA:SA.
    • Список действий (танцы, распитие напитков, курение, etc.)
    • Предзагрузка библиотек анимаций.
    • Поддержка русского и английского языков (см. п. "Дополнительно").


    Команды:
    Код:
    /anim [набор] [ID анимации] - воспроизвести анимацию (без параметров - вывести список всех наборов анимаций)
    /stopanim - остановить анимацию
    /action [действие] - воспроизвести указанное действие (без параметров - вывести список всех действий)

    Использование:
    1. Скачать инклуд и поместить его в папку "pawno/include".
    2. Подключить инклуд к своему скрипту.
      PHP код:
      #include <a_samp>
      #include <dc_anims> 
    3. PROFIT


    Дополнительно:
    • Инклуд может работать как с командным процессором (DC_CMD/ZCMD), так и без него.
      Для использования командного процессора, подключите его перед подключением dc_anims.
      Примеры:
      PHP код:
      #include <a_samp>
      #include <dc_cmd>
      #include <dc_anims> // будет использоваться командный процессор DC_CMD 
      PHP код:
      #include <a_samp>
      #include <dc_anims> // командный процессор не указан, будут использоваться обычные команды 
    • В инклуде для вывода сообщений используются 2 цвета: синий (для обычных сообщений) и серый (для ошибок).
      Эти цвета можно изменить, объявив макросы DC_ANIMS_COLOR и DC_ANIMS_ERROR_COLOR перед подключением инклуда.
      Пример:
      PHP код:
      #include <a_samp>

      #define    DC_ANIMS_COLOR    "{00FF00}" // обычные сообщения будут зелёного цвета
      #define    DC_ANIMS_ERROR_COLOR    "{FF0000}" // ошибки - красного
      #include <dc_anims> 
    • Список действий в инклуде можно отключить, объявив перед подключением инклуда макрос DC_ANIMS_DISABLE_ACTIONS:
      PHP код:
      #include <a_samp>

      #define    DC_ANIMS_DISABLE_ACTIONS // убрать команду "/actions"
      #include <dc_anims> 
    • Язык текста в dc_anims можно переключить на английский, если перед его подключением добавить макрос DC_ANIMS_LANG_EN:
      PHP код:
      #include <a_samp>

      #define    DC_ANIMS_LANG_EN
      #include <dc_anims> 
    • По умолчанию включена предзагрузка библиотек анимаций при первом спавне игрока, однако её можно отключить, объявив макрос DC_ANIMS__NO_PRELOAD_AT_SPAWN:
      PHP код:
      #define    DC_ANIMS__NO_PRELOAD_AT_SPAWN
      #include <dc_anims> 
      Однако имейте в виду, что без предзагрузки команда /anim не будет срабатывать у игроков с первого раза.
    • Также, начиная с версии 1.3, появилась возможность отключать отдельные библиотеки анимаций. Рассмотрим эту возможность на примере отключения библиотек с "непристойными" анимациями:
      PHP код:
      #define DC_ANIMS_DISABLE__BLOWJOBZ
      #define DC_ANIMS_DISABLE__PAULNMAC
      #define DC_ANIMS_DISABLE__SEX
      #include <dc_anims> 



    Скачать: v1.3.1
    Автор: Daniel_Cortez
    Последний раз редактировалось Daniel_Cortez; 19.12.2017 в 22:23. Причина: v1.3.1
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  2. 17 пользователя(ей) сказали cпасибо:
    Avertus (06.07.2014) codeo (28.06.2014) DeimoS (28.06.2014) Gabriel (10.05.2015) iStrange (27.07.2014) L0ndl3m (28.06.2014) MR_BEN (13.07.2014) Nexius_Tailer (03.04.2016) Osetin (29.06.2014) Profyan (25.12.2015) Salvacore (07.07.2014) Seregamil (29.06.2014) Spectrum (28.06.2014) speeyx (26.01.2021) wAx (28.06.2014) XemyL (14.07.2014)
  3. #2
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    205
    Репутация:
    49 ±
    О, а я тоже свою обновил, но публиковать пока не хотел.

  4. #3
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    551
    Репутация:
    274 ±
    Цитата Сообщение от OKStyle Посмотреть сообщение
    О, а я тоже свою обновил, но публиковать пока не хотел.

  5. #4
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    205
    Репутация:
    49 ±
    Кстати, вот это, всё же, от меня))

    #if !defined SPECIAL_ACTION_PISSING
    #define SPECIAL_ACTION_PISSING 68
    #endif

  6. #5
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    ♔Osetia, Vladikavkaz♔
    Сообщений
    3,432
    Репутация:
    1093 ±
    Цитата Сообщение от OKStyle Посмотреть сообщение
    Кстати, вот это, всё же, от меня))
    lol, может уже хватит? Вроде бы в теме написано:

    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Прежде, чем кто-то скажет, что я взял анимации из работы OKStyle или из SA:MP wiki, посмотрите сюда.
    Вся работа делалась с чистого листа.

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от OKStyle Посмотреть сообщение
    Кстати, вот это, всё же, от меня))
    Константа SPECIAL_ACTION_PISSING была впервые описана здесь, а использование #if !defined вполне очевидно: чтобы избежать конфликтов с макросами из мода. Точно такой же приём используется и на других макросах в инклуде.
    По сути ты делаешь выводы из-за каких-то 3 совпавших строк. Причём в них даже не действия, а всего лишь константа, которая используется и в работах многих других скриптеров, иногда она там даже названа по-другому - к ним тоже будешь придираться?
    За сим претензию считаю абсолютно безосновательной.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  8. Пользователь сказал cпасибо:
    $continue$ (09.07.2015)
  9. #7
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    205
    Репутация:
    49 ±
    Цитата Сообщение от Osetin Посмотреть сообщение
    lol, может уже хватит? Вроде бы в теме написано:
    Вот ты сам посмотри ссылку сначала

    Daniel, не видел той темы, вывод сделал от того, что этот кусок - ну прямо 100% точь-в-точь. Я без претензий, если что.

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

    Статус
    Оффлайн
    Регистрация
    19.12.2013
    Сообщений
    86
    Репутация:
    17 ±
    У кого сколько времени это компилируется? Я уже минут двадцать жду… Так и должно быть?

  11. #9
    Аватар для OKStyle
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    12.05.2013
    Сообщений
    205
    Репутация:
    49 ±
    Из инклюда в мод не вставлял? Такое может быть из-за рекурсии, когда нарушен порядок описания функции и дефайна. Лучше дождитесь независимого инклюда с полными анимациями. Через день-два опубликую.

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    http://rghost.ru/56740334
    Компилируется за 5 секунд - вполне нормальное время для инклуда с 1800+ анимациями, в каждой из которых хеш-сумму вычисляет компилятор.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

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

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

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

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

Метки этой темы

Ваши права

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