На Алтисе на северо-востоке есть мыс стригла там стоит маяк территория ограждена. Вопрос как открыть ворота? Чтобы в игре они были распахнуты. Заранее спасибо!
Как открыть ворота?
Лучший Ответ SteelRat , 04 July 2014 - 20:42
Ставите в редакторе рядом с воротами игровую логику, в инит логики пишете
// Открыть ворота 0 = [this, ["Land_Net_Fence_Gate_F"], "open"] execVM "functions\fn_actionsGate.sqf"; // Или, закрыть ворота 0 = [this, ["Land_Net_Fence_Gate_F"], "close"] execVM "functions\fn_actionsGate.sqf";
Далее в папке с миссией создаёте папку с названием
functions
в этой папке создаёте файл с названием
fn_actionsGate.sqf
в этот файл копируете код
/* Created by SteelRat ( ProjectTeam ) */ _lgGate = _this select 0; _classGate = _this select 1; _actionType = _this select 2; _gatesTest = nearestObjects [_lgGate, _classGate, 50]; if ((count _gatesTest) == 0) exitWith {}; _gate = _gatesTest select 0; switch (_actionType) do { case "open": { // OpenDoor_1 if (((_gate animationPhase 'Door_1_rot') < 0.5) && ((_gate getVariable ['bis_disabled_Door_1',0]) != 1)) then { [_gate, "Door_1_rot"] execVM "\A3\Structures_F\scripts\DoorNoHandle_open.sqf"; }; // OpenDoor_2 if (((_gate animationPhase 'Door_2_rot') < 0.5) && ((_gate getVariable ['bis_disabled_Door_2',0]) != 1)) then { [_gate, "Door_2_rot"] execVM "\A3\Structures_F\scripts\DoorNoHandle_open.sqf"; }; }; case "close": { // CloseDoor_1 if (((_gate animationPhase 'Door_1_rot') >= 0.5) && ((_gate getVariable ['bis_disabled_Door_1',0]) != 1)) then { [_gate, "Door_1_rot"] execVM "\A3\Structures_F\scripts\DoorNoHandle_close.sqf"; }; // CloseDoor_2 if (((_gate animationPhase 'Door_2_rot') >= 0.5) && ((_gate getVariable ['bis_disabled_Door_2',0]) != 1)) then { [_gate, 'Door_2_rot'] execVM "\A3\Structures_F\scripts\DoorNoHandle_close.sqf"; }; }; };
И будет вам счастье.
Перейти к сообщению#1 OFFLINE
Отправлено 03 July 2014 - 22:34
#2 OFFLINE
Отправлено 04 July 2014 - 11:46
попробуй модуль открытия дверей/люков в радиусе. Двери по крайней мере открывает
Сообщение отредактировал MrCreppo: 04 July 2014 - 11:48
#3 OFFLINE
Отправлено 04 July 2014 - 11:52
Так на воротах не сработало.
Есть такой вариант - сначала сломай их а потом спрячь.
(getPos logic nearestObject 1515680) setDamage 1; hideObject (getPos logic nearestObject 1515680);
Сообщение отредактировал MrCreppo: 04 July 2014 - 11:54
#4 OFFLINE
Отправлено 04 July 2014 - 15:41
Так на воротах не сработало.
Есть такой вариант - сначала сломай их а потом спрячь.
(getPos logic nearestObject 1515680) setDamage 1; hideObject (getPos logic nearestObject 1515680);
Куда это вставить в логику игры? Иль нет?
#5 OFFLINE
Отправлено 04 July 2014 - 19:52
Так на воротах не сработало.
Есть такой вариант - сначала сломай их а потом спрячь.
(getPos logic nearestObject 1515680) setDamage 1; hideObject (getPos logic nearestObject 1515680);Куда это вставить в логику игры? Иль нет?
Агась. Но player вместо logic вроде робит. На расстоянии не проверял.
Сообщение отредактировал MrCreppo: 04 July 2014 - 19:53
#6 OFFLINE
Отправлено 04 July 2014 - 20:42 Лучший Ответ
Ставите в редакторе рядом с воротами игровую логику, в инит логики пишете
// Открыть ворота 0 = [this, ["Land_Net_Fence_Gate_F"], "open"] execVM "functions\fn_actionsGate.sqf"; // Или, закрыть ворота 0 = [this, ["Land_Net_Fence_Gate_F"], "close"] execVM "functions\fn_actionsGate.sqf";
Далее в папке с миссией создаёте папку с названием
functions
в этой папке создаёте файл с названием
fn_actionsGate.sqf
в этот файл копируете код
/* Created by SteelRat ( ProjectTeam ) */ _lgGate = _this select 0; _classGate = _this select 1; _actionType = _this select 2; _gatesTest = nearestObjects [_lgGate, _classGate, 50]; if ((count _gatesTest) == 0) exitWith {}; _gate = _gatesTest select 0; switch (_actionType) do { case "open": { // OpenDoor_1 if (((_gate animationPhase 'Door_1_rot') < 0.5) && ((_gate getVariable ['bis_disabled_Door_1',0]) != 1)) then { [_gate, "Door_1_rot"] execVM "\A3\Structures_F\scripts\DoorNoHandle_open.sqf"; }; // OpenDoor_2 if (((_gate animationPhase 'Door_2_rot') < 0.5) && ((_gate getVariable ['bis_disabled_Door_2',0]) != 1)) then { [_gate, "Door_2_rot"] execVM "\A3\Structures_F\scripts\DoorNoHandle_open.sqf"; }; }; case "close": { // CloseDoor_1 if (((_gate animationPhase 'Door_1_rot') >= 0.5) && ((_gate getVariable ['bis_disabled_Door_1',0]) != 1)) then { [_gate, "Door_1_rot"] execVM "\A3\Structures_F\scripts\DoorNoHandle_close.sqf"; }; // CloseDoor_2 if (((_gate animationPhase 'Door_2_rot') >= 0.5) && ((_gate getVariable ['bis_disabled_Door_2',0]) != 1)) then { [_gate, 'Door_2_rot'] execVM "\A3\Structures_F\scripts\DoorNoHandle_close.sqf"; }; }; };
И будет вам счастье.