Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include QFWA - Quick Functions Without Arguments

FWA

Дебютант
Quick Functions Without Arguments / Быстрые функции без аргументов​

  • Что это?
    Инклуд, или же просто несколько макросов, которые позволяют создавать быстровызываемые функции, действительно быстрее обычных и занимающие меньше памяти.

  • Как это работает?
    Метод основан на автовызываемой функции entry() и автоматонах в PAWN, упрощен 2-мя макросами

  • Особенности метода
    • FWA-функцию можно вызывать лишь из того места, где она была создана. К примеру, вы не можете вызвать функцию, созданную в моде из FS, и наоборот (при попытке вызова будете получать несколько ошибок при компиляции).
    • Вызов FWA-функции нельзя возвращать или использовать через запятую. Вызов должен быть исключительно с новой строчки (см. макрос CallFWA).
    • Данные, возвращаемые FWA-функцией, нельзя нигде получить. Рекомендовано возвращать 1/true, ибо нет смысла возвращать что-то другое.
    • Объявлять новую FWA-функцию нужно по принципу паблика, стока или обычной функции. Смотрите примеры ниже
    • Функция не может содержать никаких аргументов! При попытке добавить их, вы просто не сможете скомпилировать скрипт

  • Примеры использования
    Код:
    CallFWA: имя функции() - вызов быстровызываемой функции
    FWA: имя функции() - создание быстровызываемой функции
    Код:
    public OnGameModeInit()
    {
    	CallFWA: LoadHouses();
    }
    
    FWA: LoadHouses()
    {
    	//Здесь, вы можете загружать и работать с любыми данными. 
    }
    Аналогично варианту предоставленному ниже, но в разы быстрее.
    Код:
    public OnGameModeInit()
    {
    	LoadHouses();
    }
    
    LoadHouses() //или же stock/public
    {
    	//Здесь, вы можете загружать и работать с любыми данными. 
    }
  • Автор
    Автор я. Я не являюсь пользователем этого форума, зарегистрировался здесь исключительно для того, чтобы выложить эти макросы. FWA - не мой настоящий ник. Я не знаю, что получится из этого инклуда/макросов, поэтому не рискнул выложить их от своего реального имени.
  • Скачивание и подключение инклуда
    Код инклуда вы можете взять (не удивляйтесь тому, что кода так мало)
    Для установки, создайте любой .inc файл в вашей папке с инклудами и поместите туда код, который предоставлен по ссылке выше, после чего подключите его в вашем моде/FS. Если вы не желаете создавать новый инклуд, просто поместите эти 2 макроса в самый верх вашего мода/FS.
 
Последнее редактирование модератором:
Сверху Снизу