Если еще актуально то например так. Выдрал из своего, так что полностью работу не гарантирую. Главное понять принцип. Для начала, если у вас нет магазина с классом "спички" вы должны создать его в конфиге. Расписывать не буду. Для проверки, можно вместо спичек выбрать любой другой предмет в инвентаре. Главное вписать его класс в проверку двойного клика на нем.
class CfgMagazines {
class CA_Magazine;
class WC_Matches : class CA_Magazine;{
scope = 2;
displayName = "Коробок Спичек";
descriptionShort = "Спички - детям не игрушка";
picture = "\путь к картинке\matches.paa"; // можно сделать свою картинку или поставить пустую строку ""
model = "\A3\Structures_F_EPA\Items\Tools\Matches_F.p3d";
mass = 1;
};
};
Заиметь в инвентаре предмет. Допустим это класс "WC_Matches". Можно в инит игрока добавить: this addItem "WC_Matches";
Потом все следующее у меня оформлено в скрипте и вызывается из инита миссии (но там много еще чего намешано.Выдрал только спички)
Для проверки можно этот код скопировать в консоль и выполнить его после запуска миссии в редакторе. Проверил - работает.
if (isdedicated) exitwith {};
handle = [] spawn
{
fn_dblClick =
{
private ["_unit","_item"];
_idc = ctrlIDC (_this select 0);
_selectedIndex = _this select 1;
_unit = player;
_item = lbData [_idc, _selectedIndex];
closeDialog 2;
if (_item == "WC_Matches" ) then
{
TitleText ["Делаем костер", "PLAIN DOWN",0.5];
_pos = player getRelPos [1.5, 0];
_fireplace = createVehicle ["Land_Campfire_F",_pos, [], 0, "can_collide"];
};
false
};
while {true} do
{
waituntil {!(isnull (finddisplay 602))};
((findDisplay 602) displayCtrl 638) ctrlSetEventHandler ["LBDblClick", "_this call fn_dblClick"];
((findDisplay 602) displayCtrl 633) ctrlSetEventHandler ["LBDblClick", " _this call fn_dblClick"];
((findDisplay 602) displayCtrl 619) ctrlSetEventHandler ["LBDblClick", "_this call fn_dblClick"];
waituntil {isnull (finddisplay 602)};
};
};
Надеюсь понятно.
Данный тип костра зажигается без проверки наличия спичек, так что у себя я создаю костер проверяя есть ли в инвентаре игрока сама модель костра (как вариант - дрова) и спички.