BuyWeapon - система покупки оружия.
Все действия будут происходишь в двух диалоговых окнах. В основном выводится вся информация об оружии. Если во время покупки система определит, что у вас в этом же слоте уже есть оружие, то запустится второе диалоговое окно, которое предложит заменить.
Использование системы довольное простое. Достаточно в меню или пикап поставить функцию BuyWeapon с нужными параметрами. Ид оружия является обязательным, а количество патронов или цену можно ставить на свое усмотрение, или использовать указанные в инклуде.
Параметры
PHP код:
BuyWeapon(playerid, weaponid, ammo, price);
- playerid - id игрока
- weaponid - id оружия (с 22 по 34)
- ammo - количество патронов (необязательный)
- price - цена оружия (необязательный)
Ключи
Для деактивации одной из функций, допишите нужный макрос перед инклудом.
Макрос |
Описание |
BW__KEY__INFO |
Блокировка информации об оружии |
BW__KEY__REPEAT |
Блокировка проверки на замену оружия |
BW__KEY__RESET_AMMO |
Блокировка сброса патронов при покупке |
Пример применения
PHP код:
#include <a_samp>
#include <mn_BuyWeapon>
new pickup;
public OnGameModeInit()
{
pickup = CreatePickup(1242, 2, 1503.3359, 1432.3585, 10.1191, -1);
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if (pickupid == pickup)
{
ShowPlayerDialog(playerid, 68, DIALOG_STYLE_LIST, !"Покупка оружия", !"Silenced 9mm\n\
Sniper Rifle\n\
Micro SMG/Uz\n\
M4", !"Купить", !"Отмена");
}
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch (dialogid)
{
case 68:
{
switch (listitem)
{
case 0: BuyWeapon(playerid, 23);
//Silenced 9mm (игрок получит 9mm с указанным количеством патронов и ценой в инклуде)
case 1: BuyWeapon(playerid, 34, .ammo = 100);
//Sniper Rifle (игроку будет выдано 100 патронов для этого оружия по цене указанной в инклуде)
case 2: BuyWeapon(playerid, 28, .price = 3000);
//Micro SMG/Uz (оружие будет стоить $3000 с количеством патронов указанных в инклуде)
case 3: BuyWeapon(playerid, 31, 100, 3000);
//M4 (игрок получит M4 со 100 патронами за $3000)
//Если параметры price и ammo оставить без значения, то они примут значения указанные в инклуде.
}
return 1;
}
}
return 0;
}
Версия: 0.5.2
Автор: m1n1vv
Репозиторий: https://github.com/m1n1vv/BuyWeapon