Register for your free account! | Forgot your password?

You last visited: Today at 07:56

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

Advertisement



PythonLoader by ©Risan

Discussion on PythonLoader by ©Risan within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
.Risan.'s Avatar
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
PythonLoader by ©Risan

Heyho, ich veröffentliche mal meine Version von meinem Python Loader..

PHP Code:
#
# PythonLoader Manager by ©Risan aka Zymos
# Version 1.0
# Created: 31.07.2014


import ui
import chat
import mouseModule
import sys
import os
import fnmatch
import dbg
import app

PythonLoaderDatas 
= [
        
#{"FileName":"test","Path":'D:/Metin2/New Developer Client/ExternPythonScriptsLoader/test'},

]
class 
FuncWindow(ui.Window):
    
def __init__(self):
        
ui.Window.__init__(self)
        
# module = '\ExternPythonScriptsLoader\test' #not works
        # module = 'D:\Metin2\New Developer Client\ExternPythonScriptsLoader\test' #not works
        # module = 'D:/Metin2/New Developer Client/ExternPythonScriptsLoader/test' # works
        # module = '/ExternPythonScriptsLoader/test' #not works
        # module = 'test' # works wenn direkt im hauptverzeicnis
        #__import__(module)
        
width 110
        heigh 
225
        self
.PythonBoardLoader ui.BoardWithTitleBar()
        
self.PythonBoardLoader.SetSize(width+25+100,heigh+20)
        
self.PythonBoardLoader.SetTitleName('PythonLoader by ©Risan')
        
self.PythonBoardLoader.SetCenterPosition()
        
#self.PythonBoardLoader.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 +270, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 - 130)
        
self.PythonBoardLoader.AddFlag('movable')
        
self.PythonBoardLoader.Hide()
        
        
self.PythonListBoxLoder ui.ListBox()
        
self.PythonListBoxLoder.SetParent(self.PythonBoardLoader)
        
self.PythonListBoxLoder.SetPosition(5535)
        
self.PythonListBoxLoder.SetSize(widthheigh)
        
self.PythonListBoxLoder.SetEvent(self.GetDataFromSelectPythonLoader)
        
self.PythonListBoxLoder.Show()
        
        
self.PythonScrollLoader ui.ScrollBar()
        
self.PythonScrollLoader.SetParent(self.PythonBoardLoader)
        
self.PythonScrollLoader.SetPosition(21035)
        
self.PythonScrollLoader.SetScrollBarSize(heigh-30)
        
self.PythonScrollLoader.SetScrollEvent(ui.__mem_func__(self.OnScrollPythonLoader))
        
#self.PythonScrollLoader.SetScrollStep(0.10)
        
self.PythonScrollLoader.Show()
        
        
self.PythonLoaderButtonLoad ui.Button()
        
self.PythonLoaderButtonLoad.SetParent(self.PythonBoardLoader)
        
self.PythonLoaderButtonLoad.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
        
self.PythonLoaderButtonLoad.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
        
self.PythonLoaderButtonLoad.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
        
self.PythonLoaderButtonLoad.SetPosition(15211)
        
self.PythonLoaderButtonLoad.SetText("Load")
        
self.PythonLoaderButtonLoad.SetEvent(self.LoadModulPythonLoader)
        
self.PythonLoaderButtonLoad.Show()
        
        
self.PythonLoaderButtonRefresh ui.Button()
        
self.PythonLoaderButtonRefresh.SetParent(self.PythonBoardLoader)
        
self.PythonLoaderButtonRefresh.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
        
self.PythonLoaderButtonRefresh.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
        
self.PythonLoaderButtonRefresh.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
        
self.PythonLoaderButtonRefresh.SetPosition(15+65211)
        
self.PythonLoaderButtonRefresh.SetText("Refresh")
        
self.PythonLoaderButtonRefresh.SetEvent(self.LoadList)
        
self.PythonLoaderButtonRefresh.Show()
        
        
        
self.PythonLoaderButtonEntLoad ui.Button()
        
self.PythonLoaderButtonEntLoad.SetParent(self.PythonBoardLoader)
        
self.PythonLoaderButtonEntLoad.SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
        
self.PythonLoaderButtonEntLoad.SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
        
self.PythonLoaderButtonEntLoad.SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
        
self.PythonLoaderButtonEntLoad.SetPosition(15+65+65211)
        
self.PythonLoaderButtonEntLoad.SetText("Unload")
        
self.PythonLoaderButtonEntLoad.SetEvent(ui.__mem_func__(self.UnLoadModulPythonLoader))
        
self.PythonLoaderButtonEntLoad.Show()
        
self.FirstCountLine 0
        self
.LoadList()

    
def __del__(self):
        
ui.Window.__del__(self)
    
    
def LoadList(self):
        
self.PythonLoadExternScriptPath 'ExternPythonScriptsLoader'
        
self.SelectfileName ""
        
self.SelectfilePath ""
        
