HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-187/)
-   -   Objekt-Positionen ungenau (https://hx3.de/editing-scripting-187/objekt-positionen-ungenau-23786/)

manatarms 05.05.2014 14:32

Objekt-Positionen ungenau
 
Hallo liebe Community,

nach ( Wochen harter Arbeit habe ich nun endlich einen Meilenstein meines Mods erreicht.
Kurz zur Erklärung:
Ich habe ein Housing-System implementiert, wo man nach einem Baukastenprinzip beispielsweise eine Hütte bauen könnte. Die Objekte kann man aus einer Liste auswählen und werden dann automatisch attached. Man kann jedes Objekt in X,Y,Z rotieren und X,Y,Z verschieben. Nachdem man die gewünschte Transformation ausgeführt hat, kann man das Objekt ablegen. Die Position wird dann in einen DB geschrieben, damit beim Serverneustart alles wieder an Ort und Stelle ist. Leider habe ich festgestellt das die Positionen an dem ich es zuletzt abgelegt habe und die die der Server bestimmt nicht 100% identisch sind. Es gibt immer minimale Abweichungen was leider bei einem Housing Konzept ziemlich blöd ist. Habt Ihr vllt eine Ahnung woran das liegen könnte ?

Pfandgiraffe 05.05.2014 16:16

Positionsabweichungen zwischen Server und Client sind bei Arma normal. Diesen tollen Bug, ähh Feature, wirst du nicht los werden. Es gab da mal so ein Demo Video aus der amerikanischen Community welches bewieß, dass es Abweichungen von bis zu 40 Metern geben kann!

Jetzt ist das blöd für dein Projekt nachdem ich dir geraten habe die Objekte lokal zu spawnen und zu platzieren. Deswegen fragte ich auch danach was du vor hast. Kann ja keiner ahnen das du auch noch jede Position speichern willst. :ugly:


Grüße :armaaa:

manatarms 05.05.2014 17:07

Tja, konntest Du ja nicht wissen, ich versuche es mit Humor zu nehmen, obschon ich ziemlich verzweifelt und auch sauer bin. Was Bohemia da anbietet ist meiner Meinung nach unter aller Sau !!! Ich habe schon mit anderen Engines gearbeitet bzw. APIs und so viele Hürden und Bugs habe ich bisher noch nie bewältigen müssen. Aber nun gut, ich geb nicht auf und versuchs auf ein Neues. Also was genau schlägst du jetzt vor, Objekte vom Server erzeugen lassen und dann dem Cleint via setOwner übergeben, damit dieser Transformationen ausführen kann und dann wieder auf dem Server detachen ? Wäre das eine Lösung ?

P.S.: Hättest Du vllt ein paar Minuten Zeit mit mir das Konzept durchzugehen bevor ich wieder mitten in der Halbzeit merke das alles für die Katz ist. Könnten über unseren TS kurz über alles diskutieren, wäre dir sehr verbunden :). Meld dich einfach falls Du Zeit und Lust hast.

Pfandgiraffe 05.05.2014 17:13

Auf dem Server erzeugen und auch auf dem Server drehen / schieben um anschließend die Position zu speichern. Der Client soll nur noch die den Befehl zum drehen / schieben was auch immer, an den Server senden. Also quasi nur noch ein Array senden welches der Server innerhlab einer Funktion bearbeitet.

z.B. [obj1, -90] call my_fnc_rotateX;

manatarms 05.05.2014 17:17

Das würde bedeuten ich soll die Fkten alle public machen und dann von jedem Client aus aufrufen. Erzeugt das nicht viel zu viel Traffic. Angepeilt sind nämlich 100 Spieler. Das Problem mit den Animationen kommt auch noch hinzu, das Objekt würde sich wieder verzögert drehen !!! Die Anfragen an den Server muss ich wahrscheinlich mit spawn machen oder ?

z.B. [obj1, -90] spawn my_fnc_rotateX;

Lester 06.05.2014 07:56

Zitat:

Zitat von Psychobastard (Beitrag 472327)
Positionsabweichungen zwischen Server und Client sind bei Arma normal. Diesen tollen Bug, ähh Feature, wirst du nicht los werden.

Verwechsel Einheiten bitte nicht mit statischen Objekten !

Je nach Anwendung der Befehle setpos setposatl setposasl kann es gewisse Unterschiede geben, insbesondere der erste ist besonders sensibel.
Ich meine da gab es noch ein setposasl2(Edit:), der sich wohl nicht von Roadways oder andere Dinge von seiner Präzision abbringen läßt.

Pfandgiraffe 06.05.2014 08:17

Ja, bin ich mit ihm gestern schon im TS durchgegangen das er das auch noch prüfen muss. Bisher arbeitet er mit ASL und die Abweichung beträgt wenige Zentimeter.

Lester 06.05.2014 11:19

Ich hab den noch nichtpersönlich getestet, die Info kommt aber aus guter Quelle, das der Befehl wohl am präzisesten arbeiten soll.
Vielleicht ist das ein Effekt das die anderen immer von der Objektmitte ausgehen und sich da ungereimtheiten reinholen. :rolleyes:
https://community.bistudio.com/wiki/setPosASL2

Https funktioniert auch hier, hehe. :p


Btw.
Kann mir einer von euch evtl. beantworten wie ich SetVectorDirAndUp bestücken muß, um auf Basis der Differenzen von 3 Punktkoordinaten ein Objekt passend zu dieser dreieckigen Fläche auszurichten ?

Ich hab dazu bislang nirgendwo etwas verständliches gefunden, suche aber schon mehrere Ewigkeiten danach. In der Schule hatte ich das große Thema "Vektoren" leider nicht und ich muß ja auch nicht alles darüber wissen. :(


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