[How To] Datenbank-Koordinaten umrechnen

02/23/2010 22:54 hen!#1
Habe vorhin ein Topic eröffnet, weil ich nicht wusste wie man die DB-Koords interpretiert.

Nun habe ich mehrere korrekte Ergebnisse

Sofern ihr gut in PHP seid, dann ist euch damit die Tür zum erstellen von Worldmaps (vgl. Freeworld2) eröffnet. Aber auch noch anderes...

Mein Test an Map1 (Blau) hat sich als korrekt ergeben.
Ein weiterer Test in der Großen Wüste war ebenfalls korrekt.

Habe in einer Datei (entpackt) ein paar Werte gefunden und im Metin-Ordner ist eine Datei "atlasinfo.txt" die die BasePointer jeder map enthält.

Die Formel um zurück zu rechnen (von DB-Wert auf Koords) ist die Folgende:

Code:
[B]Abgelesen:[/B]
Ingame-Koords: 343/479
DB-Koords: 955931/252730

[B]Atlasinfo.txt[/B]
BasePointer Map1 (Blau) 921600/204800
[CODE]metin2_map_c1	[B][COLOR="DarkRed"]921600	204800[/COLOR][/B]	4	5
Rechnung
Rechnung: ((955931-921600)/200)/0.5 / ((252730-204800)/200)/0.5
die Werte müssen auf ganze Stellen gerundet werden.
Ergebnis: 343/479[/code]

Die 200 und 0,5 sind Skalier-Werte, da die "normalen" Koords nur Grobe Raster über der Minimap sind.

Meine Rechnung in PHP war:
PHP Code:
echo 'Ergebnis: '.round((((955931-921600)/200)/0.5),0).'/'.round((((252730-204800)/200)/0.5),0); 
02/23/2010 22:56 Ocelot2606#2
thx damit kann ich was anfangen
02/24/2010 13:12 hen!#3
Quote:
Originally Posted by TheSecret85 View Post
thx damit kann ich was anfangen
;) ich denke das können noch mehrere. Deshalb mal ein kleiner "push". Denke, dass das grade für die Scripter sehr interessant sein könnte.
02/24/2010 13:41 Ocelot2606#4
denk ich auch mal sehen wie lange es dauert bis ich da mal richtig weiter komme

mit PHP nur ist es mir zu umständlich mal sehen was mit PHP OOP geht und Shell Schleifen
02/24/2010 15:35 Imaginär#5
Wie bist du denn dadrauf gekommen?^^

Klappt das auch wirklich mit jeder Mapkoordinate?
02/24/2010 15:50 IgorGlock#6
damit kann man Joshi's WorldMapBlaBla Ding nachmachen!

Fette THX... ich gugmal was ich da machen könnte ^.^

Quote:
Originally Posted by _DownTime View Post
Wie bist du denn dadrauf gekommen?^^

Klappt das auch wirklich mit jeder Mapkoordinate?
ja es steht in einer Spalte nebendran.. also die Map Blau1 z.B.: MAP-ID41
02/24/2010 15:54 .KoVu#7
Quote:
Originally Posted by IgorGlock View Post
damit kann man Joshi's WorldMapBlaBla Ding nachmachen!

Fette THX... ich gugmal was ich da machen könnte ^.^



ja es steht in einer Spalte nebendran.. also die Map Blau1 z.B.: MAP-ID41
Nachmachen gutes Wort.

Überlegt euch doch mal was Eigenes...

MfG. KoVu / CooN / TjanGo
02/24/2010 16:00 hen!#8
Quote:
Originally Posted by .Keks View Post
Nachmachen gutes Wort.

Überlegt euch doch mal was Eigenes...

MfG. KoVu / CooN / TjanGo
Nachmachen? die Idee schwirr mir auch längst im Kopf rum. Ich konnte nur nichts mit den DB-Koordinaten anfangen.

Letzendlich bin ich wohl selber drauf gekommen.

Quote:
Originally Posted by _DownTime View Post
Wie bist du denn dadrauf gekommen?^^

Klappt das auch wirklich mit jeder Mapkoordinate?
Map-Files durchsucht wie ein wildes Tier. Was von Scales mit Werten gelesen.
Die Basepointer der Map aus atlasinfo.txt genommen
Differenz aktueller Koordinate - BasePointer und dann durch die Skalierwerte gerechnet. Bzw. Vorher hab ich von den aktuellen Koords hochgerechnet und DB-Werte verglichen. Da Gabs jedoch kleine Abweichungen von den Werten, deshalb hab ich rückwärts kalkuliert und habe die Koords rausbekommen.

Habe das 2x auf Map1 berechnet und 1x in der Wüste und auf meinem Worldmap-Script funktionierts auch plausibel.

Siehe
[Only registered and activated users can see links. Click Here To Register...]
02/24/2010 16:03 .KoVu#9
Quote:
Originally Posted by hennink View Post
Nachmachen? die Idee schwirr mir auch längst im Kopf rum. Ich konnte nur nichts mit den DB-Koordinaten anfangen.

Letzendlich bin ich wohl selber drauf gekommen.



