Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 01.09.2013, 15:43   #1 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von MagicStyle
 
Registriert seit: 26.09.2012
Beiträge: 120
Icon5 SetDamage Problem

Hi, ich bräuchte bitte Hilfe bei meinem kleinem Vorhaben.

Ziel :
Sani-Feldlazarett soll alle Einheiten vom Typ OPFOR heilen die sich in seiner Nähe befinden.

Um das zu erreichen habe ich einen Auslöser erstellt und über das Feldlazarett platziert und ihn wie folgt eingestellt.

Auslöseart: Mehrfach, OPFOR
Auslösebedinung:
Code:
 this && (ceil time %2 != 0)
On Act:
Code:
        for [{_i=1}, {_i<1000}, {_i=_i+1}] do 
        {
            {_x setDammage (getDammage _x)-0.000025} forEach thislist;
            
        };
Dieses Script steht übrigens in einer externen Scriptdatei, da ich den Auslöser per Script erstellt habe, die For-Schleife funktioniert also.
Jeder vom Typ OPFOR der diesen Auslöser betritt, soll alle paar Sekunden ein paar Damage Punkte abgezogen bekommen. So, wie es dort steht müsste es meiner Meinung nach von der Logik her funktionieren. Leider tut es das nicht, weshalb?

Danke im Vorraus für jede Hilfe!
__________________
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat

Geändert von MagicStyle (01.09.2013 um 20:02 Uhr).
MagicStyle ist offline  
Alt 01.09.2013, 17:52   #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

Du musst dem Auslöser einen Namen geben und statt thislist list AuslöserName verwenden.

Auslöseart: OPFOR | EINMAL
Bedingung: true

Bei Akt:
Code:
temp = 0 spawn
 {
  while {true} do 
  {
   {if (getDammage _x > 0) then {_x setDammage((getDammage _x)-0.033)}} forEach list AuslöserName;
   sleep 1
  }
 }
Je nach Verletzung wäre die maximale Heilzeit 30 Sekunden.
Vienna ist offline  
Alt 01.09.2013, 19:38   #3 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 58
Beiträge: 3.013
Standard

Ich meine mich erinnern zu können (in ArmA1 war es zumindest so) das sehr kleine Werteänderungen (zumindest im MP) nicht funktionierten.

z.B. würde da Treibstoff nicht draufaddiert.
Ich hab mich da dann beholfen und die Variable erst auf einen entfernten Wert und danach auf den richtigen gesetzt.
Möglicherweise liegt hierein ähnliches Problem vor.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547
Lester ist offline  
Alt 01.09.2013, 19:52   #4 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von MagicStyle
 
Registriert seit: 26.09.2012
Beiträge: 120
Standard

Ok, danke euch beiden ich werde es gleich mal probieren.
PS: Weiss jemand zufällig wie man in rama 2 einem Auslöser per Script einen Namen vergeben kann?
__________________
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat

Geändert von MagicStyle (01.09.2013 um 20:10 Uhr).
MagicStyle ist offline  
Alt 01.09.2013, 22:47   #5 (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

TriggerName = createTrigger ...
Vienna ist offline  
Alt 01.09.2013, 23:10   #6 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von MagicStyle
 
Registriert seit: 26.09.2012
Beiträge: 120
Standard

thx !

Edit: Habe alles eben getestet, deine Lösung funktioniert leider auch nicht. ich schau mal nach ob ich nicht vielleicht einen Fehler gemacht habe

Edit II: War mein Fehler, Ich habe festgestellt dass das Script nicht funktioniert wenn der Name des Auslösers lokal ist.

Edit III: Erstelle ich den Auslöser im Editor funktioniert es, erstelle ich ihn hingegen per Script, funktioniert es nicht ?! Woran könnte das liegen, ich verwende für beide den selben Code? Eine Fehlermeldung wird nicht ausgegeben.
Meine einzige Vermutung die jedoch vermutlich eher unwahrscheinlich ist, ist das man eben nicht den Namen vergibt indem man ihn vor createVehicle schreibt sondern auf eine andere weise. Ich such mich mal durch
__________________
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat

Geändert von MagicStyle (02.09.2013 um 00:05 Uhr).
MagicStyle ist offline  
Alt 02.09.2013, 07:29   #7 (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

Zeig einmal den Code, wie du den Auslöser über Skript erstellst.

Lass dir anzeigen welche Rückgabe du aus list AuslöserName erhältst.
Vienna ist offline  
Alt 02.09.2013, 11:47   #8 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von MagicStyle
 
Registriert seit: 26.09.2012
Beiträge: 120
Standard

Wie kann ich mir ausgeben lassen was list AuslöserName mir zurückgibt ? Etwa ganz normal mit hint oder gibt es da einen einfacheren Weg ?
__________________
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat
MagicStyle ist offline  
Alt 02.09.2013, 12:18   #9 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 58
Beiträge: 3.013
Standard

Der "einfachste" Weg wäre wohl ein Funkauslöser der dann einen
hint str (list <auslösername>);
ausführt.
hint str([count list <auslösername>,list <auslösername>]);
hätte sogar den Vorteil das man vorneweg die Anzahl der betroffenen Einheiten sieht.

Etwas umständlicher wäre es wenn man in der init.sqf eine kleine while- do Schleife aufbaut die dann alle n-Sekunden das automatisch erledigt.


Generell hat die Methode oben aber ohnehin das Problem das sie besetzte Fahrzeuge der entsprechenden Seite auch heilt !
Sauberer wäre es wenn man das heilen für jede Crew von jedem entsprechenden Objekt im Auslöser ausführt !
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547

Geändert von Lester (02.09.2013 um 12:23 Uhr).
Lester ist offline  
Alt 03.09.2013, 19:46   #10 (permalink)
50 Beiträge100 Beiträge
 
Benutzerbild von MagicStyle
 
Registriert seit: 26.09.2012
Beiträge: 120
Icon7 Thx

Ok, vielen danke für die Info & Tipps Mein Problem ist jetzt gelöst, es war mein Fehler. Herzlichen dank an euch beiden !!!
__________________
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat
MagicStyle ist offline  
 

Stichworte
damage, dammage, for-schleife, foreach, setdammage


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Installations Problem Arma X Verus Technische Fragen & Probleme 20 29.07.2012 22:47
Connection Problem ArmA -=Spine=- Technische Fragen & Probleme 0 11.03.2011 11:47
Fenstermodus und Taskleisten Problem MaSch0815 Technische Fragen & Probleme 9 28.12.2010 10:44
Problem bei der bedingung anwesenheit Moerderhoschi Editing & Scripting 49 03.09.2010 12:52
ArmA2 OA Problem Thunderbird Technische Fragen & Probleme 17 10.07.2010 19:15


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