MuhammadPawn

инклуд
ViHouse - Библиотека для создания домов на сервере

В теме 1 сообщение

Всем привет решил написать свою систему домов для Модов с 0, и RLS

Данный инклуд позваляет настроить систему домов под себя, хоть как.
Всё настраивается с помощью define 

 

Все define доступные для изменения и использования и примеры:

 

Спойлер
HOUSE_SYSTEM_TEXT_SALE - Хранит информацию что будет показываться когда дом куплен
HOUSE_SYSTEM_TEXT_SALE_FORMAT - Был создан для редактирования параметров вывода текста в HOUSE_SYSTEM_TEXT_SALE

Пример использования:

#define HOUSE_SYSTEM_TEXT_SALE "Дом продаёться\n Цена %d"
#define HOUSE_SYSTEM_TEXT_SALE_FORMAT HOUSE_PRICE
HOUSE_SYSTEM_TEXT_OWNER - Хранит информацию что будет показываться когда дом куплен
HOUSE_SYSTEM_TEXT_OWNER_FORMAT - Был создан для редактирования параметров для вывода текста в HOUSE_SYSTEM_TEXT_OWNER

Пример использования:

#define HOUSE_SYSTEM_TEXT_OWNER "Дом куплен\n Хозяин: %s\nЦена: %d"
#define HOUSE_SYSTEM_TEXT_OWNER_FORMAT HOUSE_OWNER,HOUSE_PRICE

Доступные define для использования в HOUSE_SYSTEM_TEXT_OWNER_FORMAT и HOUSE_SYSTEM_TEXT_SALE_FORMAT:

HOUSE_PRICE - Цена дома
HOUSE_OWNER - Цена дома
HOUSE_POZISION - Кординаты дома (X, Y, Z)
HOUSE_POZISION_ENTER - Кординаты входа в дом (X, Y, Z)
HOUSE_ID_PICKUP - Ид пикапа который будет стоять у дома (пока токо стоит 1 при купленом\проданом, в след версии будет доступна 2 вида)

Пример использования: 

#define HOUSE_ID_PICKUP 1273
SYSTEM_HOUSE_ENTER - Разрешает Include входить в интерьеры дома (стандартными методами)

Пример использования:

#define SYSTEM_HOUSE_ENTER
SYSTEM_HOUSE_EXIT - Разрешает Include выходить из домов (если вы не собираетесь делать настройки дома, то можно включить эту функцию)

Пример использования:

#define SYSTEM_HOUSE_EXIT
HOUSE_KEY_ENTER - Установить ID клавиши который будет отвечать за вход\выход из дома (работает даже при отключённых параметрах SYSTEM_HOUSE_ENTER и SYSTEM_HOUSE_EXIT)

пример использования:

#define HOUSE_KEY_ENTER 1024 // ALT

 

 

Примечание: Прописывать все использованные define до подключения Include

 

Доступные функции и Автовызваемые Public

 

Спойлер

public OnPlayerKeyHouse(playerid, house_id, statis) - Вызывается когда игрок нажал клавишу указанную в HOUSE_KEY_ENTER около дома\в доме
 

playerid - id игрока
house_id - id дома у которого\в котором была нажата клавиша
statis - Статус где нажата 0 - На улице, 1 - В доме

Create_House_System - Функция которая создаёт дом, возвращает ид созданного дома

price - Цена
X,Y,Z - Где будет стоять дом
EX,EY,EZ - кординаты интерьера дома
Int - Ид интерьера дома

Get_System_House_Owner - Узнать владельца дома, параметры:

id - ID дома у которого надо узнать кто владелец (None - дом не чей) возвращает string

Set_System_House_Owner - Установить владельца для дома, параметры:

id - Ид дома
Owner - Имя к которому будет привязан дом (Имя владельца)

Get_System_House_price - Узнать цену дома, параметры:

id - Ид дома у которого надо узнать цену

Get_System_House_Pos - узнать позицию дома

Id - Ид дома у которого надо узнать кординаты 
&X,&Y,&Z - Возвращает кординаты дома по X,Y,Z (Float)

Get_System_House_Pos_Enter - узнать кординаты интерьера дома 

id - Ид дома у которого надо узнать кординаты 
&EX, &EY, &EZ - вернёт X,Y,Z кординаты интерьера (Float)
&Int - Вернёт интерьер который установлен в данном доме

 

Для работы требуется: sscanf 

 

