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">'''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">'''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"> | ||
== Загрузка == | == Загрузка == | ||
− | {| border="1" cellpadding="1" cellspacing="1" style="width: | + | {| border="1" cellpadding="1" cellspacing="1" style="width: 700px;" |
|- | |- | ||
| colspan="3" style="text-align: center;" | <span style="font-size:large;">'''Библиотека'''</span> | | colspan="3" style="text-align: center;" | <span style="font-size:large;">'''Библиотека'''</span> | ||
Строка 24: | Строка 25: | ||
*Удалена настройка setting.loadSoundFile<br/> (Перешли на [[InnerCore/Libs/SoundAPI|SoundAPI 2.1]]) | *Удалена настройка setting.loadSoundFile<br/> (Перешли на [[InnerCore/Libs/SoundAPI|SoundAPI 2.1]]) | ||
*Оружием нельзя ломать блоки | *Оружием нельзя ломать блоки | ||
+ | |||
+ | |- | ||
+ | | style="text-align: center;" | '''1.2''' | ||
+ | | style="text-align: center;" | [https://vk.com/wall-80513593_2141 Скачать] | ||
+ | | | ||
+ | *Добавлен метод Entity.shot | ||
+ | *Добавлен параметр (int)gun.bullet.entity = Native.EntityType.ARROW | ||
+ | *Добавлен кэлбэк GunsDefined | ||
+ | *Исправление GUI прицела(При смене оружия мог остаться) | ||
|- | |- | ||
Строка 38: | Строка 48: | ||
| style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=299 Подробнее] | | style="text-align: center;" | [https://icmods.mineprogramming.org/mod?id=299 Подробнее] | ||
|} | |} | ||
− | </div> </div> | + | </div> </div> </div> </div> |
</div> | </div> | ||
</div> | </div> |
Библиотека | ||
Версия | Ссылка | Список изменений |
1 | Подробнее |
|
1.1 | Скачать |
|
1.2 | Скачать |
|
GitHub | GitHub | |
Модификации | ||
Название | Ссылка | |
DemoShootLib [1.1.0] | Подробнее |
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для начала испортируйте библиотеку.
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 - массив объектов описания оружий