Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Last Chaos
You last visited: Today at 17:12

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Vorstellung] Maps innerhalb Dungeons

Discussion on [Vorstellung] Maps innerhalb Dungeons within the Last Chaos forum part of the MMORPGs category.

View Poll Results: Maps für die Dungeons - Bitte von 1 (nicht sinnvoll) bis 5 (sehr sinnvoll) bewerten!
1 - Nicht sinnvoll 7 3.03%
2 - Eher weniger sinnvoll 3 1.30%
3 - Unentschlossen 4 1.73%
4 - Sinnvoll 37 16.02%
5 - Sehr sinnvoll 180 77.92%
Voters: 231. You may not vote on this poll

Reply
 
Old 06/02/2012, 11:39   #46

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
Btw, sieht aus als wärst du in Tarian, es wird nur als Belfist angezeigt (vlcht iwie Zonenzuordnung geändert?), ein Screen im Belfist auf EP2 ohne Hacks mit Map wär was feines (hab dir mal im Skype ne Nachricht geschrieben).
Tarissuis is offline  
Old 06/02/2012, 13:07   #47
 
» Fabi202cool's Avatar
 
elite*gold: 20
Join Date: Sep 2009
Posts: 2,095
Received Thanks: 4,917
Habe jetzt mal alle Maps hinzugefügt:



Habe immer Tarian kopiert, da es bei der Map am schnellsten ging. Ich kann bei jeder Map die Auflösung, NPC Coordinaten, Detailmaps (z.B. Städte wie Randol) und Dungeoneingänge hinzufügen/löschen.

Habe den Screen in Juno gemacht, die anzeige der Map läuft folgendermaßen ab:

Tastendruck M -> Überprüfung ob Map = "ZONE_FIELD" (gibt noch "ZONE_DUNGEON" und "ZONE_SDUNGEON") -> Laden der Mapinformationen aus einer .lod

Das ganze findet in der Engine.dll statt, d.h. man muss jedes mal wenn eine neue Engine kommt neu patchen. Ich teste gerade noch etwas rum wie man das ganze umgehen könnte.
» Fabi202cool is offline  
Thanks
2 Users
Old 06/02/2012, 13:17   #48

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
Quote:
Originally Posted by » Fabi202cool View Post
Habe jetzt mal alle Maps hinzugefügt:



Habe immer Tarian kopiert, da es bei der Map am schnellsten ging. Ich kann bei jeder Map die Auflösung, NPC Coordinaten, Detailmaps (z.B. Städte wie Randol) und Dungeoneingänge hinzufügen/löschen.

Habe den Screen in Juno gemacht, die anzeige der Map läuft folgendermaßen ab:

Tastendruck M -> Überprüfung ob Map = "ZONE_FIELD" (gibt noch "ZONE_DUNGEON" und "ZONE_SDUNGEON") -> Laden der Mapinformationen aus einer .lod

Das ganze findet in der Engine.dll statt, d.h. man muss jedes mal wenn eine neue Engine kommt neu patchen. Ich teste gerade noch etwas rum wie man das ganze umgehen könnte.
Gut, für sowas fehlt mir einfach das technische Wissen, aber da die engine ja soweit ich weis bei jedem update gepatcht wird, wäre das nur für p-server interessant, bei denen nicht jede woche ein update kommt.
Tarissuis is offline  
Old 06/02/2012, 15:09   #49
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Wäre es nicht möglich, einen kleinen Patcher zu machen, der das nach jedem Update automatisch patcht?
-STORM- is offline  
Old 06/05/2012, 01:23   #50
 
Haftbefehl®'s Avatar
 
elite*gold: 21
Join Date: Mar 2010
Posts: 206
Received Thanks: 272
Pyramap ist echt nice *.*
Haftbefehl® is offline  
Old 06/05/2012, 14:04   #51

 
elite*gold: 3324
Join Date: May 2011
Posts: 926
Received Thanks: 983
das ist ne super idee
BaZZtian is offline  
Old 06/08/2012, 18:38   #52
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Wie gehts voran?
-STORM- is offline  
Old 06/08/2012, 20:05   #53

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
Langsam, zum einen bin ich grad in andere Projekte verwickelt, zum anderen fehlt einfach die Motivation, für unsere Section zu releasen, solange derartige Zustände anhalten. Es fehlt zwar nicht mehr viel, aber ich werde erst releasen, wenn alles komplett fertig ist und ich der Meinung bin, dass sich ein free-Release lohnt.

