На Алтисе на северо-востоке есть мыс стригла там стоит маяк территория ограждена. Вопрос как открыть ворота? Чтобы в игре они были распахнуты. Заранее спасибо!
Как открыть ворота?
Best Answer 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";
};
};
};
И будет вам счастье.
Go to the full post
#1
OFFLINE
Posted 03 July 2014 - 22:34
#2
OFFLINE
Posted 04 July 2014 - 11:46
попробуй модуль открытия дверей/люков в радиусе. Двери по крайней мере открывает
Edited by MrCreppo, 04 July 2014 - 11:48.
#3
OFFLINE
Posted 04 July 2014 - 11:52
Так на воротах не сработало.
Есть такой вариант - сначала сломай их а потом спрячь.
(getPos logic nearestObject 1515680) setDamage 1; hideObject (getPos logic nearestObject 1515680);
Edited by MrCreppo, 04 July 2014 - 11:54.
#4
OFFLINE
Posted 04 July 2014 - 15:41
Так на воротах не сработало.
Есть такой вариант - сначала сломай их а потом спрячь.
(getPos logic nearestObject 1515680) setDamage 1; hideObject (getPos logic nearestObject 1515680);
Куда это вставить в логику игры? Иль нет?
#5
OFFLINE
Posted 04 July 2014 - 19:52
Так на воротах не сработало.
Есть такой вариант - сначала сломай их а потом спрячь.
(getPos logic nearestObject 1515680) setDamage 1; hideObject (getPos logic nearestObject 1515680);Куда это вставить в логику игры? Иль нет?
Агась. Но player вместо logic вроде робит. На расстоянии не проверял.
Edited by MrCreppo, 04 July 2014 - 19:53.
#6
OFFLINE
Posted 04 July 2014 - 20:42 Best Answer
Ставите в редакторе рядом с воротами игровую логику, в инит логики пишете
// Открыть ворота 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";
};
};
};
И будет вам счастье.











