Register for your free account! | Forgot your password?

You last visited: Today at 02:53

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

Advertisement



urllib2 & python2.7

Discussion on urllib2 & python2.7 within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 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 ?
_e°m²~7 is offline  
Old 09/04/2013, 17:31   #17
 
xCPx's Avatar
 
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
xCPx is offline  
Thanks
1 User
Old 09/04/2013, 19:07   #18
 
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
Quote:
Originally Posted by xCPx View Post
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 ?
_e°m²~7 is offline  
Old 09/05/2013, 09:07   #19
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Ausprobieren.
Solange syserrs fixxen bis keine mehr kommt.
xCPx is offline  
Old 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
.Alpha. is offline  
Thanks
3 Users
Old 09/05/2013, 14:25   #21
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Quote:
Originally Posted by .Nova. View Post
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.
xCPx is offline  
Old 09/05/2013, 21:41   #22
 
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
Quote:
Originally Posted by xCPx View Post
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.
_e°m²~7 is offline  
Thanks
1 User
Old 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?
MartPwnS is offline  
Old 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 View Post
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)
.Alpha. is offline  
Thanks
2 Users
Old 09/08/2013, 14:34   #25
 
xCPx's Avatar
 
elite*gold: 20
Join Date: Jun 2011
Posts: 2,897
Received Thanks: 3,336
Quote:
Originally Posted by .Nova. View Post
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.
xCPx is offline  
Old 04/16/2014, 00:39   #26
 
°~Dennis~°'s Avatar
 
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
°~Dennis~° is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.