Yardım Owsap 6.2.6 levelli pet hp barı sorunu

  • Konuyu açan Konuyu açan xxabubaxx
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 12
  • Gösterim Gösterim 134
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

xxabubaxx

Üye
Üye
Mesaj
10
Beğeni
4
Puan
75
Ticaret Puanı
0
Merhaba arkadaşlar 1 haftadır Enes Turan'ın paylaştığı owsap 6.2.6 filesine aslan growth pet v2.0 ekledim. Ama pet penceresindeki hp barı sorunlu. %100 olunca 1. resimdeki gibi oluyor ama %99.99 olduğu an bütün görüntü bozuluyor. Her yolu denedim felan ama bir türlü düzeltemedim bilgisi olan arkadaşlar yardımcı olabilir mi
hp barı 100.webp


hpbarı bozulduğu an.webp
 
O hp barı farklı bir tga olması lazım değil mi?

İnce bar olan.

Onun dışında files zaten rezalet bir files online oynatabileceğini sanmıyorum owsap ın değişik değişik işleri var.

K envanter, Gaya sistemi ve bir şey daha sorunluydu da hatrımda kalmamış.
 
hp barı farklı değil eklediğim sistem oyunun kendi hp tgasından alıyor. önerebileceğin bir files var mı? ona geçebileyim
 
# red gauge
Python:
Genişlet Daralt Kopyala
                {
                    "name" : "LifeGauge",
                    "type" : "ani_image",
                    "style" : ("attach",),
                  
                    "x" : 10,
                    "y" : 0,
                  
                    "x_scale" : LIFE_TIME_SCALE_X,
                    "y_scale" : LIFE_TIME_SCALE_Y,
                  
                    "delay" : 6,

                    "images" :
                    (
                        "D:/Ymir Work/ui/Pattern/HPGauge/01.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/02.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/03.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/04.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/05.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/06.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/07.tga",
                    ),
                },

bakın bu miniinformation.py dosyasının hp bar kodları bu da


Python:
Genişlet Daralt Kopyala
"name" : "LifeGaugeWindow", "type" : "window", "x" : 36, "y":216, "width" : 179, "height" : 12, "style" : ("attach",),
                            "children" :
                            (
                                {
                                    "name" : "LifeGauge", "type" : "ani_image", "x" : 0, "y" : 0, "delay" : 6, "x_scale" : 1.61, "y_scale" : 1.0,
                                    "images" :
                                    (
                                        "D:/Ymir Work/ui/Pattern/HPGauge/01.tga",
                                        "D:/Ymir Work/ui/Pattern/HPGauge/02.tga",
                                        "D:/Ymir Work/ui/Pattern/HPGauge/03.tga",
                                        "D:/Ymir Work/ui/Pattern/HPGauge/04.tga",
                                        "D:/Ymir Work/ui/Pattern/HPGauge/05.tga",
                                        "D:/Ymir Work/ui/Pattern/HPGauge/06.tga",
                                        "D:/Ymir Work/ui/Pattern/HPGauge/07.tga",
                                    ),
                                },
                            ),

bu da ana pencerenin hp barı kodu tgaları aynı yerden alıp scaleleri kısmaya çalışıyor aynı durumu pet skillerinde yaşamıştım ama çözmüştüm bir türlü bunu çözemedim. yani petin canı %100 iken 1.resimdeki gibi %99.99 olsun anında 2.resimdeki gibi oluyor
 
En son bir moderatör tarafından düzenlenmiş:
Hp gauge hocam sol altta karakter hp sinün tgasını packte biraz dolaşırsanız görürsünüz, elimde pc olmadığı için bakamıyorum ymir work ui içine bakın
 
D:/Ymir Work/ui/Pattern/gauge_red.tga yazmayı deneyebilirsiniz hocam o 1den 7ye kadar olan yere aklıma geldi şimdi
edit: packinizden kontrol edin ben bu dizinde diye hatırlar gibiyim
 
Python:
Genişlet Daralt Kopyala
duration = self.SealDuration - app.GetGlobalTimeStamp()
        if self.SealDuration > 0:
            self.GetChild("LifeGauge").SetPercentage(100, 100)
            import dbg
            dbg.TraceError("PET_DEBUG -> Duration: %d, Born: %d" % (duration, self.BornDuration))
            #self.GetChild("LifeGauge").SetScale(1.61, 1.0)
            self.GetChild("LifeGauge").Show()
        else:
            self.GetChild("LifeGauge").Hide() burası uipetsystem.py kısmı

## red gauge
                {
                    "name" : "LifeGauge",
                    "type" : "expanded_image",
                    "style" : ("attach",),
                  
                    "x" : 10,
                    "y" : 0,
                  
                    "x_scale" : LIFE_TIME_SCALE_X,
                    "y_scale" : LIFE_TIME_SCALE_Y,
                  
                    "delay" : 6,
                    "images" :
                    (
                        "D:/Ymir Work/ui/Pattern/gauge_red.tga",
                        """
                        "D:/Ymir Work/ui/Pattern/HPGauge/02.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/03.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/04.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/05.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/06.tga",
                        "D:/Ymir Work/ui/Pattern/HPGauge/07.tga",
                        """
                    ),
                },
burayı bu şekilde yaptım miniinformation ve maininformationdaki pyler ama hp barları tamamen gitti
 
