Armed-Assault.de Twitter
 
 
Themen-Optionen Ansicht
Alt 05.05.2014, 15:32   #1 (permalink)
Newbie
 
Registriert seit: 02.05.2014
Beiträge: 15
Standard 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 ?
manatarms ist offline  
Alt 05.05.2014, 17:16   #2 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

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.


Grüße
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 05.05.2014, 18:07   #3 (permalink)
Newbie
 
Registriert seit: 02.05.2014
Beiträge: 15
Standard

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.

Geändert von manatarms (05.05.2014 um 18:11 Uhr).
manatarms ist offline  
Alt 05.05.2014, 18:13   #4 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

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;
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 05.05.2014, 18:17   #5 (permalink)
Newbie
 
Registriert seit: 02.05.2014
Beiträge: 15
Standard

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;

Geändert von manatarms (05.05.2014 um 18:19 Uhr).
manatarms ist offline  
Alt 06.05.2014, 08:56   #6 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
Standard

Zitat von Psychobastard Beitrag anzeigen

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.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547

Geändert von Lester (06.05.2014 um 12:20 Uhr).
Lester ist offline  
Alt 06.05.2014, 09:17   #7 (permalink)
500 Beiträge1000 Beiträge
 
Benutzerbild von Pfandgiraffe
 
Registriert seit: 16.09.2008
Ort: Berlin
Alter: 38
Beiträge: 1.737
Pfandgiraffe eine Nachricht über ICQ schicken Pfandgiraffe eine Nachricht über Skype™ schicken
Standard

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.
__________________
Niemand hat die Absicht eine Tüte zu bauen!
​​​​​​​
___<<<A3 Wounding System>>>___
Pfandgiraffe ist offline  
Alt 06.05.2014, 12:19   #8 (permalink)
10 Jahre hx3
500 Beiträge1000 Beiträge2.500 Beiträge
 
Benutzerbild von Lester
 
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
Standard

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.
https://community.bistudio.com/wiki/setPosASL2

Https funktioniert auch hier, hehe.


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.
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547

Geändert von Lester (06.05.2014 um 12:22 Uhr).
Lester 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
SetOwner Problematik manatarms Editing & Scripting 11 05.05.2014 17:11
Objekt Größe Ausgabe und kollision abfrage Nokman Editing & Scripting 2 14.04.2014 12:49
Objekt mit cursorTarget bewegen Nokman Editing & Scripting 0 08.03.2014 11:19
Ein Objekt als Auslöser & Rundenmodus Paspertou Editing & Scripting 2 06.10.2013 00:05
Objekt im Inventar, Mission erfüllt Marscl Editing & Scripting 16 11.04.2012 00:10


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