Библиотека | ||
Версия | Ссылка | Список изменений |
1 | Подробнее |
|
1.1 | Скачать |
|
1.2 | Скачать |
|
1.3 | Скачать |
|
1.4 | Скачть |
|
1.5 | Скачать |
|
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.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 боеприпас |
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 - описание оружия
*/
});