global PythonLoaderDatas
        PythonLoaderDatas 
= { }
        
PythonLoaderDatas = [ ]
        try:
            
CurrendDirOld os.path.abspath(".") + "/"+str(self.PythonLoadExternScriptPath "/"#os.getcwd()
            
CurrendDir CurrendDirOld.replace(unichr(92),unichr(47))
            
#chat.AppendChat(1,"CurrenDir: " + str(CurrendDir))
            
for file in os.listdir('%s/' self.PythonLoadExternScriptPath ): #Listet Dateien auf
                
newfile file.replace(".py","")
                
module CurrendDir+newfile
                
#chat.AppendChat(1,"module: " + str(module))
                
if fnmatch.fnmatch(file,"*.py"):
                    
PythonLoaderDatas.append({"FileName":str(newfile), "Path":str(module)})
            
            if 
len(PythonLoaderDatas) < self.PythonLoaderMaxViewList():
                
self.PythonScrollLoader.Hide()
            else:
                
self.PythonScrollLoader.Show()
                
self.PythonScrollLoader.SetMiddleBarSize(float(self.PythonLoaderMaxViewList()) / float(len(PythonLoaderDatas)))
            
self.OnScrollPythonLoader()
            
self.RefreshScrollListPythonLoader()
        
except:
            
pass

    def UnLoadModulPythonLoader
(self):
        
module str(self.SelectfilePath)
        try:
            if 
module in sys.modules:  
                
chat.AppendChat(1,"Unload script file: " str(self.SelectfileName) + " Module: " str(module))
                
del(sys.modules[module])
            else:
                
chat.AppendChat(1,"Is not loaded script file: " str(self.SelectfileName))
            
        
except:
            
chat.AppendChat(1,"Failed to Unload python script file: %s" % (module))
    
    
def LoadModulPythonLoader(self):
        
module str(self.SelectfilePath)
        try: 
            
chat.AppendChat(1,"Load script file: " str(self.SelectfileName) + " Module: " str(module))
            if 
module in sys.modules
                
del(sys.modules[module])
            
__import__(module)

        
except:
            
chat.AppendChat(1,"Failed to load python script file: %s" % (module))    

    
def GetDataFromSelectPythonLoader(self,arg1,arg2):
        global 
PythonLoaderDatas
        self
.SelectfileName arg2
        
#chat.AppendChat(1,"GetDataFromSelectPythonLoader: answer")
        #chat.AppendChat(1,"GetDataFromSelectPythonLoader: arg1 + FirstCountLine:"+ str(arg1 + (self.FirstCountLine*10) ))
        #chat.AppendChat(1,"GetDataFromSelectPythonLoader: arg2:"+ str(arg2))
        
GetFileName ""
        
GetPath ""
        
for i in xrange(len(PythonLoaderDatas)):
            try:
                
GetFileName PythonLoaderDatas[i]["FileName"]
                
GetPath PythonLoaderDatas[i]["Path"]
            
except:
                
self.SelectfileName ""
                
self.SelectfilePath ""
                
GetFileName ""
                
GetPath ""
            
if GetFileName == self.SelectfileName:
                
self.SelectfilePath GetPath
                
#chat.AppendChat(1,"Lade File: " + str(self.SelectfileName) + " Path: " + str(self.SelectfilePath))
                
return
        
self.SelectfileName ""
        
self.SelectfilePath ""
                
    
def PythonLoaderMaxViewList(self):
        return 
10

    def OnScrollPythonLoader
(self):
        
#chat.AppendChat(1,"OnScrollPythonLoader Count of Datas:" +str(len(PythonLoaderDatas)))
        
PythonLoderscrollLineCount max(0, (len(PythonLoaderDatas)) - self.PythonLoaderMaxViewList())
        
PythonLoaderStartIndex int(PythonLoderscrollLineCount self.PythonScrollLoader.GetPos())

        
#chat.AppendChat(1,"OnScrollPythonLoader PythonLoderscrollLineCount:" +str(PythonLoderscrollLineCount) + " self.PythonScrollLoader.GetPos: " + str(self.PythonScrollLoader.GetPos()) )
        #chat.AppendChat(1,"OnScrollPythonLoader PythonLoaderStartIndex:" +str(PythonLoaderStartIndex) + " self.FirstCountLine: " + str(self.FirstCountLine) )
        
if PythonLoaderStartIndex != self.FirstCountLine#Refresht nur die anzeige wenn ein neuer Index berechnet worden ist.
            
self.FirstCountLine PythonLoaderStartIndex
            self
.RefreshScrollListPythonLoader()
            
    
def RefreshScrollListPythonLoader(self):
        
#chat.AppendChat(1,"RefreshScrollListPythonLoader anwerr")
        
self.PythonListBoxLoder.ClearItem()
        for 
i in xrange(self.PythonLoaderMaxViewList()):
            
#chat.AppendChat(1,"RefreshScrollListPythonLoader i" +str(i))
            
try:
                
Name PythonLoaderDatas[self.FirstCountLine ]["FileName"]
                
#chat.AppendChat(1,"RefreshScrollListPythonLoader Name" +str(Name))
                
self.PythonListBoxLoder.InsertItem(i,str(Name))
            
except:
                print(
"ERROR RefreshScrollListPythonLoader of Read")
    
    
def Destroy(self):
        
self.PythonBoardLoader None
        
    def OpenWindow
(self):
        
SelfFucking 0
        
if self.PythonBoardLoader.IsShow():
            
self.PythonBoardLoader.Hide()
        else:
            
self.PythonBoardLoader.Show()
        
# if __USE_CYTHON__ or SelfFucking == 1:
            # dbg.TraceError("This Binary use CYTHON! Cannot use PythonLoader!")
            # dbg.LogBox("This Binary use CYTHON! Cannot use PythonLoader!")
            # app.Exit()

    
def Close(self):
        
self.PythonBoardLoader.Hide()
        
    
def Open(self):
        
self.PythonBoardLoader.Show() 
ScreenShort:
.Risan. is offline  
Thanks
11 Users
Old 12/11/2014, 20:54   #2
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Okaaaaaaaaaaaaaaaaaaaaaaaay.
Soll ich mein auchnoch hinterher hauen.
ProfessorEnte is offline  
Thanks
6 Users
Old 12/11/2014, 21:03   #3
 
Alergix2's Avatar
 
elite*gold: 103
Join Date: Aug 2014
Posts: 1,425
Received Thanks: 315
Nice!°
Danke dafür!
Alergix2 is offline  
Old 12/11/2014, 21:08   #4
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Wenn das so weiter geht muss ich meinen auch noch releasen

Danke, die unload Funktion ist interessant
DasSchwarzeT is offline  
Thanks
1 User
Old 12/12/2014, 09:20   #5
 
Tuora's Avatar
 
elite*gold: 0
Join Date: Jun 2014
Posts: 1,046
Received Thanks: 956
Nice danke,kann man gut gebrauchen
Tuora is offline  
Old 12/12/2014, 14:35   #6
 
nybu's Avatar
 
elite*gold: 0
Join Date: May 2011
Posts: 2,806
Received Thanks: 8,536
Quote:
Originally Posted by DasSchwarzeT View Post
Wenn das so weiter geht muss ich meinen auch noch releasen

Danke, die unload Funktion ist interessant
Deiner kann eh nix.
Schönes rls danke
nybu is offline  
Thanks
1 User
Old 12/12/2014, 14:37   #7

 
Drαεth's Avatar
 
elite*gold: 35
Join Date: Jan 2014
Posts: 1,421
Received Thanks: 268
Danke,

Ist nützlich!
Drαεth is offline  
Old 12/14/2014, 19:58   #8
Trade Restricted
 
elite*gold: 0
Join Date: Jun 2013
Posts: 1,332
Received Thanks: 534
Nice sowas hab ich gesucht danke dir !
Bostanin Edhe is offline  
Reply


Similar Threads Similar Threads
PythonLoader
12/11/2014 - Metin2 PServer Guides & Strategies - 3 Replies
http://img5.fotos-hochladen.net/uploads/unbenannt3 qa7o4v2s5.png Das Programm erstellt ein Ordner im Hauptverzeichnis von Metin, aus diesem Ordner liest er alle Daten und kann sie mit dem run Knopf ausführen. (nur Dateien mit Python Skript) Zur Installation: die Datei im Hauptverzeichnis packen und eine logininfo.py erstellen, anschließend in der Datei import pythonloader schreiben, speichern und fertig.
[GFL] Pythonloader Update 26/11/2013 by Hemoglobien²10
11/29/2013 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 18 Replies
Hi ich wollte vorhin den Pytonloader von musicinstructor auf den neuen Metin2 GameForceLive per .mix laden und habe festgestellt das dieser nicht mehr funktioniert,<br>da habe ich gedacht ich Update euch einmal den Pythonloader von musicinstructor. Wie funktioniert er.: 1. einfach entpacken und ihr erhaltet die Datei pythonloader update 26112013 by Hemoglobien .mix diese ganz einfach in eueren Metin2 Ordner schieben. 2. Metin2 einfach mit meinem NoPatchBypass starten 3. euer Modul wie...
PythonLoader and itemstealer
10/27/2013 - Metin2 - 2 Replies
Hi, why each pythonloader - program stopped working? I have W7 and the second question, there is now a functional item stealer / drop hack? Thx
Pythonloader von Padmak?
02/17/2012 - Metin2 Private Server - 2 Replies
Padmak hat ja einen Pythonloader in seinem Switchbot. Gibs den auch einzelnt weil wenn ich den bot starte bzw injectiere schließt sich das Fenster -.- Und der von musicinstractor funkt auch nicht wenn ich auf run klicke geht fenster auch zu.



All times are GMT +1. The time now is 07:57.


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.