HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   Fahrzeugteile (Reifen) gezielt zerstören (https://hx3.de/editing-scripting-167/fahrzeugteile-reifen-gezielt-zerstoeren-16841/)

Hath Kull 12.06.2009 15:23

Fahrzeugteile (Reifen) gezielt zerstören
 
Ich dachte entweder an einen gescripted platzenden Reifen, der dann repariert werden muss oder generell an Fahrzeuge, die ohne Reifen dastehen - die dann erst gefunden und ersetzt werden müssen. Ich liebe es so Missionen zu basteln wo man ein kaputtes Fahrzeug findet und dann Stück für Stück instandsetzen muss um es zu benutzen (reparieren, auftanken, Ammo auffüllen - bei ArmA konnte man dann noch auf einen M113 MedEvac einen M2-Turm oder später einen Vulcan-Turm "aufschrauben" (durch gescriptetes Ersetzen des Models).
Jetzt hab ich mich wieder daran erinnert, dass man ja ingame gezielt Reifen zerschießen kann (oder auch Fahrzeugscheiben) und dass es dafür spezielle Variablen geben muss. Mit [setdamage 0.x] ist es ja in dem Fall nicht getan, das beeinflusst ja nur den Gesamtzustand des Fahrzeugs.

Kann mir da jemand helfen? Wie scripte ich einen kaputten rechten Vorderreifen oder eine Windschutzscheibe mit einem Einschuss bei ansonsten intaktem Fahrzeug? :)

Hemingway 12.06.2009 18:59

wenn du die position des reifens besorgen kannst, könntest du doch an der stelle irgendwas aus der shellklasse spawnen lassen, was den reifen zerfetzt...

Hath Kull 12.06.2009 19:14

Diesen Schritt (zusätzlich irgendein Geschoss spawnen) wollte ich eigentlich umgehen, da er mir zu unsicher (bei Versuch1 funktioniert es, bei Version2 sorgt ein zufälliger Querschläger für eine Beschädigung des Fahrzeugs?) und irgendwie "unsauber" erscheint. Wenn man mit einem Gewehr den Reifen zerschießt, muss das Spiel doch den Zustand des Reifens überprüfen und ihn dann auf 0 (zerstört) setzen! Und letztere Variable muss sich doch auch gezielt manipulieren lassen...

Zudem ist es ja meist nicht mit einem einzelnen Gewehrprojektil getan (der Vodnik z.B. oder auch andere APCs vertragen in jeden Reifen 7, 8 oder mehr Sniperschüsse) und wenn man ein größeres Kaliber spawned, ist eine Beschädigung des Fahrzeugs ja so gut wie sicher!

Außerdem: Man findet ja mittlerweile Listen für Waffen-Classnames, Einheiten, Fahrzeuge, Gebäude und andere Objekte, aber die Geschosse habe ich noch nicht gesehen. Hast du nen Hinweis wo ich sowas finde, Hemingway?

Hemingway 12.06.2009 19:46

also ich hab vor kurzem ein wenig mit den shell-klassen rumgespielt, weil ich den landminenscript von mr murray ausprobiert hab. hab dafür einfach wieder die alten shellnamen aus arma1 genommen, scheint zu funktionieren...

ich würds mal mit den 20/30mm geschossen aus den flugzeug-mgs versuchen, die machen gut schaden, aber haben nen recht kleinen radius... (die 30mm HE shell als antipersonenmine verwendet töten einen infanteristen nicht, macht ihn nur gehunfähig, hab ich festgestellt^^).

selbst die m134 raketenwerfergranate führt primär nur zum verlust beider beine :D

TiGGa 12.06.2009 22:47

Habt ihr schon den setHit Befehl gesehen? Damit kann man einzelne Fahrzeugteile beschädigen.

setHit - Bohemia Interactive Community

Master85 12.06.2009 22:52

Du suchst setHit - Bohemia Interactive Community.
die Reifen (zumindest beim HMMWV) heißen
- "wheel_1_1_steering"
- "wheel_1_2_steering"
- "wheel_2_1_steering"
- "wheel_2_2_steering"
(bei mehr Rädern geht's dann ,mit "wheel_1_3_steering" und "wheel_2_3_steering" weiter usw.)

Um also z.B. den Reifen vorne links zu zerstören z.B. in die init-zeile des Fahrzeugs
Code:

this setHit ["wheel_1_1_steering", 1]
schreiben. Geht natürlich auch über nen Auslöser / Skript usw.

Die Scheiben heißen "glass1" bis "glass4".

Ein wenig unschön ist, dass die Engine bei nem stehenden Auto nicht gleich merkt, wenn der Reifen zerstört ist und daher die Felge etwas in der Luft hängt (bis z.B. ein Schuss auf den Wagen gefeuert wurde; den Wagen ein wenig anheben hat bei mir auch das Problem gelöst: also wenn der Wagen auto heißt: auto setpos [getpos auto select 0, getpos auto select 1, 0.2]). Weiß jetzt nicht, ob's da auch ne elegantere Lösung gibt.

Edit: das hat man davon, wenn man ein wenig mehr Text schreiben will :(

Hath Kull 13.06.2009 00:37

Ja, das "setHit" gefällt mir! Genau das hab ich gesucht! Und hoffentlich funktionieren die Namen der Räder und der Scheiben bei jedem Fahrzeugtyp (wie isses bei Kettenfahrezugen? Da gibts sicher nur track_1 und track_2 oder so...). Na ich werd mal rumprobieren!

Besten Dank!

Cyborg11 13.06.2009 00:41

Zitat:

Zitat von Hath Kull (Beitrag 243961)
Ja, das "setHit" gefällt mir! Genau das hab ich gesucht! Und hoffentlich funktionieren die Namen der Räder und der Scheiben bei jedem Fahrzeugtyp (wie isses bei Kettenfahrezugen? Da gibts sicher nur track_1 und track_2 oder so...). Na ich werd mal rumprobieren!

Besten Dank!

Also der MTVR benutzt zum Beispiel die gleichen Reifen, wie der HMMWV. Kann gut möglich sein, dass alle Fahrzeuge die selben Reifen benutzen :naughty:

Machst du dir dann eigentlich auch ein Reparierskript, das dann jeweils immer einzeln die verschiedenen Teile vom Fahrzeug repariert? :confused:

Master85 13.06.2009 02:25

die Ketten heißen "pas_l" und "pas_p".


beim M270 MLRS scheinen keine damage-sections definiert zu sein, d.h. setHit funktioniert da nicht

Hath Kull 13.06.2009 08:22

Zitat:

Machst du dir dann eigentlich auch ein Reparierskript, das dann jeweils immer einzeln die verschiedenen Teile vom Fahrzeug repariert?
Äääh, nö, denn mir gehts nicht drum irgendwas generell zu reparieren oder so. Mein Anliegen ist halt, wie ganz oben beschrieben, dass der Spieler über ne Flasche fährt oder so, und der Reifen kaputtgeht.
Code:

_doofeflasche = "?Flasche?" createVehicle getpos "?Fahrzeug?"
?Fahrzeug? setHit ["wheel_1_2_steering", 1]
hint "Das klang wie ein platzender Reifen!"
blablabla...

Danach muss er vom Spieler oder einem Teammitglied repariert werden (mal sehen ob ich ne passende "switchmove"-Animation dafür finde) und die anderen Teammitglieder verteidigen diesen gegen 2,3 Gegner die dem Fahrzeug an der Backe geklebt haben. Dann wieder einsteigen und weiter gehts...
Nur so kleine Szenen im Missionsdesign hab ich im Kopf und nicht generelle Reparaturscipts oder sowas.

Hath Kull 14.06.2009 15:30

Vielleicht kann Master85 nochmal helfen? Oder auch wer anders? Wie sieht es bei Flugzeugen, Hubschraubern und Booten mit den zerstörbaren Teilen aus?

Cyclone83 16.06.2009 09:04

@Hath Kull

Wow, die Idee mit solchen kleinen aber feinen "Missionsstörenfrieden" :lol: gefällt mit sehr gut. Wenn Du vor hast, mehr solcher Szenarien in Deine Mission (SP?) zu integrieren, empfehle ich Dir mal die US Serie "Generation Kill". Da kann man sich dutzende solcher Zwischenfälle als Anregung holen ;)
Was Wasser- und Luftobjekte angeht: Die Motoren bzw. Triebwerke kannste in jedem Fall kaputt machen. Macht auch ingame wohl mehr Sinn einen defekten Motor zu reparieren, als mal eben schnell die Tragfläche eines F-35 auszuwechseln :D

Hath Kull 16.06.2009 11:01

Danke für den Tip mit der Serie, Cyclone83! Ich werd mir mal was davon reinziehen.
Bei den Fluggeräten ging es mir weniger um so große Sachen wie Tragflächen, doch scheinen dort die Räder und "Fenster" andere Bezeichnungen zu besitzen oder gar nicht gezielt zerstörbar zu sein (wie beim M270 MRLS). Außerdem fände ich es toll, wenn man sichtbare Waffenpods zersören könnte (nicht nur die Waffe per Scriptzeile entfernen, sondern auch sichtbarer Schaden am FFAR-Modul eines Helis beispielsweise. Oder auch dass der Rotor eines Helis sichtbar beschädigt ist, man den stehenden UH1Y und seine Türkanonen aber immer noch als Geschützplattform benutzen kann, wärend Teamkollegen die Blackbox aus dem Cockpit schrauben oder so...

Und ja, bei mir ist alles SP...

Lester 16.06.2009 14:10

Zitat:

Zitat von Cyborg11 (Beitrag 243963)
Machst du dir dann eigentlich auch ein Reparierskript, das dann jeweils immer einzeln die verschiedenen Teile vom Fahrzeug repariert? :confused:

Schade nur das BIS offensichtlich kein Interesse daran gefunden hat, detailierte Damagewerte auszugeben, sprich ein Befehl der ein Array mit allen Zustanden nebst Selektionen am Objekt ausgibt,
in dme Falle könnte man soetwas schön realisieren.

So wie es jetzt aussieht bleibt nur die Möglichkeit Teile gezielt zu reparieren ohne zu wissen ob sie überhaupt reparaturbedürftig sind.
Die "Alternative" an jedem Fahrzeug EHs dranzuhängen und selber die Schadenswerte mitzuplotten scheitert wiederum dann wieder daran das man das Reparieren an Reparaturfahrzeugen nicht mitbekommt.

Es wär so schön gewesen.*seufz* :(

nooblike 25.06.2009 20:41

Zitat:

Zitat von Lester (Beitrag 245124)
Schade nur das BIS offensichtlich kein Interesse daran gefunden hat, detailierte Damagewerte auszugeben, sprich ein Befehl der ein Array mit allen Zustanden nebst Selektionen am Objekt ausgibt,
in dme Falle könnte man soetwas schön realisieren.

So wie es jetzt aussieht bleibt nur die Möglichkeit Teile gezielt zu reparieren ohne zu wissen ob sie überhaupt reparaturbedürftig sind.
Die "Alternative" an jedem Fahrzeug EHs dranzuhängen und selber die Schadenswerte mitzuplotten scheitert wiederum dann wieder daran das man das Reparieren an Reparaturfahrzeugen nicht mitbekommt.

Es wär so schön gewesen.*seufz* :(


also, ich versteh nur bahnhof...?

Oder meinst du das man den Reifenstatus nich abfragen kann?

Tajin 29.06.2009 09:36

Zitat:

Zitat von Lester (Beitrag 245124)
scheitert wiederum dann wieder daran das man das Reparieren an Reparaturfahrzeugen nicht mitbekommt.

Naja in einer entsprechenden Mission wo man einzelteile reparieren kann, würde ich Reperaturfahrzeuge ganz aussen vor lassen. Sonst wäre das ja auch witzlos.


Was übrigens die Beschädigung von Waffen angeht, kann man die Waffe entfernen und zusätzlich einen Partikeleffekt verwenden. Z.b. Feuer, Rauch oder sprühende Funken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.

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