|
You last visited: Today at 02:53
Advertisement
urllib2 & python2.7
Discussion on urllib2 & python2.7 within the Metin2 Private Server forum part of the Metin2 category.
09/04/2013, 16:34
|
#16
|
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
|
Wieso müssen die Dateien aus dem root/uiscript denn compiliert werden ?
|
|
|
09/04/2013, 17:31
|
#17
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
|
Da muss garnichts compiled werden...
Es liegt lediglich an ein paar Funktionen aus 2.2, die in 2.7 überholt wurden (mehr / weniger Parameter oder schlicht und ergreifend umbenannt).
Der Fehler liegt in den Clientside Scripts, nicht an python2.7
|
|
|
09/04/2013, 19:07
|
#18
|
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
|
Quote:
Originally Posted by xCPx
Da muss garnichts compiled werden...
Es liegt lediglich an ein paar Funktionen aus 2.2, die in 2.7 überholt wurden (mehr / weniger Parameter oder schlicht und ergreifend umbenannt).
Der Fehler liegt in den Clientside Scripts, nicht an python2.7
|
Danke für den Tip
Woher find ich es raus welche Funktionen da inbegriffen sind ?
|
|
|
09/05/2013, 09:07
|
#19
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
|
Ausprobieren.
Solange syserrs fixxen bis keine mehr kommt.
|
|
|
09/05/2013, 10:37
|
#20
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
|
Also entweder ihr fixt den fehler mit den Hex Literals direkt in der Python27.dll oder ihr ersetzt die ganzen color code hex literals durch grp.GenerateColor
0xRRGGBBAA oder 0xAARRGGBB
müsste es sein beim Format
Das ist der einzige Fehler ... sonst nichts
|
|
|
09/05/2013, 14:25
|
#21
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
|
Quote:
Originally Posted by .Nova.
Also entweder ihr fixt den fehler mit den Hex Literals direkt in der Python27.dll oder ihr ersetzt die ganzen color code hex literals durch grp.GenerateColor
0xRRGGBBAA oder 0xAARRGGBB
müsste es sein beim Format
Das ist der einzige Fehler ... sonst nichts
|
Kommt immer drauf an, wenn man beispielsweiße iwo md5 nutzt, so wird das in python22 über das module md5 gemacht während es ab python25 über hashlib geregelt wird.
|
|
|
09/05/2013, 21:41
|
#22
|
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
|
Quote:
Originally Posted by xCPx
Kommt immer drauf an, wenn man beispielsweiße iwo md5 nutzt, so wird das in python22 über das module md5 gemacht während es ab python25 über hashlib geregelt wird.
|
Danke an alle, die geholfen haben bzw. versucht haben zu helfen.
Schönen Abend euch allen.
|
|
|
09/05/2013, 21:51
|
#23
|
elite*gold: 200
Join Date: Apr 2012
Posts: 577
Received Thanks: 290
|
Heißt in der theorie müsste das gehen wenn ich das mache was nova geschrieben hat oder wurde sonst noch was an den strukturen geändert?
|
|
|
09/06/2013, 05:39
|
#24
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,471
Received Thanks: 5,622
|
Quote:
Originally Posted by xCPx
Kommt immer drauf an, wenn man beispielsweiße iwo md5 nutzt, so wird das in python22 über das module md5 gemacht während es ab python25 über hashlib geregelt wird.
|
Metin2 benutzt allerdings kein MD5 in Python (meines Wissens nach).
Ich spreche hier davon ein Upgrade von Python 2.2 auf 2.7 vorzunehmen ... bei einem völlig unveränderten Client.
Das einzige Problem sind die Hex Literals (falls Metin2 nicht startet mit eurer Python2.7 DLL kompiliert sie ohne das site module neu ...) welche einfach durch grp.generatecolor ersetzt werden können.
Um dies ein wenig zu vereinfachen könnt ihr z.B auch
Code:
def StringColorToInt(colorstring):
import grp
colorstring = colorstring.strip()
if len(colorstring) != 8:
raise ValueError, "input #%s is not in #AARRGGBB format" % colorstring
a, r, g, b = colorstring[:2], colorstring[2:4], colorstring[4:6],colorstring[6:8]
a, r, g, b = [int(n, 16) for n in (a, r, g, b)]
return grp.GenerateColor(float(r) / 255.0, float(g) / 255.0, float(b) / 255.0, float(a) / 255.0)
__builtin__.CTOA = StringColorToInt
in eure system.py einfügen.
dann einfach bei allen hex literals aus 0x12345678 CTOA("12345678")
Wenn ihr alle Hex Literals ersetzt habt sollte der Client mit der neuen DLL starten.
Das ist eine Methode ihr könnt es auch direkt in der DLL Fixxen.
Außer der Site Module Sache und der Hex Literal Sache müsst ihr nichts beachten. (ihr solltet natürlich den Python 2.7 Lib Ordner in den Lib ordner im Metin2 Hauptverzeichnis packen)
|
|
|
09/08/2013, 14:34
|
#25
|
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
|
Quote:
Originally Posted by .Nova.
Metin2 benutzt allerdings kein MD5 in Python (meines Wissens nach).
Ich spreche hier davon ein Upgrade von Python 2.2 auf 2.7 vorzunehmen ... bei einem völlig unveränderten Client.
Das einzige Problem sind die Hex Literals (falls Metin2 nicht startet mit eurer Python2.7 DLL kompiliert sie ohne das site module neu ...) welche einfach durch grp.generatecolor ersetzt werden können.
Um dies ein wenig zu vereinfachen könnt ihr z.B auch
Code:
def StringColorToInt(colorstring):
import grp
colorstring = colorstring.strip()
if len(colorstring) != 8:
raise ValueError, "input #%s is not in #AARRGGBB format" % colorstring
a, r, g, b = colorstring[:2], colorstring[2:4], colorstring[4:6],colorstring[6:8]
a, r, g, b = [int(n, 16) for n in (a, r, g, b)]
return grp.GenerateColor(float(r) / 255.0, float(g) / 255.0, float(b) / 255.0, float(a) / 255.0)
__builtin__.CTOA = StringColorToInt
in eure system.py einfügen.
dann einfach bei allen hex literals aus 0x12345678 CTOA("12345678")
Wenn ihr alle Hex Literals ersetzt habt sollte der Client mit der neuen DLL starten.
Das ist eine Methode ihr könnt es auch direkt in der DLL Fixxen.
Außer der Site Module Sache und der Hex Literal Sache müsst ihr nichts beachten. (ihr solltet natürlich den Python 2.7 Lib Ordner in den Lib ordner im Metin2 Hauptverzeichnis packen)
|
Es gibt allerdings das ein oder andere Release, das md5 mitbenutzt, daher hatte ich es eben erwähnt.
Habe das selbst nur 1x gepatcht und damals hatte ich eben ein md5 script mit eingebunden.
|
|
|
04/16/2014, 00:39
|
#26
|
elite*gold: 2
Join Date: Jan 2008
Posts: 531
Received Thanks: 234
|
Hm nutze auf eine Client Binary mit upgrade auf 2.7 wenn ich dann eine gruppe erstellen will schließt sich das fenster und das kommt bei raus:
PartyMemberInfoBoard.__LoadBoard.LoadScript - <type 'exceptions.OverflowError'>:Python int too large to convert to C long
|
|
|
Similar Threads
|
[Client-Release]Python2.2 zu Python2.3
02/01/2012 - Metin2 PServer Guides & Strategies - 27 Replies
Hey,
ich mache für euch mal wieder ein kleines Mini-Release.
Habe die python23.dll so umgeschrieben, dass sie nicht mehr die ganze Syserr zuspammt, und euch mal die passenden lib´s für Python2.3 besorgt. Ich habe sie im Anhang hochgeladen. Kopiert die python23.dll einfach in den Client, und löscht den alten Ordner "lib" und ersetzt ihn mit dem aus dem Anhang. Sucht mit einem Hex-Editor in eurer .bin nach dem Text python22.dll und ersetzt ihn überall wo ihr in findet, durch python23.dll. Das...
|
All times are GMT +2. The time now is 02:53.
|
|