NSTomoS

フォーラムへの返信

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • 返信先: ACE3について #266361
    NSTomoS
    参加者

    Unconscious からの復帰に Epinephrine が与える影響ついて

    ここに書いた情報は 2020/05/04 時点の情報です.
    ace のアップデートや,TRI鯖の設定変更等が原因で変わる恐れがあります.

    変更されたそうなので,以下の内容は参照しないで下さい.
    ACE3 の実装を読む参考になるかもしれないので一応残しておきます.

    advancedMedication=false の場合の挙動

    NSTomoSのミスで誤っている可能性があります…

    まとめ

    • Epinephrine 打った時に,バイタルが安定していればすぐに復帰する.
    • Epinephrine には即時的な効果しかないので,一度 Epinephrine を打った後で,バイタルを安定させた場合は,再度 Epinephrine を打つ必要がある.

    以下はメモ(裏付け)なので興味ない人は読み飛ばしてください

    経験的には

    • Epinephrine を打つと復帰が早くなる
      • 「(バイタルが安定していれば?)Epinephrine を打つと(15 秒以内?)の復帰率 100 % な気がする」との報告も

    ドキュメントの説明では

    • > Epinephrine can boost the chances of waking up by increasing the amount of checks the wake up chance
      • Epinephrine を打つと復帰するかのチェック回数が増える
      • チェック回数が増えることで復帰率が上がる
        • 経験的な知見と矛盾するように見える

    コード上では

    • fnc_handleStateUnconscious.sqf
      private _wakeUpCheckInterval = SPONTANEOUS_WAKE_UP_INTERVAL;
      if (EGVAR(medical,spontaneousWakeUpEpinephrineBoost) > 1) then {
          private _epiEffectiveness = [_unit, "Epinephrine", false] call EFUNC(medical_status,getMedicationCount);
          _wakeUpCheckInterval = _wakeUpCheckInterval * linearConversion [0, 1, _epiEffectiveness, 1, 1 / EGVAR(medical,spontaneousWakeUpEpinephrineBoost), true];
          TRACE_2("epiBoost",_epiEffectiveness,_wakeUpCheckInterval);
      };
      
      • 設定的には spontaneousWakeUpEpinephrineBoost1より大きい場合に wakeUpCheckInterval の値を(小さく)変更する.(=チェック回数が増える)
        • ドキュメント通りの実装
          • 過去に打った回数を参照して効果率を変化させて線形変換しているっぽい
        • 現状のTRI鯖では, force ace_medical_spontaneousWakeUpEpinephrineBoost = 1; に設定されている
          • つまり,現状のTRI鯖では,Epinephrine は Unconscious からの復帰に影響しないはず…
            • 経験的な知見と矛盾する?
          • 現状のTRI鯖では,Epinephrine は Unconscious からの spontaneousWake(自発的な復帰) に影響しない
        • もしかしたら advancedMedication=true の場合にのみ通る path かもしれない???
    • fnc_medicationLocal.sqf
      // Exit with basic medication handling if advanced medication not enabled
      if (!GVAR(advancedMedication)) exitWith {
          switch (_classname) do {
              case "Morphine": {
              private _painSuppress = GET_PAIN_SUPPRESS(_patient);
                  _patient setVariable [VAR_PAIN_SUPP, (_painSuppress + MORPHINE_PAIN_SUPPRESSION) min 1, true];
              };
              case "Epinephrine": {
                  [QEGVAR(medical,WakeUp), _patient] call CBA_fnc_localEvent;
              };
          };
      };
      
      • advancedMedication=false の場合は Epinephrine を打つと ["ace_medical_WakeUp", _patient] call CBA_fnc_localEvent" が call される
      • "ace_medical_WakeUp" の内容はここっぽい
        
        class WakeUp {
            targetState = "Injured";
            condition = QEFUNC(medical_status,hasStableVitals);
            events[] = {QEGVAR(medical,WakeUp)};
            onTransition = QUOTE([ARR_2(_this,false)] call EFUNC(medical_status,setUnconsciousState));
        };
        
        • Vitals が安定していれば UnconsciousStatefalse が set される?(=バイタルが安定していれば Unconscious から復帰する)
          • 呼び出し関係を理解していないので正確ではない可能性があるが,経験的な動作と一致

    コードまとめ

    • Unconscious からの復帰に Epinephrine が与える影響は二種類ある
      • Epinephrine 打った時に,バイタルが安定していれば(即)復帰する
        • (現状のTRI鯖で有効な)普段目にする効果
        • advancedMedication=false の場合のみ
      • Epinephrine が効いている間, バイタルが安定していれば確率的に復帰する回数が増える(spontaneousWakeUpEpinephrineBoost)
        • ドキュメントにはこっちしか書いてなかった
    • 後者の影響が advancedMedication=false で有効かは不明(調べるの面倒で力尽きました)
      • 例えば,バイタルが安定していない状態で Epinephrine 打った直後にバイタルが安定した場合に追加で Epinephrine を打つ必要があるかどうか
      • 現状のTRI鯖の設定では ace_medical_spontaneousWakeUpEpinephrineBoost = 1; なので advancedMedication の設定に関わらず spontaneousWakeUpEpinephrineBoost は無効
    • この返信は4年前にNSTomoSが編集しました。
    • この返信は4年前にNSTomoSが編集しました。
    • この返信は4年前にNSTomoSが編集しました。
    • この返信は4年前にNSTomoSが編集しました。
    • この返信は4年前にNSTomoSが編集しました。
    • この返信は2年、 11ヶ月前にNSTomoSが編集しました。
    返信先: ACE3について #266225
    NSTomoS
    参加者

    このページは ACE3 wiki Medical System を訳しました.

    2020/05/02 時点での最新版の情報を反映しています.

    誤り・更新があった場合は適宜修正してください.

    Medical System: 医療システム

    Overview: 概要

    ACE3では,より現実的な医療システムをユーザーに提供する.

    古いドキュメント(医療再実装前のもの)はgithubにある.

    医療再実装では,”basic” や “advanced” のレベルから,より個々に合わせた設定が可能な方法に焦点を変えた.

    Settings: 設定

    Wounds: 怪我

    Limping: 足を引きずる

    足を引きずる効果は “Disabled(足を引きずらない)”,”Open Wounds(開いた傷で足を引きずる)”,”Limp on Open or Bandaged Wounds(開いた傷または包帯を巻いた傷で足を引きずる)” の条件を設定出来る.
    この効果は縫合時や Personal Aid Kit を使用した時に解除される.

    Fractures: 骨折

    Fractures: 骨折は手足に痛みが生じ,武器の揺れが大きくなり,ジョギング・ランニングができなくなったりする.
    “Disabled(骨折しない)”,”Splints Full Heal Fractures(添え木で完治)”,”Splints Heal but Cannot Sprint(添え木で治療可能だが,走れない)”に設定出来る.

    Fracture Chance: (骨折が起こり得る)各外傷時に骨折が起こる確率

    Unconscious Wake Up Chance: 意識不明からの復帰可能性

    意識不明の間,15 秒ごとにバイタルが安定しているかのチェックが行われる.(つまりバイタルが安定していなければ復帰しない)
    この設定はデフォルトで 5% に設定されており,15 秒ごとに 5% の確率で安定した人が意識不明から目覚める.
    さらに,Epinephrine はチェック回数を増やすことで,復帰の可能性を高める.

    Fatal Damage Source: 致命傷源

    致命傷源は,”Large hits to vital organs(致命的な臓器への大当たり)”,”Sum of trauma(外傷の合計)”,”Either(両方)”で制御されるようになった.
    これは精密射撃や,単に傷の量が多いだけで,プレイヤーや AI に致命的なダメージを与えることができることを意味する.

    Damage Threshold: ダメージ閾値

    “Sum of Trauma” が有効な場合に,プレイヤーと AI が意識不明または死亡するまでにどれくらいのダメージを受けられるかを決める2つのスライダー.
    高い値に設定するとユニットが強くなり,低い値に設定するとユニットが弱くなる

    AI

    Medic AI:

    Medic AI: 衛生兵として設定された AI が,抑圧射撃されていないか安全であれば,グループメンバーに対して医療行為を行うことを意味する.

    Blood: 血液

    Blood Drops: 血液のしたたり

    出血しているユニットによって血液のしたたりが発生するが,これは誰かが出血していることに気づいていないチームにとっては良い指標になる.
    これは “Disabled(無効)”,”Only Players(プレイヤーのみ有効)”,”Enabled(有効)”のいずれかに設定することが出来る.

    Max Blood Objects: 血液オブジェクトの最大数

    デフォルトでは 500 に設定されているが,この数値を高く設定しすぎると FPS が低下してしまうため,高く設定しない方が良い.

    Blood Lifetime: 血液オブジェクトの生存時間

    血滴が消えるまでの時間.
    デフォルトでは15分.

    Feedback:

    Pain Effect Type

    痛みがある場合,プレイヤーは “White Flashing”,”Pulsing Blur”,”Chromatic Abberation”,”Only high pain effect” が表示される.
    デフォルトでは “White Flashing”.
    これは個人の好みであり,個人にのみ影響.

    Low Blood Volume Effect Type

    プレイヤーが大量の出血をした場合,”Color Fading(退色)”,”Icon(アイコン)”,”Icon + Color Fading(退色+アイコン)”のいずれかの形で視覚的に表示される.
    これは個人の好みであり,個人にのみ影響.

    GUI

    Enable Medical Actions: 他者への医療行為

    ACE interaction による医療行為の有無と種類を設定.
    “Selections (3D)(選択式)”, “Radial(円形)”,”Disabled(無効)”に設定出来る.
    この設定を無効にすると,他の人の治療は “Medical Menu” が有効な場合に医療メニューを介してのみが可能になる.

    Enable Medical Self Actions: 自分への医療行為

    Enable Medical Actions と同じように,これは ACE self-interaction の医療オプションを有効化/無効化するためのチェックボックス.

    Medical Menu: 医療メニュー

    Medical Menu: デフォルトでは “H” にキーバインドされており,ACE interaction/self-interaction を介してアクセスすることが出来る.
    これの使用法は,瀕死の重傷者を比較的簡単に治療可能なため,個人的な好みによる.
    “Enabled(有効)”,”Disabled(無効)”または “Vehicles Only(車両のみ)”に設定することが出来る.

    Reopen Medical Menu: 有効にすると,治療後に医療メニューが自動的に再表示される.

    Maximum Distance: 負傷者からどれだけ離れたら,医療メニューが利用できなくなるかの距離.

    Litter: 医薬品ごみ
    Litter Objects: 医薬品ごみオブジェクト

    Enable Litter: 治療後の医薬品ゴミ作成の有効化・無効化のチェックボックス.

    Max Litter Objects: デフォルトでは500に設定されているが,FPSが悪化し得るのでこれを増やすことは避けるべき.

    Litter Lifetime: 医薬品ごみオブジェクトの生存時間.
    デフォルトでは600秒(10分)に設定されている.
    これを -1 に設定すると無限の生存時間になるが,長いミッションでは避けるべき.

    States: 状態
    Fatal Injuries: 致命傷

    Player Fatal Injuries: プレイヤーが頭部や胴体に大きなダメージを受けて即死するかどうかを制御.
    “Always(常に)”,”In Cardiac Arest(心停止)”,”Never(しない)”のいずれかに設定することが出来る.
    “In Cardiac Arest(心停止)” に設定されている場合,最初に意識を失った状態でなければ,死ぬことはない.

    AI Fatal Injuries: Player と同様に動作.

    Unconsciousness & Cardiac Arrest

    AI Unconsciousness: AIがダメージを受けて意識不明状態に陥るかどうかを設定する有効/無効のチェックボックス.
    “AI Fatal Injuries” が “In Cardiac Arrest” に設定されている場合は,無意識状態を有効にする必要がある.

    Cardiac Arrest Time: 心停止時間.
    デフォルトでは5分に設定されており,負傷者の心臓が停止すると(死ぬまでに)5分間のカウントダウンが始まる.
    負傷者を心肺蘇生しなければ,負傷者は死ぬ.

    Status
    Bleeding, Pain and IVs: 出血・痛み・IV

    Bleeding Coefficient: 出血速度を制御し,速くするために高く設定し,遅くするために低く設定する.

    Pain Coefficient: 痛みの強さをコントロールし,強い強さの場合は高く設定し,弱い強さの場合は低く設定する.

    IV Transfusion Flow Rate: デフォルトでは,このスライダは1に設定されている.
    このスライダを増やすと IV が負傷者に入る速度が速くなり,減らすと速度が遅くなる.

    Treatment: 治療
    Diagnose, Medication and Bandages: 診断・薬剤・包帯

    Advanced Diagnose: チェックボックスをオンにすると,”Check Pulse(脈拍確認)”,”Check Blood Pressure(血圧確認)”,および”Check Response(意識確認)”の治療アクションが有効になる.この設定は,負傷者が意識不明か心停止状態かを判断するために不可欠.

    Advanced Medication: morphine(モルヒネ),Epinephrine(エピネフリン)のより深い使用(詳細不明)を可能にし,adenosine(アデノシン)の使用を可能にするチェックボックス.

    Advanced Bandages: 異なる包帯タイプの治療アクションを有効にし,”Enabled(有効)”,”Disabled(無効)”,”Enabled & Can Reopen(有効かつ再出血有)”に設定出来る.
    縫合を有効にするには,この設定を “Enabled & Can Reopen”に設定する必要がある.

    Clear Trauma After Bandage: medical attention で完全治癒を有効にするかどうかを設定する.

    Medic Settings

    Locations Boost Training: チェックボックスをオンにすると,医療施設/車両付近の衛生兵のレベルが上がり,その場所にいると未訓練者が衛生兵になり,衛生兵が医師になる.

    Allow Shared Equipment: 負傷者と衛生兵で共有する医薬品を制御するための設定.
    “Patient’s Equipment First(負傷者の装備を先に)”,”Medic’s Equipment First(衛生兵の装備を先に)”,”No(未設定)”のいずれかに設定出来る.
    “Patient’s Equipment First” か “Medic’s Equipment First” に設定することで,医療品がなくなるまでの間,どのインベントリから最初に医療品を取り出すかを制御する.
    “No” に設定した場合,どの衛生兵も自分のインベントリの中にあるものだけを利用することができ,負傷者の機器を使用することはできない.

    Convert Vanilla Items: バニラアイテムを ACE 医薬品に変換するかどうかを制御する.
    “Enabled(有効)” , “Disabled(無効)” , “Ignore(無視)” のいずれかに設定可能.
    これを”Enabled”にすると,First Aid Kit は少量の基本的な医薬品に,Medikit は高度な医薬品に変換される.
    “Ignore” を設定として使用すると,First Aid Kit or Medikit のままになる.

    Allow Epinephrine: この設定では,誰がエピネフリンを使用できるかを制御する.
    “Anyone(誰でも)”,”Medics(衛生兵と医師のみ)”,”Doctors(医師のみ)”に設定出来る.

    Allow PAK: “Allow Epinephrine” と同様

    Allow Surgical Kit: “Allow Epinephrine” と同様

    Allow IV Transfusion: “Allow Epinephrine” と同様

    Locations Epinephrine: この設定では,エピネフリンを使用できる場所を制御する.
    “Anywhere(どこでも)”,”Medical Vehicles(医療車両のみ)”,”Medical Facilities(医療施設のみ)”,”Vehicles & Facilities(車両または施設のみ)” ,”Disabled(使用不可)” に設定できる.
    “Vehicles & Facilities” に設定した場合,当該の車両または施設が医療施設または車両として設定されている必要がある.

    Locations PAK: “Allow Epinephrine” と同様

    Locations Surgical Kit: “Allow Epinephrine” と同様

    Consume PAK: この設定は,一回の使用で Personal Aid Kit を消費するかどうかを制御する.
    デフォルトでは”No(消費しない)”に設定されている.

    Consume Surgical Kit: See “Consume PAK”.

    Self PAK Usage: この設定は,自分自身に Personal Aid Kit を使用可能かを制御する.
    これは “Allow PAK” 設定と組み合わせて使用する.

    Self Stitching: “Self PAK Usage” と同様

    Self IV Transfusion: “Self PAK Usage” と同様

    Time Coefficient PAK: この設定は,PAK の適用にかかる時間を制御する.
    高い値に設定すると増加し,低い値に設定すると減少する.
    PAK の使用時間は最低 10 秒.

    CPR Success Chance: この設定では,CPR が成功する確率を制御する.
    デフォルトでは40%に設定されている.

    Holster Required: この設定では,”Check Pulse(脈拍確認)”,”Check Blood Pressure(血圧確認)”,”Check Response(意識確認)”を除いて,医療行為を行うために最初に武器を下ろすか,ホルスターに入れる必要があるかを制御する.

    Curated Medical Settings: おすすめの医療設定

    様々なプレイスタイルのためのプリセット.
    これらはCBA設定システムのユーザー設定と一緒に使用することを目的としている.

    Settings for Co-Op missions: Coop 用設定

    Preset 1

    force ace_medical_fatalDamageSource = 1; // Sum of Trauma death condition
    force ace_medical_AIDamageThreshold = 0.2; // Decreased AI damage threshold so AI dies in single headshot and few torso taps depending on vest
    force ace_medical_playerDamageThreshold = 3.5; // Increased damage threshold for players, high caliber weapons should still be fatal
    force ace_medical_bleedingCoefficient = 0.25;
    force ace_medical_spontaneousWakeUpChance = 0.85; // Stabilised players will wake up fast
    force ace_medical_spontaneousWakeUpEpinephrineBoost = 3;
    force ace_medical_statemachine_AIUnconsciousness = true;
    force ace_medical_statemachine_cardiacArrestTime = 630;

    “Basic” Preset

    force ace_medical_AIDamageThreshold = 0.2; // Decreased AI damage threshold so AI dies in single headshot and few torso taps depending on vest
    force ace_medical_playerDamageThreshold = 3.5; // Increased damage threshold for players, high caliber weapons should still be fatal
    force ace_medical_bleedingCoefficient = 0.25;
    force ace_medical_fatalDamageSource = 1; // Sum of Trauma death condition
    force ace_medical_fractures = 0; // Disabled Fractures
    force ace_medical_limping = 0; // Disabled Limping
    force ace_medical_statemachine_fatalInjuriesPlayer = 2; // Disabled fatal injuries by damage to head or torso
    force ace_medical_treatment_advancedBandages = 0; // Disabled advanced bandages
    force ace_medical_treatment_advancedDiagnose = false; // Disabled advanced diagnose
    force ace_medical_treatment_advancedMedication = false; // Disabled advanced medication

    “Advanced” Preset

    force ace_medical_fractures = 1; // Splints Fully Heal Fractures - set to "2" to keep sprinting disabled after fracture
    force ace_medical_limping = 1; // Limp on Open Wounds
    force ace_medical_spontaneousWakeUpChance = 0.15; // 15% chance of waking up from unconscious after stable
    force ace_medical_spontaneousWakeUpEpinephrineBoost = 1; // Epinephrine boosts wake up chance
    force ace_medical_statemachine_fatalInjuriesPlayer = 1; // Fatal injuries only occur in Cardiac Arrest
    force ace_medical_treatment_advancedBandages = 2; // Wounds can re-open until stitched.
    force ace_medical_treatment_advancedDiagnose = true; // Enabled Advanced Diagnosis
    force ace_medical_treatment_advancedMedication = true; // Enabled Advanced Medication
    force ace_medical_treatment_allowSelfIV = 1; // Medics can Self-IV
    force ace_medical_treatment_allowSelfPAK = 1; // Medics can Self-PAK
    force ace_medical_treatment_allowSelfStitch = 1; // Medics can Self-Stitch
    force ace_medical_treatment_clearTraumaAfterBandage = true; // Fully heals body part after bandage/stitch
    force ace_medical_treatment_consumeSurgicalKit = 0; // Does not consume Surgical Kit
    force ace_medical_treatment_cprSuccessChance = 0.4; // 40% chance of successful CPR
    force ace_medical_treatment_locationEpinephrine = 0; // Epinephrine anywhere
    force ace_medical_treatment_locationPAK = 3; // PAK only in Vehicles & Facilities
    force ace_medical_treatment_locationSurgicalKit = 0; // Surgical Kit anywhere
    force ace_medical_treatment_medicEpinephrine = 1; // Medics can use Epinephrine
    force ace_medical_treatment_medicIV = 1; // Medics can give IVs
    force ace_medical_treatment_medicPAK = 1; // Medics can PAK
    force ace_medical_treatment_medicSurgicalKit = 1; // Medics can stitch

    Dependencies: 依存関係

    ace_medical_engine

    • この返信は4年前にNSTomoSが編集しました。
    • この返信は4年前にNSTomoSが編集しました。
    返信先: シグネチャ問題解決方法 #265972
    NSTomoS
    参加者

    Samiya さん情報

    • ace 系の mod 全部 unsubscribe して再 install した後に,整合性チェックする

    NSTomoS, itomusu さんはこれで解決しました.

    返信先: Arma3 Mod/アドオン紹介スレ #264623
    NSTomoS
    参加者

    どうも.Tomosです.

    0 キーでメインアームを背負うのがダサいので,かっこよく見える mod を探しました.

    Tactical Weapon Swap です.
    弱者の日記

    ctrl + 3 でメインアームとサブアームを切り替えると,スリング(っぽい感じ)でメインアームを身体の前に保持できます.
    サブアームを持っていなくても前に保持されます.

    ちなみに,現在ホワイトリストに入っているTactical Position Readyと同じ作者さんです.


    欠点があり,このmodでサブアーム(空の場合も含む)に切り替えている間はインベントリからメインアームが消えた状態になるので,disconnect 等でメインアームが消える恐れがあります…(重量が減るので実質的にチートでもあります…)

    返信先: 自己紹介スレ #262134
    NSTomoS
    参加者

    【名前】
    NSTomoS(ともしゅ)

    【Arma歴】
    Arma2も持ってますが、キャンペーンを少しやった程度

    Arma3は2017年~
    TRI鯖は2019/6/1~

    【Coopで好きな兵科】
    一般兵科
    喋るのが得意ではないので指揮職は入らないことが多いです…

    【ひとこと】
    よろしくお願いします

5件の投稿を表示中 - 1 - 5件目 (全5件中)