Что планируется в след версиях:

Спойлер

1. Выбор загрузки\сохранения домов mxINI или MySQL

2. Добавить возможность ставить 2 вида пикапа когда дом куплен\продан

3. Добавить информацию куплен дом или нет (при вызове OnPlayerKeyHouse)

4. Добавить систему гаражей,Улучшений,ну и карту для сайта (если кому надо будет)

5. Создание команд и поддержку всех командных процессоров 

6. Добавить Закрытие\Открытие дома

 

Также вы можете предложить свои идеи для Include в комментариях 

Группа разработчиков: Victor's Studio

 

P.S: работает и в CR:MP 0.3e

 

Скачать: ViHouse.inc

Отредактировано пользователем MuhammadPawn

4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Weishaypt
      От Weishaypt
      Автор плагина: urShadow
      Адаптировал для 0.3e: H-U-N-T-E-R
    • MuhammadPawn
      От MuhammadPawn
      Данный include позволит защитить сервер от копирования объектов (когда на ваш сервер заходят люди с Map Plus и копируют весь маппинг) Что-бы использовать данный include вам просто надо подключить его после a_samp, если вы используете streamer то подключайте после него (для коренной работы)
      пример без streamer'a
      #include a_samp #include AntiMapPlus пример с streamer'om
      #include a_samp #include streamer #include AntiMapPlus Разработчик MuhammadPawn (Victor's Studio)
      если найдёте ошибки пишите в ниже в коменты 
      Скачать (github)
      Скачать с сервера форума: 
      AntiMapPlus.inc
    • Гость stibs
      От Гость stibs
       
      iMenu.inc
      v1.1
      by iAmir(aka: amirab)
       
      ОБЩАЯ ИНФОРМАЦИЯ: 
      Меню кликабельных текстдравов, сделанных с помощью iPleomax TextDraw Editor. 
      Данная штуковина может использоваться для магазинов, инвентарей  и пр. 
      ВНИМАНИЕ! Инклуд использует TextDrawPrewievModel, а значит не будет поддерживаться версией, меньше чем 0.3x. Для корректной работы инклуда рекомендуется использовать версию 0.3.7. 
      ЛОГ ИЗМЕНЕНИЙ: 
      19/06/2017 - v1.1 • Увеличение лимитов предметов на каждое меню до 16! • Добавлены параметры для изменения цветов разных частей меню (подробнее далее) • Добавлен новый параметр 'modelid' в 'iMenuPlayerResponse' ФУНКЦИИ И ДЕТАЛИ: 
      stock iMenu_ShowForPlayer(playerid , im_menuid , im_caption[] , framecolor = 128 , headercolor = 128 , bordercolor = -5963521 , captioncolor = -5963521 , buttoncolor = 255 , mainbuttontextcolor = 0xFFFFFFFF , noprevtextcolor = 0xFFFFFFFF) // Покажет само меню для игрока, а также делает меню готовым для добавления элементов // playerid - ИД игрока, которому показываем // im_menuid - ИД меню (можно задефайнить для удобства) // id_caption[] - заголовок меню // остальные параметры - цвета, подробнее далее stock iMenu_AddItem(playerid , im_item_number , im_item_string[] , im_description[] , im_preview_model = -1 , Float:im_rx = 0.0 , Float:im_ry = 0.0 , Float:im_rz = 0.0 , Float:im_zoom = 1.0 , itemtextcolor=0xFFFFFFFF ,desc_col=-5963521, previewbg = 255 , vehcol1=-1 , vehcol2=-1) // добавляет элементы для меню. В версии 1.0.0 макс. 12, в версии 1.1 - макс. 16 // playerid - ид игрока // im_item_number - номер от 0 до (версия 0.0 - 12, версия 1.1 - 16 ) // im_item_string[] - название строки в меню // im_description[] - описание предмета при его выделении // im_preview_model - ид модельки для превью. Можно оставить пустым (или -1), тогда будет показан текст NO PREVIEW // Float:im_rx - Поворот по оси X, если использована превью модль im_preview_model // Float:im_ry - Поворот по оси Y, если использована превью модль im_preview_model // Float:im_rz - Поворот по оси Z, если использована превью модль im_preview_model // Float:im_zoom - увеличение объекта, если использована превью модель im_prewiev_model // остальные настройки - настройки цветов, подробнее далее stock iMenu_HideForPlayer(playerid) // Скрывает меню для указанного игрока // playerid - ИД игрока, для которого скрываем меню public iMenuPlayerSelectItem(playerid , im_item) // Вызывается, когда игрока нажимает на элемент меню // playerid - ид игрока, который нажал // im_item - ИД элемента, на который нажал игрок public iMenuPlayerResponse(playerid , imenuid , itemid , modelid) // Вызывается, когда игрок нажал кнопку "Выбрать" (Select) в меню. // imenuid - ид меню // itemid - выбранный элемент // modelid - модель предварительного просмотра (если нет вернет -1) КАК НАСТРАИВАТЬ ЦВЕТА:

      headercolor - цвет заголовка captioncolor - цвет надписи заголовка itemtextcolor - цвет текста элемента buttoncolor - цвет фона кнопок в меню (выбрать, отмена и самих элементов меню).  framecolor - цвет основной рамки (выделен красным на фото).  prewievbg - цвет фона превью. bordercolor - цвет основных границ кнопок(обводок - на фото белые) и окна предпросмотра desc_col - цвет текста описания в превью mainbuttontextcolor - цвет текста кнопок select и cancel (выбор и отмена).  noprewtextcolor - цвет текста надписи NO PREVIEW (рекомендуется соблюдать сочетание цветов, например если фон превью белый и текст NO PREVIEW белый, то его видно не будет).  vehcol1 - первый цвет транспортного средства (работает только в том случае, если превью модель является транспортным средством) vehcol2  - второй цвет транспортного средства (работает только в том случае, если превью модель является транспортным средством) СКАЧАТЬ И ДЕМО: 
      Новая версия - английская (1.1): Скачать_en.inc
      Демо - английский язык (1.1): example_of_imenu.inc
      Старая версия - английская (1.0): Скачать_старую_версию_1.00_en.inc
      Демо - старая версия, английский язык (1.0): demo_1.00.inc
      АВТОРСТВО И ЛОКАЛИЗАЦИЯ:  
      Локализатор (перевод на русский язык статьи): Портал PAWNO-RUS.RU - @stibs.
      Автор инклуда: iAmir
      Ссылка на оригинал темы на sa-mp.com
      При копировании материала на другие ресурсы, указание ссылки на PAWNO-RUS.RU обязательно! 
    • Гость stibs
      От Гость stibs
      Данный инклуд добавит на ваш сервер капчу, от ботов. 
      Собственно, раньше это был Filterscript, но он не работал. Портал PAWNO-RUS.RU перевел его на инклуд и он отлично работает. 
      В связи с переводом на инклуд у вас появилась новая возможность: создавать капчи в любых местах, где вам захочется. Кастомизировать диалог под себя можно в самом инклуде. 
      Для создания капчи используйте: 
      CreateCaptcha(playerid); Где playerid - это ид игрока, для которого показывает капчу. 
      Если хотите, чтобы показ был у всех при входе, в OnPlayerConnect: 
      CreateCaptcha(playerid);  
      Скачать
    • Гость stibs
      От Гость stibs
      Приветствую! С помощью этого инклуда можно создавать прогресс-бар (как HP бар).

      Функции:
      CreateProgressBar(x, y, width, height, color, max) - создать прогресс-бар. DestroyProgressBar(barid) - уничтожить. ShowProgressBarForPlayer(playerid, barid) - Показать. HideProgressBarForPlayer(playerid, barid) - Спрятать. ShowProgressBarForAll(barid) - Показать всем. HideProgressBarForAll(barid) - Спрятать у всех. SetProgressBarValue(barid, value) - Задать значение. GetProgressBarValue(barid) - Узнать значение. SetProgressBarMaxValue(barid, max) - Максимальное значение. SetProgressBarColor(barid, color) - Сменить цвет. UpdateProgressBar(barid, playerid=INVALID_PLAYER_ID) - Обновить. Пример:
      new Bar:health = CreateProgressBar(50.0, 300.0, _, _, 0xFF0000FF, 100.0); SetProgressBarValue(health, 50.0); ShowProgressBarForAll(health); ИНФОРМАЦИЯ ПО УСТАНОВКЕ ИНКЛУДА:
      1) playerprogress.inc закинуть в /pawno/include.
      2) Открыть мод через pawno.exe в начало после a_samp добавить: #include <progress>
      3) Скомпилировать мод!
      Также есть скрипт для создание прогресс-бара из игры.
      Команда: /bar
       
      Скачать инклуд
       
      Скачать скрипт