Python, Emotion Error & socket_pct

11/19/2014 00:45 jubox123#1
Hallo, ich brauche ein bissl Hilfe:
1. In meiner Syerr kommt der Fehler "ELTimer_GetMSec() - m_dwEmoticonTime" seid ich neue Smileys eingefügt habe, habe auch schon die alten wider rein gemacht, aber trd kommt der fehler wenn man einen benutzt.

2. Möchte in von einer .py eine Funktion von der game.py aufrufen per Button.
Mit den Button:
Die Funktion in der game.py aufrufen:

3. Wie bekomme ich die socket_pct ID raus ?
11/19/2014 09:16 chaeter007#2
zu 2. mach die doppel __ Weg von der __showkillgui Funktion, damit sie nur so heißt:
Code:
def showkillgui(self):
Weil durch das Underscore sagt man eigentlich, dass die Funktion nur in der eigenen Datei bzw. eigentlich in der eigenen Klasse aufgerufen werden soll.

Naja und dann musst du nun in deiner anderen .py Datei die game-Datei importieren, das geht mit
Code:
import game
und dann kannst du mit
Code:
game.GameWindow().showkillgui()
auf die Funktion zugreifen.

Jetzt kann du halt dann deinem Button noch ein Event setzten, dass wenn man auf ihn klickt die Funktion eben aufgerufen wird. Das sollte so gehen:

Code:
self.PickOff.SetEvent(game.GameWindow().showkillgui())
Ich hoffe das klappt so.
11/19/2014 12:30 Lefloyd#3
Nein, du musst dafür im Gamewindow (game.py) den Handle der Klasse Gamewindow ("self") an die Klasse übergeben, wo der "PickOff"-Button drinnen steht. Dafür erstellst du in der Klasse des "PickOff"-Buttons in der Funktion "def __init__(self[, *]):" eine Variable namens "self.gameHandle = None", erstellst dann in derselben Klasse eine Funktion um den Handle zu übergeben:
Code:
def SetGameHandle(self, handle):
	self.gameHandle = handle
Und jetzt kannst du im Button z.B. die Funktion "showkillgui" in der Klasse "Gamewindow" aufrufen, indem du machst:
Code:
self.pickOff.SAFE_SetEvent(self.gameHandle.showkillgui)
Achso, du musst natürlich noch die Funktion "SetGameHandle" nach dem Erstellen der Klasse aufrufen... z.B. so:
Code:
self.myTestWindow = uiDateiname.Klassenname()
self.myTestWindow.SetGameHandle(self)
Dabei muss die Erstellung der Klasse in der "game.py" stattfinden.
PS: Entferne die "__" vor dem Funktionsnamen! Sonst wird das nicht funktionieren.. (die Funktion gilt so als "Privat", also dass nur in der "game.py" selbst die Funktion aufgerufen werden darf.)

Kind Regards
11/19/2014 12:48 jubox123#4
Erstmal danke für die Hilfe, aber da kommt ein Error raus.
#Lefloyd

Ich poste einfach mal das Menu.
11/19/2014 12:57 Lefloyd#5
Das ist der Fehler den ich bereits genannt hatte und ebenso den Fix dazu genannt hatte. Ich zitiere:
Quote:
PS: Entferne die "__" vor dem Funktionsnamen! Sonst wird das nicht funktionieren.. (die Funktion gilt so als "Privat", also dass nur in der "game.py" selbst die Funktion aufgerufen werden darf.)
Und das
Quote:
__showkillgui
sieht nicht so aus, als wären sie entfernt worden :o

Kind Regards
11/19/2014 13:11 jubox123#6
Eigl doch hier die Stelle in der game.

Und der Button.
11/19/2014 13:19 Lefloyd#7
Du hast aber den Command noch in der "Commandlist" drinne... in der game.py selbst. Da musst du ihn natürlich auch anpassen (Zeile 1675 *hust*) :p

Kind Regards
11/19/2014 13:31 jubox123#8
Ok scheint zu klappen danke, aber wie mache ich das, der es läd wenn ich es in der root packe ?
11/19/2014 13:34 Lefloyd#9
Ehm, ich weiß gerade nicht genau was du meinst.. was willst du laden? Und wann?

Kind Regards
11/19/2014 13:38 jubox123#10
Ich hatte ja das Menü gepostet.
Das hatte ich immer so geladen einfach logininfo.py in den Client mit der .exe usw. dann hat er es beim client start geladen.
Jetzt habe ich es aber in der root gepackt und umbenannt zu mmenu.py, und ich möchte gerne das es dann ingame läd/der button da ist.
11/19/2014 13:40 Lefloyd#11
#Skype sent.