Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 18.06.2009, 12:33   #1 (permalink)
Newbie
 
Registriert seit: 09.06.2009
Beiträge: 40
Standard KI Fahrzeuge endlos Sprit geben?

Das brennt mir schon eine ganze Weile: Ist es möglich, den KI Fahrzeugen und Flugzeugen per Script endlosen Sprit zu geben? Ich hab das Problem, dass alle meine durch die Luft kreisenden Helikopter nach einer Weil vom Himmel fallen und ich denke nicht, dass das an beschissener Wegfindung liegt.

Als Alternative könnte ich die Dinger ja immer mal zwischenlanden und auftanken lassen, aber für meine Zwecke wäre das wohl etwas zu over the top, denke ich...
Lexx ist offline  
Alt 18.06.2009, 13:40   #2 (permalink)
50 Beiträge
 
Registriert seit: 12.06.2009
Beiträge: 53
Standard

Naja, per Loop geht das schon. Allerdings könnte ich mir vorstellen, dass es etwas auf die Performance schlägt, wenn zu viele Endlos-Loops laufen...
Code:
if (alive heli01) then {goto "startover"} else {EXIT}
#startover
if (getfuel heli01 < 0.1) then {heli01 setfuel 1} else {~60}
goto "startover"
EXIT
oder du machst es Zeitabhängig - ohne danach zu fragen wieviel Fuel noch im Tank ist (ich weiß nicht wie lange so ein Heli in der Luft bleiben kann):
Code:
if (alive heli01) then {goto "startover"} else {EXIT}
#startover
heli01 setfuel 1
~60
goto "startover"
EXIT
Keine Ahnung welches Script "besser" ist, ich denke mal es gibt noch bessere Lösungen, aber den Zweck erfüllen sie erstmal beide...

Geändert von Hath Kull (18.06.2009 um 13:59 Uhr).
Hath Kull ist offline  
Alt 18.06.2009, 13:41   #3 (permalink)
500 Beiträge
 
Benutzerbild von deralky
 
Registriert seit: 26.07.2006
Ort: Hoetmar
Alter: 34
Beiträge: 822
deralky eine Nachricht über ICQ schicken
Standard

Problem beim ersten ist wenn er genau 0.1 oder etwas mehr hat wird erst wieder die Wartezeit durchlaufen und in dieser kann er leerlaufen denke das da das 2. einfach besser ist
__________________
Ikolium für einen armen Mann

Wer zu erst schießt verrät seine Position an die anderen
deralky ist offline  
Alt 18.06.2009, 13:48   #4 (permalink)
50 Beiträge
 
Registriert seit: 12.06.2009
Beiträge: 53
Standard

deralky hat natürlich recht! Die 0.1 war etwas unüberlegt gewählt...

Das mit dem Zwischenlanden und Auftanken ist auch nicht viel komplizierter. Du brauchst am besten ein "unsichtbares H" (refuelpoint) und daneben nen Fueltruck oder so - einfach damits glaubhaft aussieht.
Code:
#Start
if (alive heli01) then {goto "CheckIfLanded"} else {EXIT}
#CheckIfLanded
if (heli01 distance refuelpoint < 5) then {heli01 setfuel 1} else {goto "startover"}
~30
heli01 flyinheight 50

#StartOver
if (getfuel heli01 < 0.3) then {heli01 land "refuelpoint"} else {goto "Start"}
EXIT
Könnte gehen, oder?

Geändert von Hath Kull (18.06.2009 um 14:01 Uhr).
Hath Kull ist offline  
Alt 18.06.2009, 13:54   #5 (permalink)
Newbie
 
Registriert seit: 09.06.2009
Beiträge: 40
Standard

Da fällt mir auch noch eine möglichkeit ein... Der Hubschrauber fliegt Wegpunkte in einer Schleife ab. Demzufolge müsste es doch auch ausreichen, wenn ich bei einem Wegpunkt sage, "heli01 setfuel 1;" ? Sprich, jedesmal, wenn der Heli den Wegpunkt erreicht, wird der Tank wieder voll gemacht.
Lexx ist offline  
Alt 18.06.2009, 14:05   #6 (permalink)
500 Beiträge
 
Benutzerbild von deralky
 
Registriert seit: 26.07.2006
Ort: Hoetmar
Alter: 34
Beiträge: 822
deralky eine Nachricht über ICQ schicken
Standard

Jo das dürfte Funktionieren und ist auch nicht so Performance lasstig wie eine Endlosschleife
__________________
Ikolium für einen armen Mann

Wer zu erst schießt verrät seine Position an die anderen
deralky ist offline  
Alt 18.06.2009, 14:39   #7 (permalink)
Newbie
 
Registriert seit: 15.06.2009
Ort: Bayern
Beiträge: 9
Standard

wieso nicht einfach wenn die einheiten z.B. nen wegpunkt erreicht haben NAME setfuel 1; in die init schreiben ?
MFG Freakadelle
Freakadelle ist offline  
Alt 18.06.2009, 18:16   #8 (permalink)
Newbie
 
Registriert seit: 09.06.2009
Beiträge: 40
Standard

Ähm, genau das habe ich oben auch geschrieben. :>
Lexx ist offline  
Alt 19.06.2009, 07:35   #9 (permalink)
500 Beiträge
 
Benutzerbild von Mr-Murray
 
