|
You last visited: Today at 04:37
Advertisement
urllib2 & python2.7
Discussion on urllib2 & python2.7 within the Metin2 Private Server forum part of the Metin2 category.
09/04/2013, 10:20
|
#1
|
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
|
urllib2 & python2.7
Hi,
Hat Einer einen Plan davon wie ich den Client auf Python2.7 upgraden kann?
|
|
|
09/04/2013, 10:33
|
#2
|
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,358
|
Quote:
|
Originally Posted by Mi4uric3
Quote:
|
Originally Posted by _e°m²~7
Hallo,
ich hab gehört, dass du in Sachen Python einer der Besten hier im Epvpers bist und ich hab eine kleine Frage.
Wie Ugrade ich den Client auf Python 2.7 ?
Ich kann nähmlich mit Python2.2 Urllib2
nicht aufgreifen. Ich kenne umwege, die den selben Effekt erbringen würden, doch das ist nicht im Sinne
des Projekts.
Danke im Vorraus.
|
Wo hast du das denn gehört? Ich kenn mich mit Python fast gar nicht aus..
Was du versuchen könntest wäre dir das Python 2.7 SDK runterzuladen, in den Clientordner die python27.dll tun und die Python-Libraries im Lib\-Ordner zu ersetzen. Danach musst du noch die Metin2Client.bin anpassen, dass sie nicht die python22.dll lädt sondern die python27.dll, oder du nennst die python27.dll einfach python22.dll ..
Viel Erfolg,
Mi4uric3
|
.
Quote:
|
Originally Posted by _e°m²~7
Danke erstmal für die Antwort.
Habe (fast) das alles gemacht. Hab nur mit der .bin kein Plan wie ich es im HEXEDITOR
verändern soll :S
Wenn ich die STRG+F versuche und python eingebe, finde ich nichts derartiges zum verändern.
Wäre dir extrem dankbar für Tips/Hilfe
|
Ist das denn eine entpackte Binary? Wenn nicht musst du sie entweder entpacken oder halt einfach die dll umbenennen
|
|
|
09/04/2013, 11:13
|
#3
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
Wenn du von 2.2 auf 2.7 upgradest könnten doch theoretisch probleme mit den schon verwendeten python scripts entstehen oder nicht? o.o
|
|
|
09/04/2013, 12:39
|
#4
|
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
|
Quote:
Originally Posted by InyaProduction
Wenn du von 2.2 auf 2.7 upgradest könnten doch theoretisch probleme mit den schon verwendeten python scripts entstehen oder nicht? o.o
|
Müsste man testen, ich hab das auch mal machen wollen von 2.2 auf 2.4 wäre kein all zu großer Unterschied gewesen, aber:
Ich hab zurzeit aber auch keine Zeit dafür, mir das näher anzusehen
€:
Naja nach den Libs neucompilen für die Version:
Da es ja so aussagekräftig ist hab ich jetzt auch ka mehr
|
|
|
09/04/2013, 13:14
|
#5
|
elite*gold: 0
Join Date: Jul 2013
Posts: 21
Received Thanks: 7
|
Quote:
Originally Posted by xGr33n
Müsste man testen, ich hab das auch mal machen wollen von 2.2 auf 2.4 wäre kein all zu großer Unterschied gewesen, aber:
Ich hab zurzeit aber auch keine Zeit dafür, mir das näher anzusehen
€:
Naja nach den Libs neucompilen für die Version:
Da es ja so aussagekräftig ist hab ich jetzt auch ka mehr 
|
@Green so schauts auch bei mir aus (passiert wenn man die dll umbennent).
Ich setzt mich mal dran und versuche mich mal schlauer zu machen.
Die urllib2 kann extrem nützlich sein.
Wenn aber Einer die Lösung schon kennt, wäre ich über diese sehr dankbar.
|
|
|
09/04/2013, 13:16
|
#6
|
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
|
Quote:
Originally Posted by _e°m²~7
@Green so schauts auch bei mir aus (passiert wenn man die dll umbennent).
Ich setzt mich mal dran und versuche mich mal schlauer zu machen.
Die urllib2 kann extrem nützlich sein.
Wenn aber Einer die Lösung schon kennt, wäre ich über diese sehr dankbar.
|
Der erste Fehler liegt einfach an den .pycs....
Der zweite sagt relativ wenig Zeile 14 bei networkmodule ist bei mir der import der PlayerSettingsModule.py...
|
|
|
09/04/2013, 13:26
|
#7
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
poste mal bitte die networkmodule.py
(hab hier grad kein Zugriff auf nen clienten)
Dann kann ich vielleicht helfen
|
|
|
09/04/2013, 13:32
|
#8
|
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
|
PHP Code:
################################################################################################### # Network
import app import chr import dbg import net import snd
import chr import chrmgr import background import player import playerSettingModule
import ui import uiPhaseCurtain
import locale
class PopupDialog(ui.ScriptWindow):
def __init__(self): print "NEW POPUP DIALOG ----------------------------------------------------------------------------" ui.ScriptWindow.__init__(self) self.CloseEvent = 0
def __del__(self): print "---------------------------------------------------------------------------- DELETE POPUP DIALOG " ui.ScriptWindow.__del__(self)
def LoadDialog(self): PythonScriptLoader = ui.PythonScriptLoader() PythonScriptLoader.LoadScriptFile(self, "UIScript/PopupDialog.py")
def Open(self, Message, event = 0, ButtonName = locale.UI_CANCEL):
if TRUE == self.IsShow(): self.Close()
self.Lock() self.SetTop() self.CloseEvent = event
AcceptButton = self.GetChild("accept") AcceptButton.SetText(ButtonName) AcceptButton.SetEvent(ui.__mem_func__(self.Close))
self.GetChild("message").SetText(Message) self.Show()
def Close(self):
if FALSE == self.IsShow(): self.CloseEvent = 0 return
self.Unlock() self.Hide()
if 0 != self.CloseEvent: self.CloseEvent() self.CloseEvent = 0
def Destroy(self): self.Close() self.ClearDictionary()
def OnPressEscapeKey(self): self.Close() return TRUE
def OnIMEReturn(self): self.Close() return TRUE
## ## Main Stream ## class MainStream(object): isChrData=0
def __init__(self): print "NEWMAIN STREAM ----------------------------------------------------------------------------" net.SetHandler(self) net.SetTCPRecvBufferSize(64*1024) net.SetTCPSendBufferSize(1024) net.SetUDPRecvBufferSize(4096)
self.id="" self.pwd="" self.addr="" self.port=0 self.account_addr=0 self.account_port=0 self.slot=0 self.isAutoSelect=0 self.isAutoLogin=0
self.curtain = 0 self.curPhaseWindow = 0 self.newPhaseWindow = 0
def __del__(self): print "---------------------------------------------------------------------------- DELETE MAIN STREAM "
def Destroy(self): if self.curPhaseWindow: self.curPhaseWindow.Close() self.curPhaseWindow = 0
if self.newPhaseWindow: self.newPhaseWindow.Close() self.newPhaseWindow = 0
self.popupWindow.Destroy() self.popupWindow = 0
self.curtain = 0
def Create(self): self.CreatePopupDialog()
self.curtain = uiPhaseCurtain.PhaseCurtain()
def SetPhaseWindow(self, newPhaseWindow): if self.newPhaseWindow: #print "ÀÌ¹Ì »õ·Î¿î À©µµ¿ì·Î ¹Ù²Û»óÅ¿¡¼* ¶Ç ¹Ù²Þ", newPhaseWindow self.__ChangePhaseWindow()
self.newPhaseWindow=newPhaseWindow
if self.curPhaseWindow: #print "ÆäÀÌµå ¾Æ¿ôµÇ¸é ¹Ù²Þ" self.curtain.FadeOut(self.__ChangePhaseWindow) else: #print "ÇöÀç À©µµ¿ì°¡ ¾ø´Â »óŶó ¹Ù·Î ¹Ù²Þ" self.__ChangePhaseWindow()
def __ChangePhaseWindow(self): oldPhaseWindow=self.curPhaseWindow newPhaseWindow=self.newPhaseWindow self.curPhaseWindow=0 self.newPhaseWindow=0
if oldPhaseWindow: oldPhaseWindow.Close()
if newPhaseWindow: newPhaseWindow.Open()
self.curPhaseWindow=newPhaseWindow if self.curPhaseWindow: self.curtain.FadeIn() else: app.Exit()
def CreatePopupDialog(self): self.popupWindow = PopupDialog() self.popupWindow.LoadDialog() self.popupWindow.SetCenterPosition() self.popupWindow.Hide()
## SelectPhase ########################################################################################## def SetLoginPhase(self): net.Disconnect()
import introLogin self.SetPhaseWindow(introLogin.LoginWindow(self))
def SetSelectEmpirePhase(self): try: import introEmpire self.SetPhaseWindow(introEmpire.SelectEmpireWindow(self)) except: import exception exception.Abort("networkModule.SetSelectEmpirePhase")
def SetReselectEmpirePhase(self): try: import introEmpire self.SetPhaseWindow(introEmpire.ReselectEmpireWindow(self)) except: import exception exception.Abort("networkModule.SetReselectEmpirePhase")
def SetSelectCharacterPhase(self): try: locale.LoadLocaleData() import introSelect self.popupWindow.Close() self.SetPhaseWindow(introSelect.SelectCharacterWindow(self)) except: import exception exception.Abort("networkModule.SetSelectCharacterPhase")
def SetCreateCharacterPhase(self): try: import introCreate self.SetPhaseWindow(introCreate.CreateCharacterWindow(self)) except: import exception exception.Abort("networkModule.SetCreateCharacterPhase")
def SetTestGamePhase(self, x, y): try: import introLoading loadingPhaseWindow=introLoading.LoadingWindow(self) loadingPhaseWindow.LoadData(x, y) self.SetPhaseWindow(loadingPhaseWindow) except: import exception exception.Abort("networkModule.SetLoadingPhase")
def SetLoadingPhase(self): try: import introLoading self.SetPhaseWindow(introLoading.LoadingWindow(self)) except: import exception exception.Abort("networkModule.SetLoadingPhase")
def SetGamePhase(self): try: import game self.popupWindow.Close() self.SetPhaseWindow(game.GameWindow(self)) except: raise import exception exception.Abort("networkModule.SetGamePhase")
################################ # Functions used in python
## Login def Connect(self): import constInfo if constInfo.KEEP_ACCOUNT_CONNETION_ENABLE: net.ConnectToAccountServer(self.addr, self.port, self.account_addr, self.account_port) else: net.ConnectTCP(self.addr, self.port)
#net.ConnectUDP(IP, Port)
def SetConnectInfo(self, addr, port, account_addr=0, account_port=0): self.addr = addr self.port = port self.account_addr = account_addr self.account_port = account_port
def GetConnectAddr(self): return self.addr
def SetLoginInfo(self, id, pwd): self.id = id self.pwd = pwd net.SetLoginInfo(id, pwd)
def CancelEnterGame(self): pass
## Select def SetCharacterSlot(self, slot): self.slot=slot
def GetCharacterSlot(self): return self.slot
## Empty def EmptyFunction(self): pass
Naja ich brauch nicht ich rette mal meinen Client ._.
|
|
|
09/04/2013, 13:34
|
#9
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
Compile mal die playersettingmodule.py auf python *hier gewünschte Version einfügen* um der import von playersettingmodule crasht ja das ganze
|
|
|
09/04/2013, 13:37
|
#10
|
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
|
Quote:
Originally Posted by InyaProduction
Compile mal die playersettingmodule.py auf python *hier gewünschte Version einfügen* um der import von playersettingmodule crasht ja das ganze
|
Stimmt kann gut sein, das man die komplette root jetzt compilen muss...
|
|
|
09/04/2013, 13:40
|
#11
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
Ja deshalb hab ich auch nie den wechsel auf die neue granny dll gemacht ich hatte einfach kb auf das ganze compilen
Was kann man eig so schönes mit der urllib2 mehr als mit der urllib?
|
|
|
09/04/2013, 13:46
|
#12
|
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
|
Quote:
Originally Posted by InyaProduction
Ja deshalb hab ich auch nie den wechsel auf die neue granny dll gemacht ich hatte einfach kb auf das ganze compilen
Was kann man eig so schönes mit der urllib2 mehr als mit der urllib?
|
Bei der neuen Granny musste nur deinen Client converten nicht compilen 
Hab das gemacht läuft alles super.
Zum Thema:
nö läuft auch nicht aber da ich gerade durch das rum probieren für was ich machen wollte ne Lösung gefunden hab brauch ich auch keine neue Pythonversion mehr  Ich versuch trzd. eben noch was
|
|
|
09/04/2013, 13:50
|
#13
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
Dann halt converten -.-" lass mich!  bin müde und überarbeitet xD
Joa kannst du mir mal ne erklärung geben, was das upgrade auf die neue granny version bringt?
|
|
|
09/04/2013, 13:53
|
#14
|
elite*gold: 5
Join Date: Mar 2013
Posts: 1,986
Received Thanks: 2,254
|
Quote:
Originally Posted by InyaProduction
Dann halt converten -.-" lass mich!  bin müde und überarbeitet xD
Joa kannst du mir mal ne erklärung geben, was das upgrade auf die neue granny version bringt?
|
Jetzt ned bin angepisst mein client geht nicht mehr -.-
€: geht wd xD
Naja eig. nur das du Modelle, welche mit einer höheren Granny Version Exportet wurden verwenden kannst.
|
|
|
09/04/2013, 13:54
|
#15
|
elite*gold: 50
Join Date: Mar 2013
Posts: 2,401
Received Thanks: 1,613
|
Kein Backup gemacht? o.o
|
|
|
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 +1. The time now is 04:38.
|
|