Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 12:58

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

Advertisement



Python Frage (game.py)

Discussion on Python Frage (game.py) within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
NastyTeaBag's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,481
Received Thanks: 257
Python Frage (game.py)

Heyho,

Bin nochn absoluter Clientmodding (Python) noob und hab ne Frage.
Hab bis jetzt schon geschafft eigene Buttons z. B. im Invi zu erstellen und ihnen z. B. ne Quest zuzuweisen.
Jetzt will ich aber (jetz kommen die mangelnden Python Kenntnisse) z. B. wenn in der uiinventory.py auf nen Button geklickt wird, ne Funktion in der game.py ausgeführt werden soll. (weiß nicht obs technisch so geht, oder anders :/).

Kann mir da jemand nen Tipp geben.
Wie gesagt hab mich bis jetzt allein durch die Scripts gewurschtelt aber gerade komme ich einfach nicht weiter.
Wäre cool wenn da wer helfen könnte

lg xFamoZz
NastyTeaBag is offline  
Old 06/11/2015, 22:30   #2
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,407
Received Thanks: 2,024
Funktion callen? Wenn sie static ist direkt, ansonsten über ein entsprechendes object.
NotEnoughForYou is offline  
Thanks
1 User
Old 06/11/2015, 22:39   #3

 
elite*gold: 0
Join Date: Dec 2008
Posts: 2,825
Received Thanks: 1,538


Hier ist es super erklärt.
.Colossus. is offline  
Old 06/12/2015, 10:11   #4
 
NastyTeaBag's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,481
Received Thanks: 257
Quote:
Originally Posted by .Colossus. View Post


Hier ist es super erklärt.
Hast dir anscheinend net alles richtig durchgelesen^^
Das hab ich ja schon. Ich bekomme nur nicht hin ne Funktion aus der game.py aufzurufen. Habs so probiert aber das geht nicht..

PHP Code:
    def ClickLagerButton(self):
        
import game
        game
.meineFunktion() 
Beispiel ums mal an das von dir gepostete Tut anzulehnen.

Und @NotEnoughForYou

Hab davon keine Ahnung ^^ Mit nem kleinen Beispiel wäre mir sehr geholfen
NastyTeaBag is offline  
Old 06/12/2015, 10:37   #5
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,407
Received Thanks: 2,024
Import kommt an den Anfang, wie ist denn die Funktion in der game definiert?
NotEnoughForYou is offline  
Old 06/12/2015, 10:43   #6
 
NastyTeaBag's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,481
Received Thanks: 257
So. Einfach ganz am Ende^^

PHP Code:
def meineFunktion(self):
      
self.teleport.Open() 
#EDIT: Achja. Ist es so wichtig dass der Import am Anfang ist?
NastyTeaBag is offline  
Old 06/12/2015, 13:05   #7
wild wild son




 
Nick's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 5,830
Received Thanks: 3,369
Quote:
Originally Posted by xFamoZz™ View Post
#EDIT: Achja. Ist es so wichtig dass der Import am Anfang ist?
Überhaupt nicht. Wird dieser am Kopf des Scripts platziert, so besteht eben die Möglichkeit, global, d.h. im kompletten Script auf das jeweilige Modul zuzugreifen. Andernfalls kann lediglich lokal, in derselben Funktion bzw. im selben Anweisungsblock darauf zugegriffen werden.

Code:
def FirstExample(self):
	import net
	net.SendChatPacket("elitePVPers")
	
def SecondExample(self):
	net.SendChatPacket("elitePVPers")
Letzteres würde also eine Fehlermeldung erzeugen. Findet ein Modul des Öfteren Verwendung, so empfiehlt es sich das Ganze zu globalisieren.

lg
Nick is offline  
Thanks
1 User
Old 06/12/2015, 14:42   #8
 
Zaturix's Avatar
 
elite*gold: 0
Join Date: Oct 2014
Posts: 408
Received Thanks: 208
Imports können auch oben stehen das ist egal ob in der Funktion steht oder oben.
Zaturix is offline  
Old 06/12/2015, 15:12   #9
 
NastyTeaBag's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,481
Received Thanks: 257
Quote:
Originally Posted by .JayZoN View Post
Überhaupt nicht. Wird dieser am Kopf des Scripts platziert, so besteht eben die Möglichkeit, global, d.h. im kompletten Script auf das jeweilige Modul zuzugreifen. Andernfalls kann lediglich lokal, in derselben Funktion bzw. im selben Anweisungsblock darauf zugegriffen werden.

Code:
def FirstExample(self):
	import net
	net.SendChatPacket("elitePVPers")
	
def SecondExample(self):
	net.SendChatPacket("elitePVPers")
Letzteres würde also eine Fehlermeldung erzeugen. Findet ein Modul des Öfteren Verwendung, so empfiehlt es sich das Ganze zu globalisieren.

lg
Der Meinung war auch. War nur verwundert dass NE4Y das explizit angesprochen hat.

Hab jetzt in der game.py diese Funktion:
Code:
def meineFunktion(self):
		import net
		net.SendChatPacket("elitePVPers")
