Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 14:38

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

Advertisement



Quest + GUI aktualisieren

Discussion on Quest + GUI aktualisieren within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
IzeBreakzz's Avatar
 
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
Quest + GUI aktualisieren

HeyHo Com,

ich habe jetzt endlich geschafft alles passend einzustellen. Also Mysql, Quest und Datenbank laufen. Beim Login aktualisiert sich das GUI auch, aber während dem Spiel wird es auch wenn ich die Belohnung erhalte, nicht aktualisiert...

Welchen Questbefehl brauche ich denn am Ende der Quest damit er das GUI aktualisiert? Also eben nicht erst nach dem einloggen.

Vielen Dank schon einmal vorab.

Viele Grüße

IzeBreakzz
IzeBreakzz is offline  
Old 02/02/2016, 12:51   #2

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Kommt drauf an wie du das ganze umgesetzt hast. Im Normalfall den gleichen wie auch beim Login.
rollback is offline  
Old 02/02/2016, 14:45   #3
 
IzeBreakzz's Avatar
 
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
Habe ich gesetzt. So sieht es bei mir aus:
PHP Code:
quest testr begin
    state start begin
        when 101.kill begin
            mysql_query
("UPDATE player.player SET TestH = TestH+20 WHERE id ='"..pc.get_player_id().."'")
            
cmdchat("TestH "..TestH.TestH[1])
        
end
    end
end 
IzeBreakzz is offline  
Old 02/02/2016, 17:35   #4
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
du musst im client sagen er soll deine variable auf den wert setzen und danach in def OnUpdate sagen er soll das immer wieder neu reinschreiben

also würd ich die funktion so machen in python(angenommen deine Variable ist in der constinfo)

Code:
def Money(self, money):
	import constInfo
	constInfo.MONEY = 0
	constInfo.MONEY = int(money)


so und in der class deiner gui machste eine DefOnUpdate sollte ca so aussehen:
Code:
def OnUpdate(self):
	import constInfo
	self.Textline.SetText(str(constInfo.MONEY))
und mach doch nicht immer einen neuen thread auf xD
gerald500 is offline  
Old 02/02/2016, 18:14   #5
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Quote:
Originally Posted by gerald500 View Post
du musst im client sagen er soll deine variable auf den wert setzen und danach in def OnUpdate sagen er soll das immer wieder neu reinschreiben

also würd ich die funktion so machen in python(angenommen deine Variable ist in der constinfo)

Code:
def Money(self, money):
	import constInfo
	constInfo.MONEY = 0
	constInfo.MONEY = int(money)

so und in der class deiner gui machste eine DefOnUpdate sollte ca so aussehen:
Code:
def OnUpdate(self):
	import constInfo
	self.Textline.SetText(str(constInfo.MONEY))
und mach doch nicht immer einen neuen thread auf xD
Total sinnlos. Wenn sich der Wert ändert, kann der Text einfach sofort geupdated werden. Sein Problem hier liegt Server- und nicht Clientside.
DasSchwarzeT is offline  
Old 02/02/2016, 18:24   #6
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by DasSchwarzeT View Post
Total sinnlos. Wenn sich der Wert ändert, kann der Text einfach sofort geupdated werden. Sein Problem hier liegt Server- und nicht Clientside.
ach so ein blödsinn wenn er den ,wert ändert am server muss er ihn einfach nur neu an den client schicken

und er hat den wert nur beim einloggen neu auslesen lassen und an den client geschickt das muss er einfach bei jeder änderung des wertes machen. genau das wird sein problem sein nix anderes

anstatt hier zu meckern könntest du ihm lieber sagen was er deiner meinung nach machen soll lol
gerald500 is offline  
Old 02/02/2016, 18:27   #7

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by gerald500 View Post
du musst im client sagen er soll deine variable auf den wert setzen und danach in def OnUpdate sagen er soll das immer wieder neu reinschreiben

also würd ich die funktion so machen in python(angenommen deine Variable ist in der constinfo)

Code:
def Money(self, money):
	import constInfo
	constInfo.MONEY = 0
	constInfo.MONEY = int(money)


so und in der class deiner gui machste eine DefOnUpdate sollte ca so aussehen:
Code:
def OnUpdate(self):
	import constInfo
	self.Textline.SetText(str(constInfo.MONEY))
und mach doch nicht immer einen neuen thread auf xD
Das ist aber eine seeeehr unsaubere Herangehensweise
rollback is offline  
Old 02/02/2016, 18:34   #8
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by Seחsi View Post
Das ist aber eine seeeehr unsaubere Herangehensweise
und wie würdest du des denn machen wenn es so unsauber ist ?

gut er muss es nicht unbedingt über def OnUpdate lösen er kanns auch einfach in der class eine funktion machen die die textline neu schreibt

würde es aber trotzdem in eine variable packen falls man den wert noch wo anders benötigt
gerald500 is offline  
Old 02/02/2016, 18:56   #9

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by gerald500 View Post
und wie würdest du des denn machen wenn es so unsauber ist ?

gut er muss es nicht unbedingt über def OnUpdate lösen er kanns auch einfach in der class eine funktion machen die die textline neu schreibt

würde es aber trotzdem in eine variable packen falls man den wert noch wo anders benötigt
Etwa so:

Code:
import ui