Map-Files durchsucht wie ein wildes Tier. Was von Scales mit Werten gelesen.
Die Basepointer der Map aus atlasinfo.txt genommen
Differenz aktueller Koordinate - BasePointer und dann durch die Skalierwerte gerechnet. Bzw. Vorher hab ich von den aktuellen Koords hochgerechnet und DB-Werte verglichen. Da Gabs jedoch kleine Abweichungen von den Werten, deshalb hab ich rückwärts kalkuliert und habe die Koords rausbekommen.

Habe das 2x auf Map1 berechnet und 1x in der Wüste und auf meinem Worldmap-Script funktionierts auch plausibel.

Siehe
[Only registered and activated users can see links. Click Here To Register...]
So meinte ich das nicht.

Wieso musst du darüber ein Tutorial machen?

Muss doch net jeder Datto ne Worldmap haben -.-
02/24/2010 16:08 Döner_God#10
genau da liegt das problem
Quote:
So meinte ich das nicht.

Wieso musst du darüber ein Tutorial machen?

Muss doch net jeder Datto ne Worldmap haben -.-
Wenn du alles weiß dann verpiss dich einfach du hast ja auch nur die serverfiles von einen Forum von einer person die was released hast und nun meckerste weil jeder idi eine worldmap hat? wo ist dort die logik genau ego!
02/24/2010 16:12 hen!#11
Früher oder später wird eh sogut wie alles Pub...
Und diese Funktion ist spätestens dann public, wenn ich mein Script zur Verfügung stelle, weil es dort drin enthalten sein wird.

Aufgrund der bisherigen Daten können hier eh die wenigsten was damit anfangen, weil kaum einer vernünftig PHP+SQL kann ;)
02/24/2010 16:20 .KoVu#12
Quote:
Originally Posted by Döner_God View Post
genau da liegt das problem


Wenn du alles weiß dann verpiss dich einfach du hast ja auch nur die serverfiles von einen Forum von einer person die was released hast und nun meckerste weil jeder idi eine worldmap hat? wo ist dort die logik genau ego!
Werd mal nich so frech hier. Sonst bereust du es gewaltig.

Das soll keine Drohung sein. Betrachte es eher als ein versprechen.


Weißt du überhaupt was Joshi und ich (andere waren auch dabei. nebensache) alles angestellt haben um an die Serverfiles zu kommen, aber es letztendlich nicht geschafft haben (leider)? Ich würde mich nicht so groß aufspielen wenn ich du wäre. Ich denke wir haben uns mehr angestrengt und uns mehr strafbar gemacht als die meisten die hier unterwegs sind.

Also erzähl mir bitte nichts über irgendwelche Egoscheiße.
02/24/2010 16:21 Ap0kalyps3#13
Quote:
Originally Posted by hennink View Post
Habe vorhin ein Topic eröffnet, weil ich nicht wusste wie man die DB-Koords interpretiert.

Nun habe ich mehrere korrekte Ergebnisse

Sofern ihr gut in PHP seid, dann ist euch damit die Tür zum erstellen von Worldmaps (vgl. Freeworld2) eröffnet. Aber auch noch anderes...

Mein Test an Map1 (Blau) hat sich als korrekt ergeben.
Ein weiterer Test in der Großen Wüste war ebenfalls korrekt.

Habe in einer Datei (entpackt) ein paar Werte gefunden und im Metin-Ordner ist eine Datei "atlasinfo.txt" die die BasePointer jeder map enthält.

Die Formel um zurück zu rechnen (von DB-Wert auf Koords) ist die Folgende:

Code:
[B]Abgelesen:[/B]
Ingame-Koords: 343/479
DB-Koords: 955931/252730

[B]Atlasinfo.txt[/B]
BasePointer Map1 (Blau) 921600/204800
[CODE]metin2_map_c1	[B][COLOR="DarkRed"]921600	204800[/COLOR][/B]	4	5
Rechnung
Rechnung: ((955931-921600)/200)/0.5 / ((252730-204800)/200)/0.5
die Werte müssen auf ganze Stellen gerundet werden.
Ergebnis: 343/479[/code]

Die 200 und 0,5 sind Skalier-Werte, da die "normalen" Koords nur Grobe Raster über der Minimap sind.

Meine Rechnung in PHP war:
PHP Code:
echo 'Ergebnis: '.round((((955931-921600)/200)/0.5),0).'/'.round((((252730-204800)/200)/0.5),0); 

x3333

Wenn das geht .. Liebe ich dich dafür x33333333

Warum bin ich da nicht selbst drauf gekommen verdammt :D

Gruß, porn ^^
02/24/2010 16:23 _MATRiiX_#14
ich verstehe deine logik nicht ?
was willste den mit diesem Thread weiter verbreiten?


Meine Ziele:

Metin2 Zocker .%

EMO?
02/24/2010 16:23 IgorGlock#15
Quote:
Originally Posted by .Keks View Post
So meinte ich das nicht.

Wieso musst du darüber ein Tutorial machen?

Muss doch net jeder Datto ne Worldmap haben -.-
^ ausnahmsweise muss ich dir recht geben! Lass' die PHP Codes bei dir! Net weitergeben ... wer das sich verdient hat, wird das auch selber schaffen... nur zur Info: Ich bin ego und das soll jeder wissen... ;)

EDiT:
Quote:
Originally Posted by _MATRiiX_ View Post
ich verstehe deine logik nicht ?
was willste den mit diesem Thread weiter verbreiten?


Meine Ziele:

Metin2 Zocker .%

EMO?
kauf dir Signatur :-)