Registriert seit: 10.06.2004
Ort: München - Germany
Beiträge: 876
Mr-Murray eine Nachricht über ICQ schicken Mr-Murray eine Nachricht über Skype™ schicken
Icon9

Wieso eigentlich so kompliziert mit Loop & Co!?

Einen globalen Auslöser
Mehrfach
Größe 0/0

Bedingung: getfuel Fahrzeug1 < 0.9
Aktivierung: Fahrzeug1 setFuel 1


Viele Grüße

Mr-Murray
__________________
MR-MURRAY presents

ArmA Editing Guide Deluxe Edition - English Version Download
ArmA Editing Guide Deluxe Edition - German Version Download

Visit me at Facebook! Mapfact Murray
Mr-Murray ist offline  
Alt 19.06.2009, 11:46   #10 (permalink)
50 Beiträge
 
Registriert seit: 12.06.2009
Beiträge: 53
Standard

Da hat der gute Herr Murray wiedermal recht. Einfacher gehts nich.
Hath Kull ist offline  
Alt 29.06.2009, 18:38   #11 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 19.06.2009
Beiträge: 181
Icon2

Zitat von Mr-Murray Beitrag anzeigen

Wieso eigentlich so kompliziert mit Loop & Co!?

Einen globalen Auslöser
Mehrfach
Größe 0/0

Bedingung: getfuel Fahrzeug1 < 0.9
Aktivierung: Fahrzeug1 setFuel 1


Viele Grüße

Mr-Murray

Irgendwie funktioniert das bei mir nicht...
Er sagt mir immer "Fehlendes ;", dabei habe ich schon ein Fahrzeug erstellt mit dem Namen Fahrzeug1.

Es könnte allerdings daran liegen das ich nicht sicher bin wie genau ich einen "globalen Auslöser" erstelle.

Gruß Wiggum

PS: Danke für deine Guides Mr-Murray, hab ich damals schon für OFP genutzt !
Wiggum ist offline  
Alt 29.06.2009, 19:01   #12 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von TeRp
 
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
Standard

Zitat von Mr-Murray Beitrag anzeigen

Wieso eigentlich so kompliziert mit Loop & Co!?

Einen globalen Auslöser
Mehrfach
Größe 0/0

Bedingung: getfuel Fahrzeug1 < 0.9
Aktivierung: Fahrzeug1 setFuel 1


Viele Grüße

Mr-Murray

Das ist im Prinzip ja nichts anderes als ein Loop, nur das diese Bedingung so wie hier deutlich öfter getestet wird als in einem Script; dort kann man ja die Zeitintervalle einstellen.

Zitat von Wiggum Beitrag anzeigen

Irgendwie funktioniert das bei mir nicht...
Er sagt mir immer "Fehlendes ;", dabei habe ich schon ein Fahrzeug erstellt mit dem Namen Fahrzeug1.

Es könnte allerdings daran liegen das ich nicht sicher bin wie genau ich einen "globalen Auslöser" erstelle.

Gruß Wiggum

PS: Danke für deine Guides Mr-Murray, hab ich damals schon für OFP genutzt !

Nimm anstatt getFuel --> fuel.
getFuel gibt es nicht als Befehl.

---

allgemein würde ich das den aktuellen Benzinstand garnicht abfragen, sondern einfach alle 5 Minuten das Fuel automatisch wieder auf 1 setzen. Das ist insofern möglich, da kein Fahrzeug innerhalb von 5 Minuten seinen kompletten Benzinvorrat verbraucht; es dürften sogar ein deutlich größeres Zeitintervalle ausreichen.
Das spart Rechnenzeit, auch wenn die paar Endlosschleifen kein allzugroßes Performanceproblem darstellen dürften.

Um es mal als Script zu formulieren:

Code:
while { true } do
{
 fhz1 setFuel 1;
 fhz2 setFuel 1;
 ...
 sleep 300;
};
Allerdings ist mir noch nie passiert, dass ein Fahrzeug seinen kompletten Treibstoff verbraucht hat (Ausnahme: Hubschrauber mit Benzinleck ) .. ich glaube im Schnitt halten die Fahrzeuge so etwa 2 Stunden durch.
__________________


Geändert von TeRp (29.06.2009 um 19:07 Uhr).
TeRp ist offline  
Alt 29.06.2009, 19:55   #13 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 19.06.2009
Beiträge: 181
Standard

@TeRp

Danke, hat funktioniert !
Wiggum ist offline  
Alt 03.07.2009, 21:37   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 19.06.2009
Beiträge: 181
Icon2

So ähnlich müsste ich doch auch einer Einheit unendlich Munition geben können oder ?
Ich habs versucht aber es will nicht funktionieren...
Wiggum ist offline  
Alt 04.07.2009, 00:02   #15 (permalink)
50 Beiträge
 
Registriert seit: 12.06.2009
Beiträge: 53
Standard

da wirst du wohl statt "this setammo 1" in regelmäßigen Abständen die tatsächliche Munition des Fahrzeugs hinzufügen müssen. (this addmagazine ["MUNITION",ANZAHL])
Hath Kull 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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Erstellter Einheit einen namen geben??? GER_CJ-187 Editing 14 05.05.2009 12:17
Wird es wieder Zombies geben? Suffzwerg Mods & Addons 11 28.12.2006 10:23


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