En son bir moderatör tarafından düzenlenmiş:
Python:
Genişlet Daralt Kopyala
(
"D:/Ymir Work/ui/Pattern/HPGauge/01.tga",
"D:/Ymir Work/ui/Pattern/HPGauge/02.tga",
"D:/Ymir Work/ui/Pattern/HPGauge/03.tga",
"D:/Ymir Work/ui/Pattern/HPGauge/04.tga",
"D:/Ymir Work/ui/Pattern/HPGauge/05.tga",
"D:/Ymir Work/ui/Pattern/HPGauge/06.tga",
"D:/Ymir Work/ui/Pattern/HPGauge/07.tga",
),

(
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
"D:/Ymir Work/ui/Pattern/gauge_red.tga",
),

hepsini değişip bir daha deneyin hocam bu şekilde
 
son hali resimdeki gibi oldu boyut küçük gibi geldi sizce nasıl bir boyut girmeliyim bir fikriniz varmıdır?
bu minideki scale değerleri
##LifeTime Gauge
LIFE_TIME_SCALE_X = 0.25
LIFE_TIME_SCALE_Y = 0.636

buda maindeki scaledeğerleri
x = 1.61
y = 1.0
Ekran Alıntısı.webp
 
aynı zamanda uipetsystem.pyde kullandığım fonksiyonun ui.pydeki kodu
Python:
Genişlet Daralt Kopyala
def SetPercentageWithScale(self, curValue, maxValue):
        try:
            if maxValue <= 0:
                self.percentage = 0.0
            else:
                self.percentage = float(curValue) / float(maxValue)
        except:
            self.percentage = 0.0
        self.percentage = min(1.0, max(0.0, self.percentage))
        x_scale_degeri = 0.25
        clip_value = (self.percentage * x_scale_degeri) - x_scale_degeri

      
        import wndMgr
        wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, clip_value, 0.0)

buda petsystemdeki kodu
duration = self.SealDuration - app.GetGlobalTimeStamp()
        if self.SealDuration > 0:
            self.GetChild("LifeGauge").SetPercentageWithScale(duration, self.BornDuration)
            #self.GetChild("LifeGauge").SetScale(1.61, 1.0)
            self.GetChild("LifeGauge").Show()
        else:
            self.GetChild("LifeGauge").Hide()
 
En son bir moderatör tarafından düzenlenmiş:
merhaba arkadaşlar sorunu çözmüş bulunmaktayım ya ben bi yerde hata yaptım source dosyalarım bozuldu yada owsap böyle çözümü sizler için paylaşıyorum.


sorunun çözümü:
Genişlet Daralt Kopyala
uipetsystem.py dosyasında

class PetSystemMain(ui.ScriptWindow):  sınıfındaki
duration = self.SealDuration - app.GetGlobalTimeStamp()
        if self.SealDuration > 0:
            self.GetChild("LifeGauge").SetPercentage(duration, self.BornDuration)
            self.GetChild("LifeGauge").Show()
        else:
            self.GetChild("LifeGauge").Hide()


burayı aşağıdaki gibi değiştirin:

duration = self.SealDuration - app.GetGlobalTimeStamp()
        if self.SealDuration > 0:
            self.GetChild("LifeGauge").SetPercentageWithScale(duration, self.BornDuration)
            self.GetChild("LifeGauge").Show()
        else:
            self.GetChild("LifeGauge").Hide()


sonra aynı dosyada

class PetSystemMini(ui.ScriptWindow): sınıfındaki


duration = self.SealDuration - app.GetGlobalTimeStamp()
        if self.SealDuration > 0:
            self.GetChild("LifeGauge").SetPercentage(duration, self.BornDuration)
            self.GetChild("LifeGauge").Show()
        else:
            self.GetChild("LifeGauge").Hide()


burayı aşağıdaki gibi değiştirin

duration = self.wndMain.SealDuration - app.GetGlobalTimeStamp()
        if self.wndMain.SealDuration > 0:
            self.GetChild("LifeGauge").SetPercentageWithMiniBar(duration, self.wndMain.BornDuration)
            self.GetChild("LifeGauge").Show()
        else:
            self.GetChild("LifeGauge").Hide()



Sonra ui.py dosyasındaki class AniImageBox(Window): sınıfında bulunan

def SetPercentageWithScale fonksiyonu varsa bu şekilde değiştirin yoksa ekleyin

def SetPercentageWithScale(self, curValue, maxValue):
        if maxValue <= 0:
            wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, -1.0, 0.0)
            return
        oran = float(curValue) / float(maxValue)
        oran = max(0.0, min(1.0, oran))
        final_value = -1.0 + (oran * 1.613)
        wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, final_value, 0.0)

ardından altına şöyle bir fonksiyon ekleyin

def SetPercentageWithMiniBar(self, curValue, maxValue):
        if maxValue <= 0:
            wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, -1.0, 0.0)
            return
      
        oran = float(curValue) / float(maxValue)
        oran = max(0.0, min(1.0, oran))
        final_value = -1.0 + (oran * 0.53)
        wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, final_value, 0.0)

aslında bu oranları deneyerek buldum eğer sizde bu oranlar olmazsa örn: ui.pyde ilgili fonksiyonları
wndMgr.SetRenderingRect(self.hWnd, 0.0, 0.0, 1.633, 0.0) şeklinde deneyerek dolu halini ve tamamen silinmiş halini tespit ederek bu sistemi kendinize göre düzenleyebilirsiniz dediğim gibi belki ben bi yerde hata yaptım.
 
Son düzenleme:
Geri
Üst