MfG, Tarissuis

PS: Mittwoch ist mein letztes Abitur-Fach, wenn danach die Zeit und Motivation stimmt, kann das ganze locker zum Wochenende fertig sein
Tarissuis is offline  
Thanks
1 User
Old 08/19/2012, 16:01   #54
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Was ist eigentlich daraus geworden?
Ich hab inzwischen nen Weg gefunden, wie man die Karte überall öffnen kann, ohne die g_slzone zu ändern.
Man könnte dafür nen Patcher machen, sodass es dauerhaft geht und kein Memoryhack nötig ist. Ginge also auch mit xTrap Versionen.


Code:
_SFunc+8AD9 - 0F84 02010000           - je _SFunc+8BE1
Hier wird, nachdem die aktuelle MapID (Wert der g_slzone) mit den zum Anzeigen der Karte nicht zugelassenen verglichen wurde, ein conditional jump ausgeführt, falls sie gleich sind (Jump if Equal).
D.h. ist man in nem Dungeon/Tempel, wird der conditional jump ausgeführt und somit der Code, der die Karte öffnet, übersprungen.

Was macht man also?
Richtig, man verhindert einfach, dass der conditional jump ausgeführt werden kann. Dazu muss man nur an dieser Stelle einen Code einsetzen, der gar nichts macht (NOP).
Der gepatchte Code sieht also so aus:
Code:
_SFunc+8AD9 - 90                      - nop 
_SFunc+8ADA - 90                      - nop 
_SFunc+8ADB - 90                      - nop 
_SFunc+8ADC - 90                      - nop 
_SFunc+8ADD - 90                      - nop 
_SFunc+8ADE - 90                      - nop
Es sind 6 Zeilen, da der originale Befehl eine Länge von 6 Bytes hatte. NOPs werden in einzelnen Zeilen dargestellt, die Länge ist dieselbe.


Dafür nen Patcher zu machen, wäre ne Sache von ein paar Minuten.
Edit: Ganz so einfach ist es anscheinend doch nicht.
Zur Laufzeit geht es mit OllyDbg oder CE ohne Probleme, aber halt nicht bei xTrap.
Wegen VMProtect kann man das aber nicht einfach in der Engine.dll patchen. Man könnte zwar per MemoryDump mit LordPE o.ä. die Protection entfernen, und in die gedumpte Engine patchen, aber mit der unverschlüsselten Datei kann LC dann wiederum nichts anfangen.
Hat jemand ne Idee, was man da machen könnte?
-STORM- is offline  
Thanks
1 User
Old 09/26/2012, 16:40   #55

 
Tarissuis's Avatar
 
elite*gold: 2470
Join Date: Jul 2010
Posts: 7,524
Received Thanks: 5,444
Quote:
Originally Posted by -STORM- View Post
Was ist eigentlich daraus geworden?
Ich hab inzwischen nen Weg gefunden, wie man die Karte überall öffnen kann, ohne die g_slzone zu ändern.
Man könnte dafür nen Patcher machen, sodass es dauerhaft geht und kein Memoryhack nötig ist. Ginge also auch mit xTrap Versionen.


Code:
_SFunc+8AD9 - 0F84 02010000           - je _SFunc+8BE1
Hier wird, nachdem die aktuelle MapID (Wert der g_slzone) mit den zum Anzeigen der Karte nicht zugelassenen verglichen wurde, ein conditional jump ausgeführt, falls sie gleich sind (Jump if Equal).
D.h. ist man in nem Dungeon/Tempel, wird der conditional jump ausgeführt und somit der Code, der die Karte öffnet, übersprungen.

Was macht man also?
Richtig, man verhindert einfach, dass der conditional jump ausgeführt werden kann. Dazu muss man nur an dieser Stelle einen Code einsetzen, der gar nichts macht (NOP).
Der gepatchte Code sieht also so aus:
Code:
_SFunc+8AD9 - 90                      - nop 
_SFunc+8ADA - 90                      - nop 
_SFunc+8ADB - 90                      - nop 
_SFunc+8ADC - 90                      - nop 
_SFunc+8ADD - 90                      - nop 
_SFunc+8ADE - 90                      - nop
Es sind 6 Zeilen, da der originale Befehl eine Länge von 6 Bytes hatte. NOPs werden in einzelnen Zeilen dargestellt, die Länge ist dieselbe.


