フォーラムへの返信
-
投稿者投稿
-
POLPOXメンバー
あれーおかしいなあちゃんと動いたんだけどなあ。
もしよかったら原因とか教えてくれたら糧になるかも。スクリプトは粛清しておきました- この返信は7年、 4ヶ月前にPOLPOXが編集しました。
POLPOXメンバーPOLPOXメンバーChatを規制するdescription.extのdisableChannels[]ですが、これはスクリプトで代替できます。
(番号) enableChannel false
でチャンネルを規制できます。
さっきtricoさんから少しお話し聞いたんですけど全体に見えるマーカーが設置できない問題が発生しているみたいですね。
というわけで先ほどのスクリプトをミッション開始後、すなわち
waitUntil {time != 0}
なりなんなりを挟んでから実行すればブリーフィング中にも全員に見えるマーカーが描けるはずです。それと、落書き防止のためにミッションが始まった後一定時間まではグループリーダー以外はマーカーを描けないスクリプトを作ってみました。
一応Edenのマルチで想定通りに動くことを確認しましたけど、実際にマルチでちゃんと動くかは分かりません。_timeLimit = 60 ; while {time <= _timeLimit} do { _markers = allMapMarkers ; waitUntil {count _markers != count allMapMarkers or {time >= _timeLimit}} ; if (time >= _timeLimit) exitWith {} ; _count = count allMapMarkers ; if ( (((allMapMarkers select _count -1) splitString "#/") select 1) == str owner player and {leader group player != player} ) then { deleteMarker (allMapMarkers select _count -1) ; if (getClientStateNumber >= 11) then { _time = (_timeLimit - time) ; ["You are not allowed to place markers until: " + str (floor (_time /60)) + "m" + str (floor (_time mod 60)) + "s","Alert"] call BIS_fnc_guiMessage; } ; } ; } ;
_timeLimitは文字通りミッションが始まってからの秒数です。この状態では始まってから1分間は描けないということになります。
改造はご自由に。POLPOXメンバー>michyさん
ちょっと違いますね。Zeusを起動したままじゃないと選択が有効じゃない(はず)なのでZeusを起動したままコンソールか何かで起動してください。
…ここまで書いてアクションメニュー云々が間違っている事に気がついたハズカシィPOLPOXメンバー>michyさん
起動できればよいので、それで問題はありません。このままだと肝心のArsenal設定は含まれてないですが、その辺は大丈夫ですよね?POLPOXメンバー>michyさん
個人用にサクッと作ったZeus利用のArsenalスクリプトならありますが…ほとんどメンテしてないので誤作動が起きるかも分かりませんが、貼っておきます。_boxes = (curatorSelected select 0) ; _weapons = [] ; _magazines = [] ; _items = [] ; _backpacks = [] ; { _weapons = _weapons + weaponCargo _x ; _magazines = _magazines + magazineCargo _x ; _items = _items + itemCargo _x ; _backpacks = _backpacks + backpackCargo _x ; } forEach _boxes ; copyToClipboard format [" [_box,%1,true] call BIS_fnc_addVirtualWeaponCargo ; [_box,%2,true] call BIS_fnc_addVirtualMagazineCargo ; [_box,%3,true] call BIS_fnc_addVirtualItemCargo ; [_box,%4,true] call BIS_fnc_addVirtualBackpackCargo ; ",_weapons,_magazines,_items,_backpacks] ;
Zeus開いてAmmoboxにArsenalに入れたいアイテムを片っ端から入れて、そのAmmoboxをZeusで選択した状態でこのスクリプトを起動すればクリップボードに情報がぶち込まれます。
POLPOXメンバー久々に覗いてみたら質問が来ていたので答えてみる。
>るーでるさん
たぶんそれはaddEventHandlerを使えば実現できると思います。
addEventHandlerはユニット名と配列を投げると、配列の内容に応じてタイミングでスクリプトを発動させられます。
そのユニットが死亡したタイミングでスクリプトを起動させるなら、
(ユニット) addEventHandler ["Killed",{(適当なスクリプト)}]
で起動できます。また、起動したスクリプトには独立して引数が設定されていて、スクリプトの中において_this select 0//死亡したユニット _this select 1//殺害したユニット
が引数として使えます。
これを踏まえると、敵部隊には
(ユニット) addEventHandler ["Killed",{enemyKilledCount = enemyKilledCount + 1}]
スクリプト湧きの民間人には(ユニット) addEventHandler ["Killed",{ if (isPlayer (_this select 1)) then { civilKilledCount = civilKilledCount + 1 } ; }]
とすると実現できると思います。
民間人のスポーンにどのスクリプトを使っているかは知りませんが、恐らくスクリプトの引数の中にスポーンさせたときどんなスクリプトを起動するかっていう引数があると思うので、そこにぶち込めばいいと思います。また、敵一人ひとりにスクリプトを適用するのが面倒なら、
{ if (side _x == opfor) then { _x addEventHandler ["Killed",{enemyKilledCount = enemyKilledCount + 1}] ; } ; } forEach allUnits
とすれば自動的に全部の敵(この場合はOPFOR陣営)に適用できます。
POLPOXメンバー>Line氏
既存の物では2バイト文字が使用不可です。
なのでこちら側からDESCRIPTIONで設定しておかないと2バイト文字が使用できません。もしかして、文字コードの設定をUTF-8以外にしてませんか?UTF-8なら日本語も扱えるはずですが…
POLPOXメンバー>akasaka氏
おはようございます。ちょっと詳しいことが書いていないのでピンと来ないんですが、もしかするとエディターで生成したフォルダ名と生成するpbo名を別にして保存してませんか?この名前を同じにしないとスクリプトと一緒に保存されませんよ。これだけじゃちょっと短い気がしたので、なんかみんな知らないみたいな事実を書いてみます。
Offroad、SUVなどの毎回色が変わる民間車などは、(_carは設定したい車で)
_car setVariable ["BIS_enableRandomization",false]
で色の変更を無効化できるほか、
_car setVariable ["color",(整数)]
を使えば(BIS_enableRandomizationが無効化されていなくても)デフォルトで用意された色の中で固定されます。うん、知ってたらごめんね。
POLPOXメンバー別にどうでもいいし、殆ど自己満足だけどちょっと気になったところを補足します。
description.extについてですが、別に
class CfgNotifications { /*略*/ };
の部分は書かなくてもいいです。デフォルトで用意されている
TaskAssigned TaskCanceled TaskCreated TaskFailed TaskSucceeded TaskUpdated
で代用できます。
あと、CSATのDeviceは、
sleep (random 5) ; while {alive _this} do { if (typeOf _this == "Land_Device_assembled_F") then { _this say3D "Device_assembled_loop" ; } else { _this say3D "Device_disassembled_loop" ; } ; sleep 30 ; } ;
これを使うと音がフォンフォンフォンフォン…と聞こえて雰囲気の向上に貢献してくれます。
POLPOXメンバープレイヤーがtricoさんだったときにいつもの帽子を自動的に着けてくれるスクリプトです!これをinit.sqfかなんかに入れればtricoさんもニッコリ!
if (toLower name player == "trico") then { player addHeadgear "H_Cap_surfer" ; } ;
POLPOXメンバーArma3のCAF Aggressorsで追加されたAKを出来る限りHLC AK Packのものに置き換えるスクリプト作ってみました。
DL
使い方は簡単!水を入れたらレンジでチン!init.sqfなどに次のコードを入力してください。
[] execVM "PLP_akReplace.sqf"
又は
true execVM "PLP_akReplace.sqf"
前者のコードは例えばCAF AK74がHLC AK74に置き換わりますが、後者のコードはHLC AK74に加え時々HLC AKS74やAKS74u等に置き換わるようになります。CAF AK47とCAF AK74とCAF AK74GLとCAF RPK74とそのマガジンに対応。
残念ながら人のみ対応。Ammoboxは対応してません。POLPOXメンバーおっ、本当だ、てんぷらさんありがとうございます!
POLPOXメンバーいつもPlay with SIXでTriserverにお邪魔しているんですが、
http://www.triserver.com/arma2main/server.yml のopenがfalseだとプロファイルを変更できないみたいです。
このままだとTriserverのプロファイルに新しくMODが入れられずにちょっと困っております。
諦めてPlay with SIXから乗り換えるべきでしょうか。- この返信は10年、 1ヶ月前にPOLPOXが編集しました。
-
投稿者投稿