Hallo,
ich habe von Moon (das soll keine Anschuldigung oder so werden) das Custom Title System gekauft. Er hat mir direkt gesagt dass er nicht wirklich Zeit für Support oder Einbau hat und damit war ich einverstanden.
Nun zu meiner Frage:
Ich habs System eingebaut. Es funktioniert auch eigentlich, das Problem ist nur: Der normale Titel (Ritterlich z.B. wird nicht mehr angezeigt wenn man keinen Titel hat) und der Client schließt sich immer ohne Client oder Server Syserr nach wenigen Sekunden. Wenn ich es in den wenigen Sekunden schaffe, den Titel mit dem Item zu setzen, wird der normal angezeigt, mit der richtigen Farbe.
Wenn ich das System im Clientsource ausbaue und nur Serversource eingebaut habe, stürzt der Client nicht ab.
Da ich den Code logischerweise nicht zeigen kann weil er das System noch verkauft:
Was für Ursachen kann so ein Clientclose ohne Syserr haben? Debug Client zeigt auch nichts
Beiträge von Aura
-
-
Hi!
Hat jemand einen fix für die Illumina Scrollbar? Die thin_scrollbar geht, die normale aber nicht.
Ist nur visuell, sie ist viel zu groß.Das ist bei jedem GUI so wo diese scrollbar verwendet wird.
Bitte melden Sie sich an, um dieses Bild zu sehen.
Bitte melden Sie sich an, um dieses Bild zu sehen. -
Wie bekomme ich es denn hin, dass er beim Waffenshining auch eine Waffe anzeigt? Sonst klappt es super. Danke!
-
Haste den "locale_game.txt" Eintrag vergessen, sonst bekommst ne syserr.
Nein, bekommt man nicht. Weil bei der Variante da nichts ausgelesen wird
-
Sorry, musste eben eine debug.exe kompilieren
Hier das Ergebnis:Einmal das:
Code- 1023 14:37:02119 :: cmd: 1023 14:37:02120 :: 1023 14:37:02120 :: ['DeleteRewards', '']1023 14:37:02120 :: 1023 14:37:02120 :: DeleteRewards1023 14:37:02120 ::
- 1023 14:37:02120 :: cmd: 1023 14:37:02120 :: 1023 14:37:02121 :: ['SetReward', '76008', '1']1023 14:37:02121 :: 1023 14:37:02121 :: SetReward1023 14:37:02121 ::
- 1023 14:37:02123 :: importing from lib time
- 1023 14:37:02125 :: cmd: 1023 14:37:02126 :: 1023 14:37:02126 :: ['SetReward', '27002', '50']1023 14:37:02126 :: 1023 14:37:02126 :: SetReward1023 14:37:02126 ::
- 1023 14:37:02126 :: cmd: 1023 14:37:02126 :: 1023 14:37:02126 :: ['SetReward', '27005', '50']1023 14:37:02126 :: 1023 14:37:02127 :: SetReward1023 14:37:02127 ::
- 1023 14:37:02127 :: cmd: 1023 14:37:02127 :: 1023 14:37:02127 :: ['SetReward', '27101', '10']1023 14:37:02128 :: 1023 14:37:02128 :: SetReward1023 14:37:02128 ::
- 1023 14:37:02131 :: importing from lib time
- 1023 14:37:02133 :: cmd: 1023 14:37:02133 :: 1023 14:37:02133 :: ['SetReward', '41039', '1']1023 14:37:02133 :: 1023 14:37:02133 :: SetReward1023 14:37:02134 ::
- 1023 14:37:02134 :: cmd: 1023 14:37:02134 :: 1023 14:37:02134 :: ['SetReward', '41040', '1']1023 14:37:02134 :: 1023 14:37:02134 :: SetReward1023 14:37:02134 ::
- 1023 14:37:02134 :: cmd: 1023 14:37:02134 :: 1023 14:37:02135 :: ['SetTime', '1603536385']1023 14:37:02135 :: 1023 14:37:02135 :: SetTime1023 14:37:02135 ::
- 1023 14:37:02137 :: importing from lib time
- 1023 14:37:02167 :: cmd: 1023 14:37:02167 :: 1023 14:37:02167 :: ['SetDailyReward', '2']1023 14:37:02167 :: 1023 14:37:02167 :: SetDailyReward1023 14:37:02168 ::
- 1023 14:37:02168 :: cmd: 1023 14:37:02168 :: 1023 14:37:02168 :: ['SetRewardDone', '']1023 14:37:02168 :: 1023 14:37:02168 :: SetRewardDone1023 14:37:02168 ::
Und das:
Code- 1023 14:37:53459 :: cmd: 1023 14:37:53460 :: 1023 14:37:53460 :: ['DeleteRewards', '']1023 14:37:53460 :: 1023 14:37:53461 :: DeleteRewards1023 14:37:53461 ::
- 1023 14:37:53461 :: cmd: 1023 14:37:53462 :: 1023 14:37:53462 :: ['SetReward', '76008', '1']1023 14:37:53462 :: 1023 14:37:53462 :: SetReward1023 14:37:53462 ::
- 1023 14:37:53462 :: cmd: 1023 14:37:53462 :: 1023 14:37:53463 :: ['SetReward', '27002', '50']1023 14:37:53463 :: 1023 14:37:53463 :: SetReward1023 14:37:53463 ::
- 1023 14:37:53463 :: cmd: 1023 14:37:53463 :: 1023 14:37:53464 :: ['SetReward', '27005', '50']1023 14:37:53464 :: 1023 14:37:53464 :: SetReward1023 14:37:53464 ::
- 1023 14:37:53464 :: cmd: 1023 14:37:53464 :: 1023 14:37:53464 :: ['SetReward', '27101', '10']1023 14:37:53464 :: 1023 14:37:53465 :: SetReward1023 14:37:53465 ::
- 1023 14:37:53465 :: cmd: 1023 14:37:53465 :: 1023 14:37:53465 :: ['SetReward', '41039', '1']1023 14:37:53465 :: 1023 14:37:53465 :: SetReward1023 14:37:53466 ::
- 1023 14:37:53466 :: cmd: 1023 14:37:53466 :: 1023 14:37:53466 :: ['SetReward', '41040', '1']1023 14:37:53466 :: 1023 14:37:53466 :: SetReward1023 14:37:53466 ::
- 1023 14:37:53466 :: cmd: 1023 14:37:53466 :: 1023 14:37:53467 :: ['SetTime', '1603536385']1023 14:37:53467 :: 1023 14:37:53467 :: SetTime1023 14:37:53467 ::
- 1023 14:37:53467 :: cmd: 1023 14:37:53468 :: 1023 14:37:53468 :: ['SetDailyReward', '2']1023 14:37:53468 :: 1023 14:37:53468 :: SetDailyReward1023 14:37:53468 ::
- 1023 14:37:53468 :: cmd: 1023 14:37:53468 :: 1023 14:37:53468 :: ['SetRewardDone', '']1023 14:37:53468 :: 1023 14:37:53468 :: SetRewardDone1023 14:37:53469 ::
Die ganzen rewards triggered er, weil ich das mit self.wnddailygift.Show() aufrufe
Scheint aber als würde er das Show in ManagerGiftSystem nicht ausführen -
Klappt so leider auch nicht.
Hier die Funktion:Code- def ManagerGiftSystem(self, cmd):
- cmd = cmd.split("|")
- if cmd[0] == "Show":
- self.wnddailygift.Show()
- elif cmd[0] == "DeleteRewards":
- self.wnddailygift.DeleteRewards()
- elif cmd[0] == "SetDailyReward":
- self.wnddailygift.SetDailyReward(cmd[1]) # numero de la recompensa
- elif cmd[0] == "SetTime":
- self.wnddailygift.SetTime(cmd[1]) # tiempo en numeros grandes
- elif cmd[0] == "SetReward":
- self.wnddailygift.SetReward(cmd[1], cmd[2]) #hacer un array con los items
- elif cmd[0] == "SetRewardDone":
- self.wnddailygift.SetRewardDone()
-
Okay ich habs soweit gefixt
Ich habe unter dem self.daily_reward.Show noch ein self.wnddailygift.Show() gemacht. Eigentlich soll self.daily_reward.SetEvent(lambda : self.ManagerGiftSystem("Show|")) genau das ausführen. Tut es aber nicht.
-
Mit der Show Funktion in der dailygift.py öffnet es sich zwar, aber die Button sind nicht anklickbar und er zieht die Belohnungen nicht vom Server.
Hatte ich vergessen zu erwähnen, sorry
Also wenn ich die Zeile am Ende der dailygift.py auskommentiere öffnet es sich, aber probleme wie oben beschriebenEDIT:
Ums besser zu beschreiben:
Was passieren soll:
Entweder jedes Mal wenn man sich einloggt oder wenn man einen Button drückt soll sich das Fenster öffnen, Button anklickbar, zieht die aktuellen richtigen items vom Server, wartezelt etc.
Was nicht passiert:
Kein Fenster öffnet sich. Wenn ich aber die Befehle eingebe, die in den python Dateien angezeigt werden, wird das ausgeführt was die ausführen sollen. Das klappt also. Nur das Fenster öffnet sich nicht (außer ich kommentiere die letzte Zeile in der dailygift.py aus). Komplett ohne syserr
-
Klar, sek
Python: game.py- class GameWindow(ui.ScriptWindow):
- def __init__(self, stream):
- import dailygift
- self.wnddailygift = dailygift.DailyGift()
- def Open(self):
- app.SetFrameSkip(1)
- self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
- self.daily_reward = ui.Button()
- self.daily_reward.SetParent(self)
- self.daily_reward.SetPosition(wndMgr.GetScreenWidth()-75,20)
- self.daily_reward.SetUpVisual("icon/item/50244.tga")
- self.daily_reward.SetOverVisual("icon/item/50244.tga")
- self.daily_reward.SetDownVisual("icon/item/50244.tga")
- self.daily_reward.SetToolTipText("Daily Rewards")
- self.daily_reward.SetEvent(lambda : self.ManagerGiftSystem("Show|"))
- self.daily_reward.Show()
- def OnUpdate(self):
- app.UpdateGame()
- self.wnddailygift.OnUpdate()
- "ManagerGiftSystem" : self.ManagerGiftSystem,
- def ManagerGiftSystem(self, cmd):
- cmd = cmd.split("|")
- if cmd[0] == "Show":
- self.wnddailygift.Show()
- elif cmd[0] == "DeleteRewards":
- self.wnddailygift.DeleteRewards()
- elif cmd[0] == "SetDailyReward":
- self.wnddailygift.SetDailyReward(cmd[1]) # numero de la recompensa
- elif cmd[0] == "SetTime":
- self.wnddailygift.SetTime(cmd[1]) # tiempo en numeros grandes
- elif cmd[0] == "SetReward":
- self.wnddailygift.SetReward(cmd[1], cmd[2]) #hacer un array con los items
- elif cmd[0] == "SetRewardDone":
- self.wnddailygift.SetRewardDone()
Python: dailygift.py- import ui
- import uiScriptLocale, event, dbg, uiCommon, uiToolTip, item, localeInfo
- import net
- import app
- class DailyGift(ui.Window):
- ITEMS = []
- CANTS = []
- def __init__(self):
- ui.Window.__init__(self)
- self.LoadWindow()
- def __del__(self):
- ui.Window.__del__(self)
- def Close(self):
- if self.board.IsShow():
- self.Show()
- def Show(self):
- if self.board.IsShow():
- self.board.Hide()
- else:
- self.board.Show()
- net.SendChatPacket("/daily_reward_reload")
- def LoadWindow(self):
- self.slots = {}
- self.daily = 0
- self.endTime = None
- self.board = ui.BoardWithTitleBar()
- self.board.SetSize(800, 500)
- self.board.SetCenterPosition()
- self.board.AddFlag("movable")
- self.board.AddFlag("float")
- self.board.SetTitleName(uiScriptLocale.DAILY_REWARD01)
- self.board.SetCloseEvent(self.Close)
- self.board.Hide()
- self.tooltipItem = uiToolTip.ItemToolTip()
- self.tooltipItem.Hide()
- self.img = ui.ImageBox()
- self.img.SetParent(self.board)
- self.img.SetPosition(12, 35)
- self.img.LoadImage("d:/ymir work/drakon2/dailygift/a.png")
- self.img.Show()
- self.bg = {}
- for i in xrange(7):
- self.bg[i] = {}
- self.bg[i]["image"] = ui.ImageBox()
- self.bg[i]["image"].SetParent(self.board)
- self.bg[i]["image"].SetPosition(110*i+25, 175)
- self.bg[i]["image"].LoadImage("d:/ymir work/drakon2/dailygift/test.png")
- self.bg[i]["image"].Show()
- self.bg[i]["text"] = ui.TextLine()
- self.bg[i]["text"].SetParent(self.bg[i]["image"])
- self.bg[i]["text"].SetPosition(0,9)
- self.bg[i]["text"].SetWindowHorizontalAlignCenter()
- self.bg[i]["text"].SetHorizontalAlignCenter()
- self.bg[i]["text"].SetText(uiScriptLocale.DAILY_REWARD02+" "+str(i+1))
- self.bg[i]["text"].Show()
- self.bg[i]["button"] = ui.Button()
- self.bg[i]["button"].SetParent(self.bg[i]["image"])
- self.bg[i]["button"].SetPosition(15,100)
- self.bg[i]["button"].SetUpVisual("d:/ymir work/ui/public/middle_button_01.sub")
- self.bg[i]["button"].SetOverVisual("d:/ymir work/ui/public/middle_button_02.sub")
- self.bg[i]["button"].SetDownVisual("d:/ymir work/ui/public/middle_button_03.sub")
- self.bg[i]["button"].SetDisableVisual("d:/ymir work/ui/public/middle_button_03.sub")
- self.bg[i]["button"].SetText(uiScriptLocale.DAILY_REWARD03)
- self.bg[i]["button"].SetEvent(lambda x = i : self.GetReward(x))
- self.bg[i]["button"].Disable()
- self.bg[i]["button"].Show()
- self.reward = ui.ImageBox()
- self.reward.SetParent(self.board)
- self.reward.SetPosition(20, 360)
- self.reward.LoadImage("d:/ymir work/drakon2/dailygift/reward.png")
- self.reward.Show()
- self.items = ui.GridSlotWindow()
- self.items.SetParent(self.board)
- self.items.SetPosition(110, 355)
- self.items.ArrangeSlot(0,10,3,32,32,0,0)
- self.items.SetOverInItemEvent(ui.__mem_func__(self.OverInItem))
- self.items.SetOverOutItemEvent(ui.__mem_func__(self.OverOutItem))
- self.items.SetSlotBaseImage("d:/ymir work/drakon2/inventory/slot.png",1.0,1.0,1.0,1.0)
- self.items.RefreshSlot()
- self.items.Show()
- self.text = {}
- self.pos = [[112,335], [112+(32*10)+15,335]]
- for i in xrange(2):
- self.text[i] = ui.TextLine()
- self.text[i].SetParent(self.board)
- self.text[i].SetPosition(self.pos[i][0], self.pos[i][1])
- self.text[i].SetText((uiScriptLocale.DAILY_REWARD04,uiScriptLocale.DAILY_REWARD05)[i])
- self.text[i].Show()
- # self.SetDailyReward(1)
- # self.SetTime(app.GetGlobalTimeStamp()*100)
- def SetDailyReward(self, idx):
- self.daily = int(idx)
- self.bg[self.daily]["button"].Enable()
- def GetActualDailyReward(self):
- return self.daily
- def SetTime(self, time):
- self.endTime = int(time)
- if self.endTime > 0:
- time = self.endTime - app.GetGlobalTimeStamp()
- day = int(int((time / 60) / 60) / 24)
- leftTime = localeInfo.SecondToDHM(self.endTime - app.GetGlobalTimeStamp())
- text = " %s : %s" % (localeInfo.LEFT_TIME, leftTime)
- self.text[1].SetText(text)
- # else:
- # self.bg[self.GetActualDailyReward()]["button"].Enable()
- def CheckTime(self):
- if self.endTime != None:
- time = self.endTime - app.GetGlobalTimeStamp()
- day = int(int((time / 60) / 60) / 24)
- leftTime = localeInfo.SecondToDHM(self.endTime - app.GetGlobalTimeStamp())
- text = " (%s : %s)" % (localeInfo.LEFT_TIME, leftTime)
- self.text[1].SetText(text)
- # if self.endTime <= 0:
- # self.bg[self.GetActualDailyReward()]["button"].Enable()
- def DeleteRewards(self):
- for i in xrange(len(self.ITEMS)):
- self.items.SetItemSlot(i,0)
- self.slots[i] = 0
- self.ITEMS = []
- self.CANTS = []
- def SetReward(self, items, cant):
- self.ITEMS.append(int(items))
- self.CANTS.append(int(cant))
- def SetRewardDone(self):
- for i in xrange(len(self.ITEMS)):
- self.items.SetItemSlot(i,self.ITEMS[i], self.CANTS[i])
- self.slots[i] = self.ITEMS[i]
- def GetReward(self,x):
- for i in xrange(7):
- self.bg[i]["button"].Disable()
- net.SendChatPacket("/daily_reward_get_reward")
- net.SendChatPacket("/daily_reward_reload")
- def OverInItem(self, slot):
- self.tooltipItem.SetItemToolTip(self.slots[slot])
- def OverOutItem(self):
- if self.tooltipItem:
- self.tooltipItem.HideToolTip()
- def OnUpdate(self):
- self.CheckTime()
- #x=DailyGift().Show()
-
Hallo,
habe das Daily Reward System eingebaut.
Das Problem: Das Interface öffnet sich nicht. Nicht beim Clientstart wie es soll und auch nicht mit Button.
Das ganze liegt an Python, ich checke das Problem nur nicht.
Hier mal die Tutorial game.py und dailygift.py
Mehr wird im Clienten nicht gemacht außer in der locale_interface und Bilddateien
Syserr Serverside und Clientside ist leer.
Bitte melden Sie sich an, um diesen Anhang zu sehen.
Bitte melden Sie sich an, um diesen Anhang zu sehen. -
Warum zum Fick will man 6 Slots?
Naja. Debug client mal versucht? Trotzdem mal Server Syserrr gecheckt? -
Ja, habs gefixt. Lag an der questnpc.cpp
Hab die aktuelle mit ner cleanen ersetzt weil außer das Multilang da nichts geändert hat. Jetzt gehts -
Hast du mal versucht, das in die locale_string hinzuzufügen?
Also z.B.:
"Zuruck zu Seite ";
"Zurück zu Seite ";
Und dann in der quest oder wo auch immer der text da bei dir ist Zuruck zu Seite einfügen -
Wie gesagt.
Jede quest, bei der xxx.chat."xxx" begin gemacht wird, hat den Fehler.Soll ich hier jetzt 30 Quests posten?
Gestern war das Problem noch nicht
Aber um ein beispiel zu nennen:Nicht mal die geht
Das ist, seitdem ich Multilanguage ausgebaut und den lc_text translator benutzt habe. -
Hallo,
ich hab seit gestern ein Problem mit meinem Quests.Immer wenn ich ein xxx.chat."xxx" begin mache, bekomme ich folgenden Fehler:
SYSERR: Oct 14 18:47:45 :: RunState: LUA_ERROR: attempt to call a string value
SYSERR: Oct 14 18:47:45 :: GetQuestStateName: QUEST wrong quest state file QUEST_CHAT_TEMP_QUEST.0
SYSERR: Oct 14 18:47:45 :: WriteRunningStateToSyserr: LUA_ERROR: quest QUEST_CHAT_TEMP_QUEST. click
Nur bei Quests die so getriggered werden.
Beim Warpring z.B. geht alles ohne Probleme -
Da heute schon ein paar Umlautthemen kamen, dachte ich mir, ich mache auch mal eins
Nutze Martyfiles.
In der locale_string sieht es aktuell so aus:
Bitte melden Sie sich an, um diesen Link zu sehen.
Wenn ich Umlaute eingebe, werden diese automatisch zu U,O und A.
Kodierung ist auf Koreanisch-EUR-KR.
Wenn ich die auf z.B. ANSI stelle, gehen die koreanischen Zeichen kaputt.
Hätte aber gerne Umlaute, weil ue, ae und oe scheiße aussieht.
Jemand eine Lösung?
-
Quest Kodierung auf ANSI
-
Kann man ja wohl selbst anpassen?
-
Nutze aktuell das.
Screen:
Bitte melden Sie sich an, um diesen Link zu sehen.
Ist von turkmmo. Geht bisher ohne Probleme.
befehl: /main 5m 60m
Also: /main 5m(wann die Wartung startet) 60m(wie lange die wartung geht) in minuten
Um das abzubrechen bevor der counter fertig ist: /main stopBitte melden Sie sich an, um diesen Anhang zu sehen.
-
Einfach irgendeine HP nehmen und die Datenbank mit der Registrierung abgleichen