80LK (обсуждение | вклад) м |
80LK (обсуждение | вклад) м |
||
(не показано 16 промежуточных версий этого же участника) | |||
Строка 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">'''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">'''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"> | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
Строка 28: | Строка 35: | ||
|- | |- | ||
| style="text-align: center;" | '''1.2''' | | style="text-align: center;" | '''1.2''' | ||
− | | style="text-align: center;" | [https://vk.com/wall- | + | | style="text-align: center;" | [https://vk.com/wall-80513593_2143 Скачать] |
| | | | ||
*Добавлен метод Entity.shot | *Добавлен метод Entity.shot | ||
Строка 35: | Строка 42: | ||
*Исправление GUI прицела(При смене оружия мог остаться) | *Исправление 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;" | '''GitHub''' | ||
− | | style="text-align: center;" | [https://github.com/Wolf-Team/ | + | | style="text-align: center;" | [https://github.com/Wolf-Team/Libraries/blob/master/ShootLib.js GitHub] |
| | | | ||
|- | |- | ||
Строка 45: | Строка 83: | ||
| style="text-align: center;" | ''' Ссылка''' | | style="text-align: center;" | ''' Ссылка''' | ||
|- | |- | ||
− | | colspan="2" style="text-align: center;" | '''DemoShootLib | + | | colspan="2" style="text-align: center;" | '''DemoShootLib''' |
| style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=299 Подробнее] | | 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> | </div> | ||
Строка 61: | Строка 110: | ||
== Документация == | == Документация == | ||
− | + | <div class="mw-parser-output"> | |
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Инициализация === | === Инициализация === | ||
− | Для начала | + | Для начала импортируйте библиотеку. |
<pre>IMPORT("ShootLib")</pre> | <pre>IMPORT("ShootLib")</pre> | ||
Строка 151: | Строка 200: | ||
*Если image_button, left_handed, loadSoundFile, fire, aim, reload, crosshair и/или crosshairGUI не указаны, то будут назначены стандартные значения. | *Если image_button, left_handed, loadSoundFile, fire, aim, reload, crosshair и/или crosshairGUI не указаны, то будут назначены стандартные значения. | ||
− | Если вы не собираетесь менять стандартнеы настройки, метод '''ShootLib.init()''' можно не вызывать | + | Если вы не собираетесь менять стандартнеы настройки, метод '''ShootLib.init()''' можно не вызывать </div> |
</div> | </div> | ||
Строка 167: | Строка 216: | ||
Для создании нескольких боеприпасов за раз можно использовать '''ShootLib.addAmmos(''ammos'')''', где ''ammos ''- массив объектов описания боеприпасов | Для создании нескольких боеприпасов за раз можно использовать '''ShootLib.addAmmos(''ammos'')''', где ''ammos ''- массив объектов описания боеприпасов | ||
− | + | <div class="mw-parser-output"> | |
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Создание оружия === | === Создание оружия === | ||
Строка 183: | Строка 232: | ||
meta:0 | meta:0 | ||
}, | }, | ||
− | shotType:ShotType.NORMAL, //Тип выстрела | + | shotType:ShootLib.ShotType.NORMAL, //Тип выстрела |
− | buttonType:ButtonType.CLICK, //Тип кнопки | + | buttonType:ShootLib.ButtonType.CLICK, //Тип кнопки |
bullet:{ | bullet:{ | ||
speed:10, //Сокрость пули | speed:10, //Сокрость пули | ||
Строка 200: | Строка 249: | ||
reload:"reload/LugerReload.ogg" //Звук перезарядки | reload:"reload/LugerReload.ogg" //Звук перезарядки | ||
}, | }, | ||
− | shotgun:{ //Только при gun.shotType:ShotType.SHOTGUN | + | shotgun:{ //Только при gun.shotType:ShootLib.ShotType.SHOTGUN |
count:6, //Кол-во дробинок | count:6, //Кол-во дробинок | ||
degreesSpread:3, //Разброс дроби | degreesSpread:3, //Разброс дроби | ||
Строка 207: | Строка 256: | ||
Для создании нескольких оружий за раз можно использовать '''ShootLib.addGuns(''guns'')''', где ''guns ''- массив объектов описания оружий | Для создании нескольких оружий за раз можно использовать '''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> | </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 - описание оружия
*/
});