アクション メニューから | 引き摺れます |
BI フォーラム上で、Arma 3 のオブジェクトを移動させられる Drag & Drop システム スクリプト が公開されました。
このスクリプトはヘリコプターやトラックでの物資輸送を可能とする IgiLoad スクリプト と共に、使用する為に開発が行われており、マルチ プレイで動作します。
小さい物も | 持って運べます |
使い方
- エディタ上で設置した運びたいオブジェクトに名前をつける (例:Obj1)
- オブジェクトの init 欄に下記の構文をコピー
-
ミッション フォルダ内に
Objects
という名のファイルを作製 - "Objects" 内に 2 つのスクリプトを作成
clearMagazineCargo this; Take1 = Obj1 addAction ["Drag","Objects\Attach_big.sqf",[],1,true,true,"","_this distance _target < 2"];"Drag" 部分は変更が可能で、画像を使うなら "
<img image='Take.jpg' size='4.8' shadow=1 />"
player playAction "grabDrag";
Sleep (0.01);
waitUntil { ((AnimationState player) == "AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2 ") || ((AnimationState player) == "AmovPercMstpSnonWnonDnon_AcinPknlMwlkSnonWnonDb_2 ")};
Obj1 attachTo [player, [0,1.0,0.3]];
player playMove "AcinPknlMwlkSrasWrflDb";
obj1attached=true;
PublicVariable "obj1attached";
Drop1 = player addAction ["" +"Drop ","Objects\Detach_big.sqf",[],1,true,true,"","obj1attached"];
while {obj1attached} do {
[] spawn {
{Player removeaction Take1} forEach allUnits;
};
};
[] spawn {
{Player removeaction Drop1} forEach allUnits;
};
detach Obj1;
Obj1 setpos [getpos Obj1 select 0,getpos Obj1 select 1,0];
sleep 0.5;
obj1detached2=true;
PublicVariable "obj1detached2";
sleep 0.5;
player playMoveNow "AmovPknlMstpSrasWrflDnon";
コーンなどの小さなオブジェクトの場合は、以下のスクリプトになります。
player playAction "PutDown";
Sleep (0.01);
waitUntil { ((AnimationState player) == "AinvPercMstpSrasWrflDnon_Putdown_AmovPercMstpSras WrflDnon")};
RoadCone1 attachTo [player, [-0.15,-0.15,0.15],"Pelvis"];
RoadCone1 setVectorDirAndUp [[0.5,0.5,0],[-0.5,0.5,0]];
obj1attached=true;
PublicVariable "obj1attached";
Drop2 = player addAction ["" +"Ablegen ","Objects\Detach_small.sqf",[],1,true,true,"","obj1attached"];
while {obj1attached} do {
[] spawn {
{Player removeaction Take2} forEach allUnits;
};
};
[] spawn {
{Player removeaction Drop2} forEach allUnits;
};
player playMove "AinvPercMstpSrasWrflDnon_Putdown_AmovPercMstpSras WrflDnon";
detach RoadCone1;
RoadCone1 setpos (player modelToWorld [0,1,0]);
sleep 0.5;
obj1detached=true;
PublicVariable "obj1detached";
sleep 0.5;
1 つのオブジェクトを移動させるのには 2 つのスクリプトが必要というのが煩わしいですが、現在はより良いスクリプトにしようと模索中とのこと。
0 コメント:
コメントを投稿