Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 06.09.2014, 20:19   #1 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard 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; };  
};
Der Befehl CancelAction wirft keine Fehler aus, wird aber ignoriert. Kann mir da einer weiterhelfen?
__________________
Bewegende Momente bei ArmA 3
Drunken Officer ist offline  
Alt 08.09.2014, 19:04   #2 (permalink)
SQF Zauberer 10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Vienna
 
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
Standard

Vielleicht ist "CancelAction" bei vom System gesteuerten Animationen unwirksam?
Vienna ist offline  
Alt 08.09.2014, 19:27   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 52
Beiträge: 1.930
Standard

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"; };
cancelAnim.sqf
Code:
if (!isServer) exitWith {};
_heiler = _this select 0;
_heiler action ["CancelAction", _heiler];
Nur mal so ins Blaue geraten... testen kostet fast nichts...
__________________
Buliwyf ist offline  
Alt 10.09.2014, 14:34   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Drunken Officer
 
Registriert seit: 15.05.2011
Beiträge: 1.109
Standard

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
Drunken Officer ist offline  
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Kontakt - HX3.de - Archiv - Nach oben

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias



SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119