class NewCurrency:
	__INSTANCE = NewCurrency()
	
	__amount = None
	__amountChangeListeners = None
	
	def __init__(self):
		self.__amountChangeListeners = []
		self.SetAmount(0)
	
	@staticmethod
	def GetInstance():
		return NewCurrency.__INSTANCE
	
	def __del__(self):
		self.__amount = None
		self.__amountChangeListeners = None
	
	def SetAmount(self, amount):
		self.__amount = amount
		
		for func in self.__amountChangeListeners:
			func(amount)
	
	def GetAmount(self):
		return self.__amount
	
	def AddOnAmountChanged(self, func):
		if not func:
			return
		
		self.__amountChangeListeners.append(func)


class YourGUIClass(ui.Irgendwas):
	__yourTextLine = None
	
	def __init__(self):
		self.__yourTextLine = ui.Textline()
		NewCurrency.GetInstance().AddOnAmountChanged(self.__SetAmount)
	
	def __del__(self):
		self.__yourTextLine = None
	
	def __SetAmount(self, amount):
		self.__yourTextLine.SetText(str(amount))
Dann in der game.py beim empfangen der cmdchats in etwa sowas:
Code:
from NewCurrency import NewCurrency
NewCurrency.GetInstance().SetAmount(<<amount>>)
rollback is offline  
Old 02/02/2016, 19:04   #10
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
Quote:
Originally Posted by Seחsi View Post
Etwa so:

Code:
import ui


class NewCurrency:
	__INSTANCE = NewCurrency()
	
	__amount = None
	__amountChangeListeners = None
	
	def __init__(self):
		self.__amountChangeListeners = []
		self.SetAmount(0)
	
	@staticmethod
	def GetInstance():
		return NewCurrency.__INSTANCE
	
	def __del__(self):
		self.__amount = None
		self.__amountChangeListeners = None
	
	def SetAmount(self, amount):
		self.__amount = amount
		
		for func in self.__amountChangeListeners:
			func(amount)
	
	def GetAmount(self):
		return self.__amount
	
	def AddOnAmountChanged(self, func):
		if not func:
			return
		
		self.__amountChangeListeners.append(func)


class YourGUIClass(ui.Irgendwas):
	__yourTextLine = None
	
	def __init__(self):
		self.__yourTextLine = ui.Textline()
		NewCurrency.GetInstance().AddOnAmountChanged(self.__SetAmount)
	
	def __del__(self):
		self.__yourTextLine = None
	
	def __SetAmount(self, amount):
		self.__yourTextLine.SetText(str(amount))
Dann in der game.py beim empfangen der cmdchats in etwa sowas:
Code:
from NewCurrency import NewCurrency
NewCurrency.GetInstance().SetAmount(<<amount>>)
und du meinst das er damit noch klar kommt ?
gerald500 is offline  
Old 02/02/2016, 19:04   #11
 
IzeBreakzz's Avatar
 
elite*gold: 20
Join Date: Sep 2012
Posts: 579
Received Thanks: 139
Vielen Dank schon mal für die vielen Antworten Bloß ist hier jetzt die Frage.. Wie bzw. wo liest er bei dem python Befehl denn die Werte aus? Also die die ich ändern muss.

Python ist nicht nur neu für mich, es ist ein bisschen wie alt-ägyptisch, man versucht zwar was raus zu lesen, im Endeffekt klappt es aber trotzdem nicht ^^
IzeBreakzz is offline  
Old 02/02/2016, 19:10   #12
 
gerald500's Avatar
 
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
add mich einfach in skype ich mach dir das kurz:gerald5867
gerald500 is offline  
Reply


Similar Threads Similar Threads
IP aktualisieren
03/22/2012 - Technical Support - 9 Replies
hallo ich habe mir für einen server eine neue ip vor 8 tagen zugelegt normaler weise wir ja die ip in 24 stunden aktualisiert aber biss heute hab ich noch die alte mit der ich auch noch conneten kann (ich hab rooter neu gestarten schon) pls help
Compile all quest without quest's files list // Kompilieren Sie alle Quest ohne Quest
07/17/2011 - Metin2 PServer Guides & Strategies - 3 Replies
ENGLISH Hello dear community, this is a very simple guide but at the same time useful. How to compile ALL quest in the folder "quest" without the files list in the file "locale_list"? Easy! Open the file "make" and replace the content of the file with this: for f in *.quest; do ./qc $f; done Oki. Now set the 0777 permission to the file. Finally open a SSH client and sign in. Write the command: cd /game_file_folder
Quest aktualisieren?
07/08/2011 - Metin2 Private Server - 10 Replies
Hallo Leute, Ich wollte eine Kategorie bei meinem Waffenhändler entfernen. Bin in die Db hab die Kategorie rausgelöscht. Wenn ich mich einlogge gibt's die Kategorie immer noch, hab schon rebootet. Was mach ich falsch?
GUI aktualisieren
09/29/2008 - GW Exploits, Hacks, Bots, Tools & Macros - 2 Replies
Hiho! Ich möchte heute noch eine kleine Statistikspielerei in meinen Bot einbauen und komme leider nicht ganz klar. In mein GUI habe ich 3 zusätzliche Anzeigen eingebaut die mir die gesamten runs, die heutigen runs und die runs seit dem letzten Verkauf anzeigen sollen. Die Werte werden alle in eine settings.ini geschrieben. Das klappt soweit wunderbar. Leider werden jetzt natürlich nur die Werte angezeigt welche beim Start des Bots in der INI standen. Jetzt wollte ich einen...



All times are GMT +1. The time now is 14:39.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.