80LK (обсуждение | вклад) |
80LK (обсуждение | вклад) м |
||
| (не показано 25 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | <div class="mw-parser-output"> | + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">'''ShootLib '''- Библиотека для создания оружия.</div> <div class="mw-parser-output">Для работы необходима библиотека [[InnerCore/Libs/SoundAPI|SoundAPI]].</div> <div class="mw-parser-output">[https://icmods.mineprogramming.org/mod.php?id=299 Пример] использования ShootLib.</div> <div class="mw-parser-output"> </div> <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> |
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | == Загрузка == | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 700px;" | ||
| + | |- | ||
| + | | colspan="3" style="text-align: center;" | <span style="font-size:large;">'''Библиотека'''</span> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''Версия''' | ||
| + | | style="text-align: center;" | '''Ссылка''' | ||
| + | | style="text-align: center;" | '''Список изменений''' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | [https://vk.com/wall-80513593_2128 Подробнее] | ||
| + | | | ||
| + | *Первая версия | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center;" | '''1.1''' | ||
| + | | style="text-align: center;" | [https://vk.com/wall-80513593_2130 Скачать] | ||
| + | | | ||
| + | *Исправлена перезарядка | ||
| + | *Удалена настройка setting.loadSoundFile<br/> (Перешли на [[InnerCore/Libs/SoundAPI|SoundAPI 2.1]]) | ||
| + | *Оружием нельзя ломать блоки | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | style="text-align: center;" | [https://vk.com/wall-80513593_2143 Скачать] | ||
| + | | | ||
| + | *Добавлен метод Entity.shot | ||
| + | *Добавлен параметр (int)gun.bullet.entity = Native.EntityType.ARROW | ||
| + | *Добавлен кэлбэк GunsDefined | ||
| + | *Исправление GUI прицела(При смене оружия мог остаться) | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | style="text-align: center;" | [https://vk.com/wall-80513593_2147 Скачать] | ||
| + | | | ||
| + | *Исправлен конфликт интерфейса с несколькими модами. | ||
| + | *Исправлены ошибки | ||
| + | *Обновление SoundLib до 2.2 | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center;" | '''1.4''' | ||
| + | | style="text-align: center;" | [https://vk.com/wall-80513593_2159 Скачть] | ||
| + | | | ||
| + | *Переписан метод инициализации мода | ||
| + | *Использование [https://vk.com/wall-80513593_2155 AdvancedEvents] | ||
| + | *Исправлен графический интерфейс | ||
| + | *Исправлена стрельба из дробовика, теперь урон полностью нанесен. | ||
| + | *Незначительные исправления | ||
| + | *Обновление SoundLib до 2.3 | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center;" | '''1.5''' | ||
| + | | style="text-align: center;" | [https://vk.com/wall-80513593_2243 Скачать] | ||
| + | | | ||
| + | *Добавлен кэлбэк BulletHit | ||
| + | *Добавлен кэлбэк ShootGun | ||
| + | *Добавлен метод ShootLib.isBullet | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center;" | '''Beta''' | ||
| + | | style="text-align: center;" | [https://vk.me/join/AJQ1d/qJIhXTUyeYRYZRRC65 Chat in VK] | ||
| + | | | ||
| + | |- | ||
| + | | style="text-align: center;" | '''GitHub''' | ||
| + | | style="text-align: center;" | [https://github.com/Wolf-Team/Libraries/blob/master/ShootLib.js GitHub] | ||
| + | | | ||
| + | |- | ||
| + | | colspan="3" style="text-align: center;" | <span style="font-size:large;">'''Модификации'''</span> | ||
| + | |- | ||
| + | | colspan="2" rowspan="1" style="text-align: center;" | '''Название''' | ||
| + | | style="text-align: center;" | ''' Ссылка''' | ||
| + | |- | ||
| + | | colspan="2" style="text-align: center;" | '''DemoShootLib''' | ||
| + | | style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=299 Подробнее] | ||
| + | |- | ||
| + | | colspan="2" style="text-align: center;" | '''SuperHeroes''' | ||
| + | | style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=327 Подробнее] | ||
| + | |- | ||
| + | | colspan="2" style="text-align: center;" | '''ScarLxrdsGunMod''' | ||
| + | | style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=394 Подробнее] | ||
| + | |- | ||
| + | | colspan="2" style="text-align: center;" | '''WolfGunsMod''' | ||
| + | | style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=397 Подробнее] | ||
| + | |} | ||
| + | |||
| + | <br/> '''Если вы используете данную библиотеку, пожалуйста добавляйте ваш мод в список или пишите [https://vk.com/id93821471 мне].''' | ||
| + | </div> </div> | ||
| + | </div> | ||
| + | </div> | ||
| + | |||
| + | == Условия использования == | ||
| + | |||
| + | *Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество | ||
| + | *Запрещено изменение кода библиотеки | ||
| + | *Запрещено явное копирование кода в другие библиотеки или моды | ||
| + | |||
| + | Используя данный продукт вы автоматически соглашаетесь с этими правилами | ||
| + | |||
| + | == Документация == | ||
| + | <div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"> | ||
| + | === Инициализация === | ||
| + | |||
| + | Для начала импортируйте библиотеку. | ||
| + | <pre>IMPORT("ShootLib")</pre> | ||
| + | |||
| + | Далее задаем настройки | ||
| + | <syntaxhighlight lang="JavaScript">ShootLib.init({ //В данном объекте предаставлены стандартные значения | ||
| + | image_button:true, //Графические кнопки | ||
| + | left_handed:false, //Режим левши | ||
| + | fire:{ //Настройки кнопки выстрела | ||
| + | text:{ //Объект текста | ||
| + | content:"FIRE", //Содержимое текста | ||
| + | size:18 //Размер текста | ||
| + | }, | ||
| + | bitmap:{ //Объект графики | ||
| + | name:"ui", //Имя битмапа в папке gui/ (Смотрите ваш build.config) | ||
| + | coords:{ //Координаты битмапа | ||
| + | x:544, //Начальная координата X | ||
| + | y:0, //Начальная координата Y | ||
| + | width:544, //Ширина битмапа | ||
| + | height:544 //Высота битмапа | ||
| + | }, | ||
| + | size:{ //Размер объекта в юнитах | ||
| + | width:90, //Ширина объекта | ||
| + | height:90 //Высота объекта | ||
| + | } | ||
| + | } | ||
| + | }, | ||
| + | aim:{ //Настройки кнопки прицеливания(Те же объекты, что и fire) | ||
| + | text:{ | ||
| + | content:"AIM", | ||
| + | size:18 | ||
| + | }, | ||
| + | bitmap:{ | ||
| + | name:"ui", | ||
| + | coords:{ | ||
| + | x:0, | ||
| + | y:0, | ||
| + | width:544, | ||
| + | height:544 | ||
| + | }, | ||
| + | size:{ | ||
| + | width:90, | ||
| + | height:90 | ||
| + | } | ||
| + | } | ||
| + | }, | ||
| + | crosshair:{ //Настройки прицела(Те же объекты, что и fire) | ||
| + | bitmap:{ | ||
| + | name:"ui", | ||
| + | coords:{ | ||
| + | x:1088, | ||
| + | y:0, | ||
| + | width:64, | ||
| + | height:64 | ||
| + | }, | ||
| + | size:{ | ||
| + | width:90, | ||
| + | height:90 | ||
| + | } | ||
| + | } | ||
| + | }, | ||
| + | reload:{ //Настройки кнопки перезарядки(Те же объекты, что и fire) | ||
| + | text:{ | ||
| + | content:"8/8", | ||
| + | size:16 | ||
| + | } | ||
| + | }, | ||
| + | crosshairGUI:{ //Настройки прицела для оружий с gun.fov.link(Те же объекты, что и fire) | ||
| + | bitmap:{ | ||
| + | name:ShootLib.GUN_BITMAP, //ShootLib.GUN_BITMAP означает, что будет отображать принимаемую ссылку, можете выставить свой прицел | ||
| + | coords:{ | ||
| + | x:0, | ||
| + | y:0, | ||
| + | width:1024, | ||
| + | height:1024 | ||
| + | }, | ||
| + | size:{ | ||
| + | width:1000 * GUI.height/GUI.width //!! Объект GUI не доступен, | ||
| + | //используйте свои способы нахождения высоты и ширины экрана | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | });</syntaxhighlight> | ||
| + | |||
| + | *Если в image_button и/или left_handed указана строка, то значение будет браться из config.json | ||
| + | *Если image_button, left_handed, loadSoundFile, fire, aim, reload, crosshair и/или crosshairGUI не указаны, то будут назначены стандартные значения. | ||
| + | |||
| + | Если вы не собираетесь менять стандартнеы настройки, метод '''ShootLib.init()''' можно не вызывать </div> | ||
| + | </div> | ||
| + | |||
| + | === Создание боеприпаса === | ||
| + | |||
| + | Для создания боеприпаса нужно вызвать метод '''ShootLib.addAmmo(''ammo'')''', где ''ammo'' - объект описания боеприпаса | ||
| + | <syntaxhighlight lang="JavaScript">ShootLib.addAmmo({ | ||
| + | id:"ammohandgun", //Строковый ID | ||
| + | name:"Handgun Ammo", //Название боеприпаса | ||
| + | texture:{ //Текстура | ||
| + | name:"ammohandgun", | ||
| + | meta:0 | ||
| + | } | ||
| + | });</syntaxhighlight> | ||
| + | |||
| + | Для создании нескольких боеприпасов за раз можно использовать '''ShootLib.addAmmos(''ammos'')''', где ''ammos ''- массив объектов описания боеприпасов | ||
| + | <div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"> | ||
| + | === Создание оружия === | ||
| + | |||
| + | Для создания оружия нужно вызвать метод '''ShootLib.addGun(''gun'')''', где ''gun'''''<i> </i>'''- объект описания оружия | ||
| + | <syntaxhighlight lang="JavaScript">ShootLib.addGun({ | ||
| + | id:"deserteagle", //Строковый ID | ||
| + | name:"Desert Eagle", //Название оружия | ||
| + | ammo:"ammohandgun", //ID боеприпаса, которым стреляет оружие | ||
| + | accuracy:6, //Разброс | ||
| + | recoil:4, //Отдача | ||
| + | rate:5, //Скорострельность (Кол-во выстрелов в 20 тиков) | ||
| + | texture:{ //Текстура | ||
| + | name:"deserteagle", | ||
| + | meta:0 | ||
| + | }, | ||
| + | shotType:ShootLib.ShotType.NORMAL, //Тип выстрела | ||
| + | buttonType:ShootLib.ButtonType.CLICK, //Тип кнопки | ||
| + | bullet:{ | ||
| + | speed:10, //Сокрость пули | ||
| + | count:7, //Кол-во пуль в магазине | ||
| + | entity:Native.EntityType.ARROW,//Сущность, которой стреляет оружие, по стандарту Native.EntityType.ARROW | ||
| + | damage:20 //Урон | ||
| + | }, | ||
| + | fov:{ | ||
| + | level:10, // Уровень приближения | ||
| + | //link:"crosshair/dragunov" //Файл GUI прицела. Не обязательный параметр | ||
| + | }, | ||
| + | sounds:{ | ||
| + | shot:"DesertEagleShoot.ogg", //Звук выстрела | ||
| + | empty:"EmptyGun.mp3", //Звук выстрела без боеприпасов | ||
| + | reload:"reload/LugerReload.ogg" //Звук перезарядки | ||
| + | }, | ||
| + | shotgun:{ //Только при gun.shotType:ShootLib.ShotType.SHOTGUN | ||
| + | count:6, //Кол-во дробинок | ||
| + | degreesSpread:3, //Разброс дроби | ||
| + | } | ||
| + | });</syntaxhighlight> | ||
| + | |||
| + | Для создании нескольких оружий за раз можно использовать '''ShootLib.addGuns(''guns'')''', где ''guns ''- массив объектов описания оружий | ||
| + | </div> | ||
| + | |||
| + | == Полная документация == | ||
| + | |||
| + | === ShootLib === | ||
| + | |||
| + | <div class="mw-parser-output"> | ||
| + | ==== Методы ==== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | | style="text-align: center;" | '''Версия''' | ||
| + | | style="text-align: center;" | '''Метод''' | ||
| + | | style="text-align: center;" | '''Аргументы''' | ||
| + | | style="text-align: center;" | '''Описание метода''' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | init(object settings) | ||
| + | | style="text-align: center;" | settings - настройки библиотеки | ||
| + | | style="text-align: center;" | Задает настройки библиотеки | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | addGun(object gun) | ||
| + | | style="text-align: center;" | gun - объект описания оружия | ||
| + | | style="text-align: center;" | Добавить оружие | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | addGuns(object[] guns) | ||
| + | | style="text-align: center;" | guns - массив объектов описания оружия | ||
| + | | style="text-align: center;" | Добавить оружия | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | getGun(int gun_id) | ||
| + | | style="text-align: center;" | gun_id - ID предмета | ||
| + | | style="text-align: center;" | Получить объект описания оружия | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | isGun(int gun_id) | ||
| + | | style="text-align: center;" | gun_id - ID предмета | ||
| + | | style="text-align: center;" | Вернет true, если предмет gun_id оружие | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | addAmmo(object ammo) | ||
| + | | style="text-align: center;" | ammo - объект описания боеприпаса | ||
| + | | style="text-align: center;" | Добавить боеприпас | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | addAmmos(object[] ammos) | ||
| + | | style="text-align: center;" | ammos - массив объектов описания боеприпаса | ||
| + | | style="text-align: center;" | Добавить боеприпасы | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | getAmmo(int ammo_id) | ||
| + | | style="text-align: center;" | ammo_id - ID предмета | ||
| + | | style="text-align: center;" | Получить объект описания боеприпаса | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1''' | ||
| + | | style="text-align: center;" | isAmmo(int ammo_id) | ||
| + | | style="text-align: center;" | ammo_id - ID предмета | ||
| + | | style="text-align: center;" | Вернет true, если предмет ammo_id боеприпас | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.5''' | ||
| + | | style="text-align: center;" | isBullet(int entity) | ||
| + | | style="text-align: center;" | entity - сущность | ||
| + | | style="text-align: center;" | Вернет true, если существует и является боеприпасом, иначе вернет false | ||
| + | |} | ||
| + | </div> | ||
| + | |||
| + | ==== Константы ==== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 500px;" | ||
| + | |- | ||
| + | | '''Константа''' | ||
| + | | '''Описание''' | ||
| + | | '''Значени'''е | ||
| + | |- | ||
| + | | ShotType.SINGLE | ||
| + | | colspan="1" rowspan="2" | Выстрел патроном | ||
| + | | 0 | ||
| + | |- | ||
| + | | ShotType.NORMAL | ||
| + | | 0 | ||
| + | |- | ||
| + | | ShotType.MULTIPLE | ||
| + | | colspan="1" rowspan="2" | Выстрел дробью | ||
| + | | 1 | ||
| + | |- | ||
| + | | ShotType.SHOTGUN | ||
| + | | 1 | ||
| + | |- | ||
| + | | ButtonType.CLICK | ||
| + | | Нажатие кнопки | ||
| + | | 1 | ||
| + | |- | ||
| + | | ButtonType.TOUCH | ||
| + | | Касание кнопки | ||
| + | | 2 | ||
| + | |- | ||
| + | | MAX_DAMAGE | ||
| + | | Максимальный урон | ||
| + | | -1 | ||
| + | |- | ||
| + | | GUN_BITMAP | ||
| + | | GUI прицел будет принимать ссылку | ||
| + | | -1 | ||
| + | |} | ||
| + | |||
| + | === Entity === | ||
| + | |||
| + | ==== Методы ==== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | | style="text-align: center;" | '''Версия''' | ||
| + | | style="text-align: center;" | '''Метод''' | ||
| + | | style="text-align: center;" | '''Аргументы''' | ||
| + | | style="text-align: center;" | '''Описание метода''' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | style="text-align: center;" | shot(Entity entity) | ||
| + | | style="text-align: center;" | entity - сущность, которая должна выстрелить | ||
| + | | style="text-align: center;" | Заставляет моба выстрелить | ||
| + | |} | ||
| + | |||
| + | <div class="mw-parser-output"> | ||
| + | <div class="mw-parser-output"> | ||
| + | === Callback === | ||
| + | |||
| + | Новый callback GunsDefined вызывается после создания всех оружий и боеприпасов | ||
| + | <syntaxhighlight lang="JavaScript">Callback.addCallback("GunsDefined",function(){ | ||
| + | //Например ваши крафты | ||
| + | });</syntaxhighlight> | ||
| + | |||
| + | Callback BulletHit вызывается при попадании снаряда во что-нибудь | ||
| + | <syntaxhighlight lang="JavaScript">Callback.addCallback("BulletHit", function(bullet, item, hit){ | ||
| + | /* | ||
| + | * При попадании снарядом куда-нибудь | ||
| + | * bullet - сущность пули | ||
| + | * hit - объект, по которому попали | ||
| + | */ | ||
| + | });</syntaxhighlight> | ||
| + | |||
| + | Callback ShootGun срабатывает при выстреле из оружия | ||
| + | <syntaxhighlight lang="JavaScript">Callback.addCallback("ShootGun", function(bullet, item, gun){ | ||
| + | /* | ||
| + | * При выстреле из оружия | ||
| + | * bullet - сущность пули | ||
| + | * item - предмет, из которого был произведен выстрел | ||
| + | * gun - описание оружия | ||
| + | */ | ||
| + | });</syntaxhighlight> | ||
| + | |||
| + | | ||
| + | </div> | ||
| Библиотека | ||
| Версия | Ссылка | Список изменений |
| 1 | Подробнее |
|
| 1.1 | Скачать |
|
| 1.2 | Скачать |
|
| 1.3 | Скачать |
|
| 1.4 | Скачть |
|
| 1.5 | Скачать |
|
| Beta | Chat in VK | |
| GitHub | GitHub | |
| Модификации | ||
| Название | Ссылка | |
| DemoShootLib | Подробнее | |
| SuperHeroes | Подробнее | |
| ScarLxrdsGunMod | Подробнее | |
| WolfGunsMod | Подробнее | |
Если вы используете данную библиотеку, пожалуйста добавляйте ваш мод в список или пишите мне.
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для начала импортируйте библиотеку.
IMPORT("ShootLib")
Далее задаем настройки
ShootLib.init({ //В данном объекте предаставлены стандартные значения
image_button:true, //Графические кнопки
left_handed:false, //Режим левши
fire:{ //Настройки кнопки выстрела
text:{ //Объект текста
content:"FIRE", //Содержимое текста
size:18 //Размер текста
},
bitmap:{ //Объект графики
name:"ui", //Имя битмапа в папке gui/ (Смотрите ваш build.config)
coords:{ //Координаты битмапа
x:544, //Начальная координата X
y:0, //Начальная координата Y
width:544, //Ширина битмапа
height:544 //Высота битмапа
},
size:{ //Размер объекта в юнитах
width:90, //Ширина объекта
height:90 //Высота объекта
}
}
},
aim:{ //Настройки кнопки прицеливания(Те же объекты, что и fire)
text:{
content:"AIM",
size:18
},
bitmap:{
name:"ui",
coords:{
x:0,
y:0,
width:544,
height:544
},
size:{
width:90,
height:90
}
}
},
crosshair:{ //Настройки прицела(Те же объекты, что и fire)
bitmap:{
name:"ui",
coords:{
x:1088,
y:0,
width:64,
height:64
},
size:{
width:90,
height:90
}
}
},
reload:{ //Настройки кнопки перезарядки(Те же объекты, что и fire)
text:{
content:"8/8",
size:16
}
},
crosshairGUI:{ //Настройки прицела для оружий с gun.fov.link(Те же объекты, что и fire)
bitmap:{
name:ShootLib.GUN_BITMAP, //ShootLib.GUN_BITMAP означает, что будет отображать принимаемую ссылку, можете выставить свой прицел
coords:{
x:0,
y:0,
width:1024,
height:1024
},
size:{
width:1000 * GUI.height/GUI.width //!! Объект GUI не доступен,
//используйте свои способы нахождения высоты и ширины экрана
}
}
}
});
Для создания боеприпаса нужно вызвать метод ShootLib.addAmmo(ammo), где ammo - объект описания боеприпаса
ShootLib.addAmmo({
id:"ammohandgun", //Строковый ID
name:"Handgun Ammo", //Название боеприпаса
texture:{ //Текстура
name:"ammohandgun",
meta:0
}
});
Для создании нескольких боеприпасов за раз можно использовать ShootLib.addAmmos(ammos), где ammos - массив объектов описания боеприпасов
Для создания оружия нужно вызвать метод ShootLib.addGun(gun), где gun - объект описания оружия
ShootLib.addGun({
id:"deserteagle", //Строковый ID
name:"Desert Eagle", //Название оружия
ammo:"ammohandgun", //ID боеприпаса, которым стреляет оружие
accuracy:6, //Разброс
recoil:4, //Отдача
rate:5, //Скорострельность (Кол-во выстрелов в 20 тиков)
texture:{ //Текстура
name:"deserteagle",
meta:0
},
shotType:ShootLib.ShotType.NORMAL, //Тип выстрела
buttonType:ShootLib.ButtonType.CLICK, //Тип кнопки
bullet:{
speed:10, //Сокрость пули
count:7, //Кол-во пуль в магазине
entity:Native.EntityType.ARROW,//Сущность, которой стреляет оружие, по стандарту Native.EntityType.ARROW
damage:20 //Урон
},
fov:{
level:10, // Уровень приближения
//link:"crosshair/dragunov" //Файл GUI прицела. Не обязательный параметр
},
sounds:{
shot:"DesertEagleShoot.ogg", //Звук выстрела
empty:"EmptyGun.mp3", //Звук выстрела без боеприпасов
reload:"reload/LugerReload.ogg" //Звук перезарядки
},
shotgun:{ //Только при gun.shotType:ShootLib.ShotType.SHOTGUN
count:6, //Кол-во дробинок
degreesSpread:3, //Разброс дроби
}
});
Для создании нескольких оружий за раз можно использовать ShootLib.addGuns(guns), где guns - массив объектов описания оружий
| Версия | Метод | Аргументы | Описание метода |
| 1 | init(object settings) | settings - настройки библиотеки | Задает настройки библиотеки |
| 1 | addGun(object gun) | gun - объект описания оружия | Добавить оружие |
| 1 | addGuns(object[] guns) | guns - массив объектов описания оружия | Добавить оружия |
| 1 | getGun(int gun_id) | gun_id - ID предмета | Получить объект описания оружия |
| 1 | isGun(int gun_id) | gun_id - ID предмета | Вернет true, если предмет gun_id оружие |
| 1 | addAmmo(object ammo) | ammo - объект описания боеприпаса | Добавить боеприпас |
| 1 | addAmmos(object[] ammos) | ammos - массив объектов описания боеприпаса | Добавить боеприпасы |
| 1 | getAmmo(int ammo_id) | ammo_id - ID предмета | Получить объект описания боеприпаса |
| 1 | isAmmo(int ammo_id) | ammo_id - ID предмета | Вернет true, если предмет ammo_id боеприпас |
| 1.5 | isBullet(int entity) | entity - сущность | Вернет true, если существует и является боеприпасом, иначе вернет false |
| Константа | Описание | Значение |
| ShotType.SINGLE | Выстрел патроном | 0 |
| ShotType.NORMAL | 0 | |
| ShotType.MULTIPLE | Выстрел дробью | 1 |
| ShotType.SHOTGUN | 1 | |
| ButtonType.CLICK | Нажатие кнопки | 1 |
| ButtonType.TOUCH | Касание кнопки | 2 |
| MAX_DAMAGE | Максимальный урон | -1 |
| GUN_BITMAP | GUI прицел будет принимать ссылку | -1 |
| Версия | Метод | Аргументы | Описание метода |
| 1.2 | shot(Entity entity) | entity - сущность, которая должна выстрелить | Заставляет моба выстрелить |
Новый callback GunsDefined вызывается после создания всех оружий и боеприпасов
Callback.addCallback("GunsDefined",function(){
//Например ваши крафты
});
Callback BulletHit вызывается при попадании снаряда во что-нибудь
Callback.addCallback("BulletHit", function(bullet, item, hit){
/*
* При попадании снарядом куда-нибудь
* bullet - сущность пули
* hit - объект, по которому попали
*/
});
Callback ShootGun срабатывает при выстреле из оружия
Callback.addCallback("ShootGun", function(bullet, item, gun){
/*
* При выстреле из оружия
* bullet - сущность пули
* item - предмет, из которого был произведен выстрел
* gun - описание оружия
*/
});