80LK (обсуждение | вклад) м |
80LK (обсуждение | вклад) м |
||
| Строка 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"><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"> | ||
| Строка 65: | Строка 66: | ||
| 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 | + | | colspan="2" style="text-align: center;" | '''SuperHeroes''' |
| style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=327 Подробнее] | | style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=327 Подробнее] | ||
|} | |} | ||
| − | </div> </div> | + | <br/> '''Если вы используете данную библиотеку, пожалуйста добавляйте ваш мод в список или пишите [https://vk.com/id93821471 мне].'''</div> </div> |
== Условия использования == | == Условия использования == | ||
| Библиотека | ||
| Версия | Ссылка | Список изменений |
| 1 | Подробнее |
|
| 1.1 | Скачать |
|
| 1.2 | Скачать |
|
| 1.3 | Скачать |
|
| 1.4 | Скачть |
|
| GitHub | GitHub | |
| Модификации | ||
| Название | Ссылка | |
| DemoShootLib | Подробнее | |
| SuperHeroes | Подробнее | |
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для начала испортируйте библиотеку.
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.init() можно не вызывать
Для создания боеприпаса нужно вызвать метод 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:ShotType.NORMAL, //Тип выстрела
buttonType: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: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 боеприпас |
| Константа | Описание | Значение |
| 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(){
//Например ваши крафты
});