Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 28.08.2010, 20:50   #1 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.12.2006
Beiträge: 157
Standard Koordinaten anzeigen lassen

Ich möchte mir die Position einer Einheit in einer Funkmitteilung anzeigen lassen.

z.B. soldat1 sidechat "Sodat2 ist bei Position 036008"

Wie kann ich mir die Katenkoordinaten einer Einheit auslesen? Ich möchte lediglich die Koordinaten des Gitternetzes der Landschaftskarte .
hypercop ist offline   Mit Zitat antworten
Alt 28.08.2010, 21:40   #2 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

Code:
player sideChat format["%1",mapGridPosition player]
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 28.08.2010, 22:13   #3 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.12.2006
Beiträge: 157
Standard

Das war ja wieder super einfach. Ich kannst leider gerade nicht mehr ausprobieren, da ich nicht mehr an meinem Spielerechner bin, aber laut dem hier: mapGridPosition - Bohemia Interactive Community ist es genau das was ich suchte. Danke.
hypercop ist offline   Mit Zitat antworten
Alt 28.08.2010, 22:43   #4 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

Ja klar... sonst hätt' ich`s kaum gepostet...
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 12.09.2010, 20:56   #5 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.12.2006
Beiträge: 157
Standard

Kann man sich denn auch die Stadt ausgeben lassen, in der sich eine Einheit befindet?
hypercop ist offline   Mit Zitat antworten
Alt 12.09.2010, 23:45   #6 (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

Leg über die Städte einen "Jeder"-Auslöser. Aus denen kannst du auslesen, wer im Bereich einer Stadt ist.

Wie man "Auslesen" kann, findest du hier: Problem bei der bedingung anwesenheit
Vienna ist offline   Mit Zitat antworten
Alt 13.09.2010, 11:45   #7 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.12.2006
Beiträge: 157
Standard

Mir kommt es gar nicht so drauf an, welche Einheit in der Stadt ist. Ich möchte wissen ob es möglich ist sich einen Städtenamen auslesen zu lassen.

Wenn ich mich richtig erinnere wurden mir von der Ki, in Arma2, Funkmeldungen gesagt. z.B. "Feinde in Zelengorsk". Wenn die Ki dies kann, dann muss es doch auch einen Scriptbefehl geben, welcher die Städtenamen so ausliest, wie der Befehl mapGridPosition die Koordinaten der Karte ausgibt.
hypercop ist offline   Mit Zitat antworten
Alt 13.09.2010, 12:21   #8 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge
 
Benutzerbild von Buliwyf
 
Registriert seit: 11.03.2005
Ort: HH
Alter: 46
Beiträge: 1.927
Standard

Die KI liest nicht die Städtenamen aus, sondern über Auslöser wird ein Text ausgegeben, in dem halt der Stadtname eingeben ist...
__________________
Buliwyf ist offline   Mit Zitat antworten
Alt 13.09.2010, 16:50   #9 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.12.2006
Beiträge: 157
Standard

Ok, schade. Also kein townnamePosition-Befehl. hehe
hypercop ist offline   Mit Zitat antworten
Alt 13.09.2010, 18:02   #10 (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

Ich sehe hier keinen Nachteil. Du brauchst ja den Auslöser über der Stadt um festzustellen ob Feinde in der Stadt sind. Den Text der Meldung musst du so oder so schreiben. Darin führst du dann den Namen der Stadt an, für die der Auslöser ist.

Das muss alles programmiert werden. Das kann dir kein Befehl abnehmen.
Vienna ist offline   Mit Zitat antworten
Alt 13.09.2010, 19:52   #11 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 24.01.2009
Beiträge: 209
Standard

Es gibt doch aber das die KI statt der Positionsangabe den Namen der Stadt "sagt" ... also irgendwie wird das schon gehen was er meint ...
Vocoder ist offline   Mit Zitat antworten
Alt 13.09.2010, 20:02   #12 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 31
Beiträge: 1.724
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

ja schon. über recht aufwändiges scripting.

er könnte eine spiellogik über die stadt setzen um anschließend die entfernung der unit die etwas funken soll zu der logik abzufragen um daraufhin einen passend vorkenfektionierten text abspulen zu lassen, jenachdem welche stadt eben am nähesten liegt.

is aber im endeffekt das gleiche, denn der text muss trotzdem manuell eingegeben werden. ob sich der aufwand da lohnt is fraglich...
__________________
Niemand hat die Absicht eine Tüte zu bauen!
Pfandgiraffe ist offline   Mit Zitat antworten
Alt 13.09.2010, 22:00   #13 (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

