[Python] OnUpdate und Icons

02/01/2015 17:13 .yorliK#1
Community,

ich versuche in meiner py-Datei mit der Funktion def OnUpdate zu arbeiten..
Die Datei liegt in den root-Dateien und wird über die game.py mit der Taste F6 aufgerufen, das funktioniert auch alles. Nur funktioniert nun die def OnUpdate Funktion nicht. Ich kenn mich nun auch nicht so gut mit dieser Funktion aus, was genau getan werden muss damit die funktioniert.


Desweiteren möchte ich ein Bild aus den Icon-Dateien einfügen, ich gebe den Pfad an aber es wird Ingame nicht angezeigt.. aber das Icon wird trotzdem nicht angezeigt.

Wichtig für euch ist vielleicht auch:
Wenn ich die Datei Ingame über einen Python Loader laden lasse, dann funktioniert die Funktion!

Hier mein Code, ist noch nicht wirklich weit ausgebaut, weil ich erstmal die notwendigen Sachen zum laufen bringen möchte, alles zu schreiben und am Ende auf Fehlersuche zu gehen ist nicht so mein Ding^^
Code:
# Generated with Gui Editor by KaMeR1337 ; www.metin2mod.tk
import ui
import dbg
import app
import chat

class Dialog1(ui.Window):
	def __init__(self):
		ui.Window.__init__(self)
		self.BuildWindow()

	def __del__(self):
		ui.Window.__del__(self)

	def BuildWindow(self):
		self.Board = ui.BoardWithTitleBar()
		self.Board.SetSize(340, 175)
		self.Board.SetCenterPosition()
		self.Board.AddFlag("movable")
		self.Board.AddFlag("float")
		self.Board.SetTitleName("Board")
		self.Board.SetCloseEvent(self.Close)
		self.Board.Hide()

		self.img1 = ui.AniImageBox()
		self.img1.SetParent(self.Board)
		self.img1.AppendImage("d:/icon/item/00010.tga")
		self.img1.SetPosition(154, 56)
		self.img1.Show()

		self.Yang = ui.TextLine()
		self.Yang.SetParent(self.Board)
		self.Yang.SetPosition(145, 120)
		self.Yang.SetText("Yang:")
		self.Yang.Show()

		self.Costs = ui.TextLine()
		self.Costs.SetParent(self.Board)
		self.Costs.SetPosition(145, 135)
		self.Costs.SetText("Kosten:")
		self.Costs.Show()

	def OnUpdate(self):
		chat.AppendChat(1, "defOnUpdate funktioniert")

	def OpenWindow(self):
		if self.Board.IsShow():
			self.Board.Hide()
		else:
			self.Board.Show()

	def Close(self):
		self.Board.Hide()

Dialog1().Show()
02/01/2015 17:26 Poccix#2
Wie lädst du sie denn über F6.
02/01/2015 18:03 .yorliK#3
Quote:
Originally Posted by Isaac™ View Post
Wie lädst du sie denn über F6.
Code:
		onPressKeyDict[app.DIK_F6]= lambda : self.__DictF6()
Code:
	def __DictF6(self):
		import dna
		self.DnaF6 = dna.Dialog1()
		self.DnaF6.OpenWindow()
02/01/2015 18:11 noahrmal#4
Probier es mal mit:

Code:
self.img1 = ui.ExpandedImageBox()
self.img1.LoadImage("icon/item/27003.tga")
Die OnUpdate Funktion ist manchmal ein bisschen buggy, wenn man sie über ein externes Python-Skript ausführt.
02/01/2015 18:19 Poccix#5
Mach mal statt OpenWindow() einfach Show() und in die __init__ dann die Abfrage wegen IsShow()
02/01/2015 18:39 .yorliK#6
Quote:
Originally Posted by Isaac™ View Post
Mach mal statt OpenWindow() einfach Show() und in die __init__ dann die Abfrage wegen IsShow()
Okay, die Update Funktion läuft jetzt. Aber das Bild wird immernoch nicht angezeigt.

Quote:
Originally Posted by 123klo View Post
Probier es mal mit:

Code:
self.img1 = ui.ExpandedImageBox()
self.img1.LoadImage("icon/item/27003.tga")

Habe ich probiert, wird nicht angezeigt.. liegt das irgendwie an dem Pfad?


EDIT: Ups, habe nicht genau geschaut und nicht gesehn das du d:/ weggenommen hast.
Es funktioniert nun! Fraglich aber wieso.. weil bei den Buttons wird doch auch der direkte Pfad angegeben..
02/01/2015 19:20 DasSchwarzeT#7
Die OnUpdate geht, dein AppendChat ist einfach nur falsch. Machs mal so:
Code:
	def OnUpdate(self):
		chat.AppendChat(chat.CHAT_TYPE_INFO, "defOnUpdate funktioniert")
02/01/2015 19:23 .yorliK#8
Quote:
Originally Posted by Noo'DasSchwarzeT View Post
Die OnUpdate geht, dein AppendChat ist einfach nur falsch. Machs mal so:
Code:
	def OnUpdate(self):
		chat.AppendChat(chat.CHAT_TYPE_INFO, "defOnUpdate funktioniert")

Es liegt nicht an dem AppendChat

in der chat ist CHAT_TYPE_INFO als 1 definiert.


## Wie in meinem vorigen Post bereits geschrieben, waren die Beiträge von klo und Isaac die Lösungen.
02/01/2015 19:36 DasSchwarzeT#9
Quote:
Originally Posted by Kilroy. View Post
Es liegt nicht an dem AppendChat

in der chat ist CHAT_TYPE_INFO als 1 definiert.


## Wie in meinem vorigen Post bereits geschrieben, waren die Beiträge von klo und Isaac die Lösungen.
Ah okay, sorry