HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Occupy Building Script (https://hx3.de/editing-139/occupy-building-script-14630/)

burns 16.04.2008 18:25

Occupy Building Script
 
Mich wunderts das es, zumindest öffentlich, noch kein Script gibt mit dem man einem Haufen Einheiten befehlen kann in ein Haus einzurücken und dort die BuildingPositions aufzusuchen bzw. darin zu patroullieren. Mit simplen Wegpunkten endet das mit Gänsemarsch im 1. Stockwerk und sieht generell besch..eiden aus.
Wieso also nicht ein Script erstellen das auf Grundlage vom Befehl buildingPos den dummen KI´s auf die Sprünge hilft?

Meine Suche im Biki brachte folgendes hervor: buildingPos - Bohemia Interactive Community

Nun bin ich aber nicht so der Scriptmensch und weiss nicht weiter.
Erstmal sind die Beispiele ziemlich vage und teils Praxisfern, denn wenn mich nicht alles täuscht werden Gebäude in ArmA nur noch per OjectID angesprochen - womit untenstehendes Beispiel hinfällig wird.

this setPos (buildingPos [nearestBuilding this, 1])




Ich hasse Coding in Verbindung mit Trial & Error, drum bitte ich die Wissenden mir ein wenig unter die Arme zu greifen :)
In meiner Vorstellung sieht es einfach so aus:
this setPos (buildingPos [nearestObjectID this, 1])

Wobei die 1 am Ende die einzunehmende Position darstellt, aber per Random gedeichselt werden soll.
Und dann, falls das richtig sein sollte, fehlt halt immernoch die zufällige Ausgabe von Buildingpositions. Zum Problem hier wird das alle Gebäude unterschiedlich viele Positions haben, also wäre ein fester Wert von 1-200 nur machbar wenn ArmA automatisch nicht vorhandene Positionen verwirft, woran ich aber nicht glaube.
Man müsste also vor der Random Schleife erstmal checken wieviele Pos. im gewünschten Gebäude vorhanden sind, und hier fängt mein Kopf endgültig an sich im Kreis zu drehen .. ist wirklich zuviel des Guten..


Hilfe! :confused:

Buliwyf 16.04.2008 19:22

Also um festzustellen, wieviele Positionen das Gebäude hat, könntest Du zum Beispiel eine Spiellogik durch die Positionen jagen und dabei einen Counter laufen lassen.

Beispiel:
Code:

x = 0;
while {format ["%1", spiellogik buildingPos x] != "[0,0,0]"} do {x = x + 1};

Anschließend hast Du den Wert x, welchen Du dann für das Random nutzen kannst.
Code:

soldat buildingPos (floor (random x));
:coffee:

burns 16.04.2008 19:25

Und das schüttelst du einfach so aus dem Ärmel :oh:
Das ist total hoffnungslos mit mir...Magst du nicht mal son Script schreiben? Da wär auch´n Kasten Bier oder ne Tüte Kaffee für dich drin, je nach Belieben :D

Buliwyf 16.04.2008 19:41

LoL.. nein Danke.. ich greife gern mal unter die Arme.. aber ihr wollt ja auch was lernen.. und da gibt`s doch so`n Sprichwort: "Learning by doing."

=)

burns 16.04.2008 19:45

Verdammt Recht hast du .. leider!
Bin ja selbst ein Verfechter der learning by doing Methode, aber in Sachen Scripts geht da echt der Ofen aus, bin ja schon froh wenn Addons noch funktionieren nachdem ich in der Config rumgespielt hab :D

Naja, ich werd mich mal hinsetzen und abwarten, irgendwann hat irgendjemand bestimmt dieselben Bedürfnisse wie meiner eins und baut das Script *g*

Xeno 21.04.2008 10:41

Noch ein kleiner Tip hierzu...

Das ArmA Hotel hat so ca. 256 Building Positionen. Dummerweise gibt es aber auch eine Menge Positionen in abgeschlossenen Räumen, also wo zwar eine Tür ist, diese sich aber nicht öffnen lässt.

Hatte mir extra mal ein Script geschrieben, dass den Spieler im Abstand von einer Sekunde zu jeder Position versetzt und mir den Index der Räume, die sich nicht betreten lassen, auf einem Zettel notiert.

Also hier aufpassen.


Xeno

Mr-Murray 21.04.2008 11:44

Also ich habe ein recht Gutes geschrieben!
Des beinhaltet eine Menge Features. Sicherlich noch erweiterbar, aber die Basis passt super!
Du kannst alles in der Syntax festlegen.

- Feste/dynamische Startposition
- Zufallspositionen
- Feste Positionen
- Anzahl des Durchlaufs (fest/dynamisch)
- Ausschließen von geschlossenen Räumen (siehe Hotel)
- u.v.m.

Bsp:
Streife bekommt 2-3 feste Positionen, freie Anzahl von dir bestimmbare Zufallspositionen
und läuft diese brav ab. Habe auch ein Deathmatch Beipsile dazu, welches nur im Hotel
spielt! Hatten wir zwei das nicht mal getestet Burni?


Beispiel kann ich heute Abend hochladen.


Im neuen Guide sind alle Positionen, jeweils mit On-Top-Bild der jeweiligen Etage
aufgeführt. Vom Hotel und auch TV-Sender!!! Sehr übersichlich!!! Da sieht man dann auch
gleich, welche Räume geschlossen sind, teilweise die Möbel, Treppenhaus, Fahrstuhl uvm



Grüße

Mr-Murray

burns 21.04.2008 12:15

Zitat:

Zitat von Mr-Murray (Beitrag 172048)
Hatten wir zwei das nicht mal getestet Burni?

Bisher nicht .. können wir aber nachholen :D
Bin gespannt auf dein Example, bis das verfügbar ist glubsch ich mal in die beiden Scripts die Tatsun mir ans Herz gelegt hat:

Random Building Positions
Random House Patrol


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:20 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