Das geht mit dem Koordinatensystem allein. Man braucht nur die Positionen der Städte in einem Array speichern und eine (gar nicht so schwierige) Abfrage mit forEach erstellen, welche mit dem Befehl distance die Positionen aus dem Array zu einer beliebigen Position vergleicht.
Vienna ist offline   Mit Zitat antworten
Alt 16.09.2010, 10:15   #14 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.06.2009
Beiträge: 103
Standard

Zitat von hypercop Beitrag anzeigen

Ich möchte wissen ob es möglich ist sich einen Städtenamen auslesen zu lassen.

Natürlich ist das möglich. Auf den Originalkarten sind eigentlich alle Siedlungen auch als Locations definiert. Locations haben eine ganze Reihe von Eigenschaften (Position, Name, Typ, Radius, Ausrichtung, Text, Seitenzugehörigkeit, usw.) welche sich entsprechend Abfragen lassen.

Kopiere mal folgenden Code in einen Funk-Auslöser:
Code:
hint format["%1", (text (nearestLocation [(getpos player),"NameVillage"]))]
Damit wird Dir der Name des Dorfes angezeigt welches am nähesten an der Position des Spielers liegt.

Siedlungen sind in drei unterschiedlichen class- typen definiert "NameVillage" für Dörfer, "NameCity" für Städte und "NameCityCapital" für Grossstädte, welche sich leider nicht über eine gemeinsame Oberklasse abfragen lassen. Der Befehl "nearestLocation" akzeptiert aber nur eine einzige class nach der gesucht wird und liefert auch nur die nächste der gesuchten class entsprechende Location zurück.

Anders der Befehl "nearestLocations". Ihm kann ich eine Array mit classen angeben nach welchen ich suchen möchte, muss ihm aber auch noch zusätzlich einen Suchradius angeben. Dieser Befehl liefert alle Locations, welche sich im Suchradius befinden und den gesuchten classen entsprechen sortiert nach ihrer Distanz zur Ausgangssuchposition (naheste Location zuerst) in Form eines Arrays.

Obiges Beispiel mit diesem Befehl:
Code:
hint format["%1", (text (nearestLocations [(getpos player),["NameVillage","NameCity","NameCityCapital"],1000]select 0))]
Beide Beispiele sollen nur zeigen, dass es eigentlich recht einfach mit einer Code-Zeile geht. Es fehlt dabei aber z.B. die Überprüfung ob den überhaupt ein erwünschtes Suchergebnis vorliegt.

Übrigens kann man natürlich auch Abfragen, ob sich eine bestimmte Position (z.B die des Spielers) innerhalb einer bestimmten Siedlung befindet:
Code:
 (getpos Player) in (nearestLocation [(getpos player), "NameVillage"])
. Liefert "true" zurück wenn der Spieler sich innerhalb des von ihm aus gesehen nächsten Dorf befindet.

Einige "Makel" hat die ganze Locations- Geschichte jedoch. So z.B. deckt der Radius einer Dorflocation nicht immer auch wirklich das ganze Dorfgebiet ab oder liegt die Position der Dorflocation nicht auch zwingend in der Mitte des Dorfes.

Es gibt übrigens auch im Funktionsmanager-Modul mindest eine Funktion die einem Infos zu Locations anzeigt.
Asso-Loki ist offline   Mit Zitat antworten
Alt 16.09.2010, 13:27   #15 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.12.2006
Beiträge: 157
Standard

Genau das ist es was ich suchte. So wie es Vocoder beschrieb, kann die Ki die Städtenamen auslesen. Mir fehlte nur der Befehl hierzu.

Danke für die präzisen Ausführungen. Diese Zeile,

Zitat:

hint format["%1", (text (nearestLocations [(getpos player),["NameVillage","NameCity","NameCityCapital"],1000]select 0))]

war fast exakt der Befehl den ich benötigte.

Vielen Dank Asso-Loki. Mich würde noch interessieren, wie du die Befehle gefunden hast. Ich habe im Wiki die Suchbegriffe town und village verwendet und bin nicht schlau geworden.
hypercop ist offline   Mit Zitat antworten
Alt 16.09.2010, 13:55   #16 (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

Kaum zu glauben, was bei Arma bereits alles "natürlich möglich ist". Schade, dass das Spiel, durch die enorm fehlerhaften Verkaufsversionen, einen so vernichtenden Fehlstart hatte.

Zitat von Asso-Loki Beitrag anzeigen

...

Übrigens kann man natürlich auch Abfragen, ob sich eine bestimmte Position (z.B die des Spielers) innerhalb einer bestimmten Siedlung befindet:

Code:
 (getpos Player) in (nearestLocation [(getpos player), "NameVillage"])
. Liefert "true" zurück wenn der Spieler sich innerhalb des von ihm aus gesehen nächsten Dorf befindet.

