Metin2 Hungarian Forum

Metin2 => Segítség => Szerver készítés => Privát szerverek => Archívum => A témát indította: UnKn0Wn Dátum 2018-09-16, 16:26:35

Cím: GayForge karakterválasztó & Okey event bug on Quests By DescriptionBox
Írta: UnKn0Wn Dátum 2018-09-16, 16:26:35
Sziasztok,

2015 vége felé raktak ki devre egy GF-es karakterválasztó ablakot teljes kóddal ami szépen működik is, csak okoz egy buggot. A Level1 questnek, vagy bármilyen olyan questnek ami azonnal előjön és nem lesz alul felül fekete mozis csíkja, ha leokézzuk ottmarad a szövegje. Igen, az a téma (http://metin2hungary.net/index.php/topic,201469.msg1065012/topicseen.html#new) elsősorban ennek a bugnak a fixálása miatt született, csak nem nagyon kaptam választ, szerintem ide se nagyon fogok :'(

Erre a jelenségre találtam egy kókány megoldást:
when login begin -- quest bug fix
setskin(NOWINDOW)
say(" ")
return
end


Ezáltal csak egy szóköz ragad ott, ami nem látszik, tehát a problémát megoldja, csak ez kb olyan mint amikor a reptéren a dolgozók szikszalaggal ragasztják a hajtóműfedő panel végződéseit ;D
[spoiler](https://naibuzz.com/wp-content/uploads/2015/06/speed-tape-duct-tape-plane-444961.jpg)[/spoiler]

Kb 2 éve bentvan ez a kókány fix, igazából már el is felejtettem hogy volt ilyen problémám, és így lett megoldva. Viszont tegnap betettem az Okey eventet, és lám, előjött a bug. Mivel az Okey eventet sokan használják így rákerestem Google-n hogy "Metin2 Okey quest bug" és nagy meglepetésemre találtam fixet rá günceléknél.
Annyiból állt az egész hogy ezt ez uicard.py-be ki kellett kommentezni:
event.ClearEventSet(self.descIndex)
És tényleg megoldódott, legalább az Okey event már nem okozott többet ilyen buggot miután használtuk.

Oké, gondoltam akkor csak a karakterválasztó, létrehozó, birodalomválasztónál is csak ki kell kommentezni, és probléma megoldva. Hát nem. Max 1/3 részig.
-introselect.py-ben kikommenteztem, az többet nem okozott buggot, tehát meg lett oldva úgy mint az Okey eventnél.
-introcreate.py-ben, introempire.py kikommenteztem, nem volt hatása, a bugg továbbra is jelen van.
Meg kell jegyeznem itt hogy a régi Ymir-es verzióban az introselect.py-ben nem volt ilyen sor, a másik kettőben volt. Tehát most ha nem érintem a karakter létrehozást, biri választást, akkor nincs ilyen bugg. Fél, azaz 1/3 siker. A gond az hogy mivel a level1 quest olyan hogy nincs mozis csíkja, így akarva akaratlanul mindenki legalább egyszer találkozik a buggal.

Én nem vagyok az az ember aki ne kutakodna a dolgok iránt, így végül megtaláltam a bug okozóját, legalábbis közrejátszóját. A Description box az. Mind az okey event, mind a quest ablak, mind a gf-es karakterválasztó használja. Ha kiveszem az introcreate-ből, introempire-ből, akkor a bug is eltűnik, persze meg szeretném tartani, hisz elég tré lenne ha karakter létrehozáskor a leírási ablak üres lenne.

Amúgy ezeket a sorokat kell kivenni:

class DescriptionBox(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.descIndex = 0
def __del__(self):
ui.Window.__del__(self)
def SetIndex(self, index):
self.descIndex = index
def OnRender(self):
event.RenderEventSet(self.descIndex)


self.descriptionBox = self.DescriptionBox()
self.descriptionBox.Show()


self.descriptionBox.SetIndex(self.descIndex)

Tehát a descripton box mindenféleképpen kapcsolódik valamelyest a hibához.

Van valakinek ötlete?

Itt az introselect.py-m: https://pastebin.com/WBrvr3Cx
Itt az introcreate.py-m: https://pastebin.com/FBXAN2m3
Itt az introempire.py-m: https://pastebin.com/JfMkc770
(Tudom hogy alsó kettőben nincs kikommentezve az a sor, miután láttam hogy
itt az nem oldotta meg, levettem róla a kommentet.)
Cím: Re:GayForge karakterválasztó & Okey event bug on Quests By descriptonBox
Írta: whiteworld Dátum 2018-09-16, 16:36:20
Szép napot. Erre a kérdésre régebben én nem kaptam semmi választ, fogtam és így oldottam meg a kezdő questet.

(https://board.ddmt2.net/proxy.php?request=http%3A%2F%2Fwww.kepfeltoltes.eu%2Fimages%2Fhdd1%2F2018%2F09%2F16%2F156kezd_337_quest.jpg&hash=59b22cd6955bec2d828532448026313251244e68) (http://www.kepfeltoltes.eu/view.php?filename=156kezd_337_quest.jpg)
Cím: Re:GayForge karakterválasztó & Okey event bug on Quests By DescriptionBox
Írta: UnKn0Wn Dátum 2018-09-16, 16:37:54
Igen igen, ez ugyanazt csinálja mint az a megoldás amit én is említettem. Tehát nincs szöveg (ugye neked a képen van a szöveg), így a semmi ragad ott, ami vizuálisan ugye nem zavaró  ;D

Én viszont meg szeretném oldani normálisan ezt a gondot.
Cím: Re:GayForge karakterválasztó & Okey event bug on Quests By DescriptionBox
Írta: Chookez Dátum 2018-09-16, 17:58:00
Próbáld meg esetleg így:

Nyisd meg az alábbi fájlokat:

  • introcreate.py
    introempire.py
    introselect.py

  • Keress rá bennük erre:
    def Close(self):

    A funkción belül erre:
    self.Hide()

    Közvetlen alá add ezt:
    self.descriptionBox.Hide()
    Cím: Re:GayForge karakterválasztó & Okey event bug on Quests By DescriptionBox
    Írta: UnKn0Wn Dátum 2018-09-16, 18:14:42
    És jó lett  ;D ;D ;D, csak egy kis fixet még ez is igényel mert most ha üres a desc.box akkor a legutolsó questet rátolja:

    (https://image.ibb.co/g3XP6e/Screenshot_3.png)

    Szerk: Megoldva, introselect.py self.Show() alá: self.descIndex = event.RegisterEventSet("")
    Ill. a self.descriptionBox.Hide()-ot introempire-be ne tegyétek be, ott valamiért hibázik, fekete képernyő.
    De nem okoz buggot ha abban nincs bent, gondolom mert utoljára ígyis úgyis a select lesz mielőtt belépünk a játékba, az meg hideolja.
    EhPortal 1.39 © 2025, WebDev