06.09.2014, 20:19 | #1 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
HealingAction innerhalb eines EH HandleHeal abbrechen
Ich habe für meine MP Mission einen EH genutzt, welcher ein Script ansteuert. Ziel ist es, dass Feldsoldaten nur bis 0.4 und Feldsanis nur bis 0.15 heilen können. Vollständig geht nur im Lazarett.
Es funktioniert auch soweit. Allerdings möchte ich, dass wenn der Wert erreicht ist, die Animation nicht durchgeführt wird und auch das MedPack nicht verbraucht wird. Das MedPack zu ersetzen wäre das kleinste Problem. JEder Spieler hat den EH in der Init stehen: EHT = this addEventHandler ["HandleHeal",{_this execVM "scripte\dof_feldheilung.sqf"}]; Das Script sieht so aus: Code:
private ["_ziel", "_heiler", "_klasse"]; _ziel = (_this select 0); _heiler = (_this select 1); _klasse = typeof _heiler ; _dam = getDammage _ziel; if (_klasse == "BWA3_CombatLifeSaver_Fleck") then { if (_dam <= 0.15) then {_heiler action ["CancelAction", _heiler]; _heiler sideChat "Keine Feldheilung möglich. Volle Heilung nur im Lazarett"; }; if (_dam > 0.15) then {_heiler sideChat "Heilung bis 85 Prozent vor Ort möglich. Volle Heilung nur im Lazarett möglich"; waituntil {(getDammage _ziel) == 0}; _ziel setDammage 0.15 }; } ; if (_klasse != "BWA3_CombatLifeSaver_Fleck") then { if (_dam <= 0.4) then {_heiler action ["CancelAction", _heiler];_heiler sideChat "Keine Feldheilung möglich. Volle Heilung nur im Lazarett"; }; if (_dam > 0.4) then {_heiler sideChat "Feldheilung bis 60 Prozent wird ausgeführt. Volle Heilung nur im Lazarett möglich"; waituntil {(getDammage _ziel) == 0.25}; _ziel setDammage 0.4; }; };
__________________
Bewegende Momente bei ArmA 3 |
08.09.2014, 19:27 | #3 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
|
Probiers mal damit:
Code:
if (_dam <= 0.15) then {[[[_heiler],"scripte\cancelAnim.sqf"],"BIS_fnc_execVM",true] spawn BIS_fnc_MP; _heiler sideChat "Keine Feldheilung möglich. Volle Heilung nur im Lazarett"; }; Code:
if (!isServer) exitWith {}; _heiler = _this select 0; _heiler action ["CancelAction", _heiler]; |
10.09.2014, 14:34 | #4 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Nee funktioniert leider nicht.
Ich habe schon Onkel Goggle bemüht. Kennt einer einen Weg, wie ich ab einem gewissen Schadenswert den Addaction-Eintrag verschwinden lasse bzw. die ID dazu? Bei einem normalen FirstAidKit besteht bis 0.25 der Eintrag. Aber 0.2499999 ist die Möglichkeit weg
__________________
Bewegende Momente bei ArmA 3 |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|