返信先: Arma3 スクリプト公開スレ

ホーム フォーラム TRI Gaming フォーラム Arma3 スクリプト公開スレ 返信先: Arma3 スクリプト公開スレ

#177413
Stealer
メンバー

Set Suit Language To Spawned AI Character

湧かせたAIユニットに選択した言語の中からバリエーションをランダムに選択して割り当てます。

MODで追加された兵士は設定された所属勢力に関係なくデフォルトが英語になっていたりするので、湧かせるとチェダキやタキスタンゲリラが英語を喋って萎えたので作りました。

同梱の湧きスクリプトは必須ではないので、各自用意した湧きスクリプトに組み込んで使用してください。
湧かせたグループに対して使用する単機能スクリプトです。

使い方

要素0: 対象(人物)
	_x
要素1: 言語
	"ENG": 英語(アメリカ英語)
	"PER": ペルシャ語 (CSAT兵の言語)
	"GRE": ギリシャ語
	"ENGB": ブリングリッシュ
	"ENGFRE": タノア語
	"CHI": 中国語
	"FRE": フランス語
	
	---MODで追加された言語の対応---
	"RU": ロシア語 CUP追加
	"TK": パシュトゥーン語(タキスタン語) ※バリエーション無し CUP追加

if !(isserver)  exitwith  {};

private ["_person","_language","_num","_options","_selected","_voice","_vanilla"];
_person = _this select 0;
_language = _this select 1;

_vanilla = false;
_voice = "";

switch  (_language) do
{
	case "ENG": {_num = 12; _vanilla = true};
	case "ENGB": {_num = 5; _vanilla = true};
	case "ENGFRE": {_num = 3; _vanilla = true};
	case "PER": {_num = 3; _vanilla = true};
	case "CHI": {_num = 3; _vanilla = true};
	case "FRE": {_num = 4; _vanilla = true};
	case "GRE": {_num = 6; _vanilla = true};
	
	case "RU": {_num = 5};
	case "TK": {_num = 1};
};

_options = [1, _num] call BIS_fnc_randomInt;
_selected = str ([_options] call BIS_fnc_selectRandom);

if (_vanilla) then {_voice =  ("" + "Male0"+ _selected + _language + "");}
else
 {_voice =  ("" + "CUP_D_Male0"+ _selected + "_" + _language + "");};

sleep .2;
[_person, _voice] remoteExecCall ["setSpeaker", 0];

//オプション: 声の抑揚(ピッチ) 一度に湧かせるユニットがそれほどの数でない場合適用(通信負荷軽減)
//[_person, (0.9 + random 0.2)] remoteExecCall ["setPitch", 0];

v0.01ではとりあえずのリリースですが、配置済みのMODユニットに対する煩雑な言語変更を緩和する為に一括適用する更新も需要があればします。
(早く修正されてレガシーになるといいね)

16/12/22
v0.02 – edited by POLPOX(動作確認部のみ)
・対応言語追加
・消し忘れの変数/宣言の削除
・抑揚オプション追加

AI_language_Sample.VR.zip

  • この返信は9年、 7ヶ月前にStealerが編集しました。理由: v0.02