...
Innerhalb einer bestimmten Stadt erfordert allerdings die Eingabe des Stadtnamens und eine etwas umfangreichere Abfrage.

Wie Asso-Loki bereits sagte, ist das Stadtgebiet dabei leider nicht zur gänze abgedeckt, ja geradezu unbefriedigend!

z.B. bei "NameVillage" misst der Bereich nur einen 100m Radius vom ersten Buchstaben des Stadtnamens aus.

Wer auf der sicheren Seite sein will, muss einen eigenen Auslöserbereich anlegen.
Vienna ist offline   Mit Zitat antworten
Alt 16.09.2010, 14:13   #17 (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

Zitat von hypercop Beitrag anzeigen

Mich würde noch interessieren, wie du die Befehle gefunden hast. Ich habe im Wiki die Suchbegriffe town und village verwendet und bin nicht schlau geworden.

Das hat was mit "Location" zu tun: createLocation - Bohemia Interactive Community

Location = createLocation [className, position, sizeX, sizeY]

Den genauen Umgang damit habe ich noch nicht ganz durchschaut.
Vienna ist offline   Mit Zitat antworten
Alt 16.09.2010, 14:17   #18 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 01.06.2009
Beiträge: 103
Standard

Zitat von Vienna Beitrag anzeigen

Innerhalb einer bestimmten Stadt erfordert allerdings die Eingabe des Stadtnamens und eine etwas umfangreichere Abfrage.

Richtig.

Zitat von Vienna Beitrag anzeigen

Wie Asso-Loki bereits sagte, ist das Stadtgebiet dabei leider nicht zur gänze abgedeckt, ja geradezu unbefriedigend!

z.B. bei "NameVillage" misst der Bereich nur einen 100m Radius vom ersten Buchstaben des Stadtnamens aus.

Ja, teilweise sehr unbefriedigend! Locations könnten - wenn sie den von den Map- Entwicklern mit Sinn, Verstand und Sorgfalt gesetzt worden wären / würden - ein mächtiges Hilfsmittel sein.

Zitat von Vienna Beitrag anzeigen

Wer auf der sicheren Seite sein will, muss einen eigenen Auslöserbereich anlegen.

Jupp oder man legt eigene, besser platzierte Locations mit besserer Ausnützung der möglichen Infos und Einstellmöglichkeiten über die bereits gesetzten. Eine Location braucht normalerweise weniger Rechenzeit als ein Auslöser der ja meist - wie eine Scriptschlaufe - in einem hohen Intervall auf die Erfüllung seiner Bedingungen abgefragt wird. Locations bieten auch einiges an Einstellmöglichkeiten, welche man über Befehle und Anweisungen manipulieren kann.
Asso-Loki ist offline   Mit Zitat antworten
Alt 16.09.2010, 15:30   #19 (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

Ein Beispiel wie man eine eigene "Location" anlegt. Man sieht darin auch den Nachteil der fixen Stadt-Location.
Angehängte Dateien
Dateityp: zip Location_Test.zip (1,5 KB, 43x aufgerufen)
Vienna ist offline   Mit Zitat antworten
Alt 18.01.2011, 12:59   #20 (permalink)
50 Beiträge100 Beiträge
 
Registriert seit: 08.06.2009
Ort: Düsseldorf
Beiträge: 159
Standard

So, da mir befohlen wurde, hier meine Frage weiter zu stellen werde ich das mal tun.

Zitat:

Wo steht denn da etwas von Chat?
Nur weil das Beispiel vom Buliwyf nicht auf exakt deinen Begehr gemünzt ist, heisst es ja nicht das der zugrundeliegende Befehl falsch ist.

Wollen wir uns doch mal zusammen den Befehl anschauen

Code:
_gridPos = mapGridPosition player
Der Return Wert der in _gridPos gespeichert wird ist ein String.
Jetzt kommt die Master Frage, die ich auch schon im anderen thread gestellt habe.
Wie bekomm ich den Wert OHNE "hint","hint silence" oder einen Sidechat zu benutzen ausgegeben?
Die Methode die dieser befehl für mich eröffnet ist das Selbe wie in dem anderen Thread schon vorgeschlagen.
Eintippen->Spiel starten-> Wert ablesen der eingeblendet wird-> Aufschreiben.
Wie dumm ist das?
In dem anderen Thread war die Frage, ob es nicht einfacher geht. Weil dieser Thread extrem ausgeschweift ist im Thema und eben NICHT das behandelt was ich will.

Wenn es doch anders geht mit diesem Befehl, dann Bitte ich um aufklärung und entschuldigung.
__________________
Im Ingenieur steckt Genie, vergiss das nicht.
Skywalker077 ist offline   Mit Zitat antworten
Antwort


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