|
You last visited: Today at 14:38
Advertisement
Quest + GUI aktualisieren
Discussion on Quest + GUI aktualisieren within the Metin2 Private Server forum part of the Metin2 category.
02/02/2016, 12:41
|
#1
|
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
|
|
|
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.
|
|
|
02/02/2016, 14:45
|
#3
|
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
|
|
|
02/02/2016, 17:35
|
#4
|
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
|
|
|
02/02/2016, 18:14
|
#5
|
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
|
Quote:
Originally Posted by gerald500
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.
|
|
|
02/02/2016, 18:24
|
#6
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
Quote:
Originally Posted by DasSchwarzeT
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
|
|
|
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
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
|
|
|
02/02/2016, 18:34
|
#8
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
Quote:
Originally Posted by Seחsi
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
|
|
|
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
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>>)
|
|
|
02/02/2016, 19:04
|
#10
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
Quote:
Originally Posted by Seחsi
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 ?
|
|
|
02/02/2016, 19:04
|
#11
|
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 ^^
|
|
|
02/02/2016, 19:10
|
#12
|
elite*gold: 150
Join Date: Sep 2010
Posts: 1,049
Received Thanks: 275
|
add mich einfach in skype ich mach dir das kurz:gerald5867
|
|
|
 |
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.
|
|