in meiner uiinventory.py folgende:
Code:
def ClickLagerButton(self):
		import game
		game.meineFunktion()
Jedoch passiert nix.

Wenn ich jetzt aber die SendChatPacket Funktion direkt in die Click Funktion reinpacke, dann funktionierts (er schreibt ingame elitePVPers) (und nein es geht eig um ne andere Funktion brauch hier ja nur das Prinzip^^).

Woran liegts?
NastyTeaBag is offline  
Old 06/12/2015, 15:49   #10
wild wild son




 
Nick's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 5,830
Received Thanks: 3,369
Quote:
Originally Posted by xFamoZz™ View Post
Der Meinung war auch. War nur verwundert dass NE4Y das explizit angesprochen hat.

Hab jetzt in der game.py diese Funktion:
Code:
def meineFunktion(self):
		import net
		net.SendChatPacket("elitePVPers")
in meiner uiinventory.py folgende:
Code:
def ClickLagerButton(self):
		import game
		game.meineFunktion()
Jedoch passiert nix.

Wenn ich jetzt aber die SendChatPacket Funktion direkt in die Click Funktion reinpacke, dann funktionierts (er schreibt ingame elitePVPers) (und nein es geht eig um ne andere Funktion brauch hier ja nur das Prinzip^^).

Woran liegts?
Du hast die Funktion vermutlich unten angefügt, dementsprechend bezieht sich diese auf die 'GameWindow' Class, die Funktion würde demnach folgendermaßen aufgerufen werden;
Code:
import game
game.GameWindow().meineFunktion()
Das zur Theorie. In der Praxis wird das in der Form allerdings nicht funktionieren. Man könnte die Funktion außerhalb der Klassen platzieren, um sie per
Code:
import game
game.meineFunktion()
aufrufen zu können. Es wäre wissenswert, was du anstellen möchtest. Nenn das Ganze beim Namen, ich bin mir ziemlich sicher, dass dir auf weitaus unkomplizierteren Wegen geholfen werden könnte.

lg
Nick is offline  
Thanks
1 User
Old 06/12/2015, 15:53   #11
 
NastyTeaBag's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,481
Received Thanks: 257
Möchte die Warpmap die man eig über F6 öffnet, per Click auf nen Button öffnen.
Also in der game.py
Code:
onPressKeyDict[app.DIK_F6]	= lambda : self.teleport.Open()
Müsste halt das self.teleport.Open() irgendwie durch den Click auf den Button ausführen.
NastyTeaBag is offline  
Old 06/12/2015, 16:39   #12
 
Poccix's Avatar
 
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,835
Wieso packst du die Funktion nicht direkt in die uiInventory.py ? :S
Poccix is offline  
Thanks
1 User
Old 06/12/2015, 20:57   #13
 
NastyTeaBag's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,481
Received Thanks: 257
Schon versucht bzw. JayZon hats versucht, die Map geht dann zwar auf, aber es passiert nix wenn man drauf rumklickt (man wird nicht geportet).
NastyTeaBag is offline  
Reply


Similar Threads Similar Threads
PServer in any game in Python?
06/11/2014 - Private Server Advertising - 0 Replies
Hi. Im learning python at the moment, so I was wondering if anyone knows of a source code in python for any game? I know that Python has performance issues compared to other languages, but i just wanted to see if you guys might know of something that I could look at.
[Frage]Python
09/26/2013 - Metin2 Private Server - 17 Replies
#Erledigt Hat eh kein sin was hier zu fragen , da hier nur leute sind die Beiträge und Thanks Farmen wollen?=
Nur mit python ein online Game erstellen?
09/02/2013 - General Coding - 14 Replies
Hey, ich erlerne zur Zeit Python. Jetzt frage ich mcih ob man nur durch Python ein Online Game, so wie Metin, WoW und wie die alle heißen scripten kann? :D Thx+MfG CeeNeo :)
[Python]Gui-Position ermitteln? // Funktion aus Game ausführen?
06/29/2013 - Metin2 Private Server - 5 Replies
Ja, Hallo, ich versuche mit derzeit verstärkt an Python und hätte da 2 kleine Probleme, habe ihn der Sufu dazu nichts gefunden, also frage ich hier. 1.: Ich habe mir ein Board erstellt und zwar "movable". Gibt es eine Möglichkeit, die aktuelle Boardposition zu ermitteln, also die Koordinaten der linken, oberen Ecke? 2.: Gibt es eine Möglichkeit, eine in der game.py definierte Funktion aus einer anderen .py-Datei aus auszuführen? Ich schaff's nur über nen QuestbuttonClick, welcher dann...
[PYTHON]Function in game aufrufen?
04/23/2013 - Metin2 Private Server - 4 Replies
Hey, kann man in (metin) Python irgendwie von einer uiscript py datei aus eine Function in der game.py ausführen? Vielen Dank für jede Hilfe Das schon versucht: import game



All times are GMT +2. The time now is 12:58.


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.