Dafür nen Patcher zu machen, wäre ne Sache von ein paar Minuten.
Edit: Ganz so einfach ist es anscheinend doch nicht.
Zur Laufzeit geht es mit OllyDbg oder CE ohne Probleme, aber halt nicht bei xTrap.
Wegen VMProtect kann man das aber nicht einfach in der Engine.dll patchen. Man könnte zwar per MemoryDump mit LordPE o.ä. die Protection entfernen, und in die gedumpte Engine patchen, aber mit der unverschlüsselten Datei kann LC dann wiederum nichts anfangen.
Hat jemand ne Idee, was man da machen könnte?

Ich "pushe" diesen Beitrag nun einfach mal, denn ich hätte die erste Version für Maps ab level 100 bereits fertig, ich werde diese Sammlung jedoch erst releasen, wenn das ganze vernünftig nutzbar ist.

Also an diejenigen, die etwas tiefer im Programming stecken: Wem eine Idee kommt, wie man das ganze lösen kann, meldet euch bitte per PN bei mir!

MfG, Tarissuis
Tarissuis is offline  
Old 09/26/2012, 17:50   #56
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Bin immer noch so weit, wie bei der letzten PN.
Als Memoryhack wäre das für mich kein Problem.
Könnte das ganze auchh multi-fähig gestalten, sprich einmal klicken und alle geöffneten LC-Fenster werden gepatcht.

Die Datein direkt zu patchen, kriege ich aber wegen VMProtect nicht hin.

D.h. per Memoryhack läuft es auf allen Versionen, auf denen man xTrap umgehen kann. Per Logs wäre es von Aeria o.ä. auch nicht nachweisbar.
-STORM- is offline  
Thanks
1 User
Old 09/26/2012, 23:32   #57
 
» Fabi202cool's Avatar
 
elite*gold: 20
Join Date: Sep 2009
Posts: 2,095
Received Thanks: 4,917
Man könnte das dann z.B. mit einer DLL realisieren, die dann beim start geladen wird.
» Fabi202cool is offline  
Thanks
1 User
Old 09/27/2012, 15:56   #58
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Gute Idee. Kann mit AutoIt leider keine Dlls kompilieren, ansonsten wäre es nur ein Script von ein paar Zeilen.

Kannst dich ja mal dran versuchen.
Kurzversion:
Folgende Codezeile muss durch NOPs ersetzt werden:

Code:
_SFunc+8AD9 - 0F84 02010000           - je _SFunc+8BE1
-STORM- is offline  
Thanks
1 User
Old 09/27/2012, 16:02   #59
 
Sentence''s Avatar
 
elite*gold: 1
Join Date: Oct 2011
Posts: 1,609
Received Thanks: 2,189
AutoIt wäre halt nur eine Lösung für non-x-Trap versionen viel besser wäre etwas in C/C++ oder PB das würde dann auch nicht geblockt werden^^
Sentence' is offline  
Thanks
1 User
Old 09/27/2012, 16:09   #60
 
-STORM-'s Avatar
 
elite*gold: 124
Join Date: Dec 2009
Posts: 2,114
Received Thanks: 3,142
Ich würde den Patcher mit einem AntiAutoit Bypass ausstatten, der keine Offsets braucht.
Damit wäre es wiederum kein Unterschied gegenüber C++ o.ä.
Klar ist in solchen Sprachen mehr möglich, aber für nen simplen Patcher reicht AutoIt vollkommen.
Die mit C++ erstellte .exe würde von xTrap genau so erkannt. Nur durch ne Dll wird xTrap umgangen und das ist halt in AutoIt nicht möglich.
-STORM- is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[RELEASE] Loads of queries, maps files for last maps and dungeons and more
05/14/2012 - Shaiya PServer Guides & Releases - 16 Replies
Hey there, Here is my first submission, loads of queries and loads more of stuff in there. If you know what these are, you will know how to use it =] Like i said, if you know what these stuff are and from whom, you will make good use of it, i'm pretty sure of that FileFactory Folder view



All times are GMT +1. The time now is 17:12.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.