80LK (обсуждение | вклад) (Создана пустая страница) |
80LK (обсуждение | вклад) м |
||
(не показано 26 промежуточных версий этого же участника) | |||
Строка 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">'''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 - описание оружия
*/
});