- Mesaj
- 63
- Çözümler
- 4
- Beğeni
- 10
- Puan
- 59
- Ticaret Puanı
- 0
Arkadaşlar oyuna hp barı eklemek istedim moblar için metin için ama hata alıyorum aslında hatanın ne olduğu da belli ama ben anlamadığım için bozmayayım daha fazla dedim zaten bozduk galiba bozacağımız kadar ama inşallah çok büyük hata yapmamışımdır ya konuda yazan son satırları anlamadım biriniz bakabilir mi acaba hem bilmeyen yapamayan da yapmış olur biraz karışık çünkü bu size konuyu direk link atayım zaten altına yorum attım orada da hatamı görürsünüz şimdiden teşekkür ederim.
konu linki:
aldığım hata:
Editledim buraya da yazayım bu son eklediğim kod bölümleri konu sahibinin paylaştığı rardaki son satırlar yani bütün kodlar bunlar değil öbür kodları eksiksiz girdim de bu son bölümlerini anlamadım düzenledim anladığım kadarıyla ama olmadı ya
konu linki:
Linkleri görebilmek için
giriş yap veya kayıt ol.
aldığım hata:
ui.py:
class Gauge(Window):
SLOT_WIDTH = 16
SLOT_HEIGHT = 7
GAUGE_TEMPORARY_PLACE = 12
GAUGE_WIDTH = 16
def __init__(self):
Window.__init__(self)
self.__oldValue = 0
self.__newValue = 0
self.width = 0
def __del__(self):
Window.__del__(self)
def MakeGauge(self, width, color):
self.width = max(48, width)
imgSlotLeft = ImageBox()
imgSlotLeft.SetParent(self)
imgSlotLeft.LoadImage("d:/ymir work/ui/pattern/gauge_slot_left.tga")
imgSlotLeft.Show()
imgSlotRight = ImageBox()
imgSlotRight.SetParent(self)
imgSlotRight.LoadImage("d:/ymir work/ui/pattern/gauge_slot_right.tga")
imgSlotRight.Show()
imgSlotRight.SetPosition(width - self.SLOT_WIDTH, 0)
imgSlotCenter = ExpandedImageBox()
imgSlotCenter.SetParent(self)
imgSlotCenter.LoadImage("d:/ymir work/ui/pattern/gauge_slot_center.tga")
imgSlotCenter.Show()
imgSlotCenter.SetRenderingRect(0.0, 0.0, float((width - self.SLOT_WIDTH*2) - self.SLOT_WIDTH) / self.SLOT_WIDTH, 0.0)
imgSlotCenter.SetPosition(self.SLOT_WIDTH, 0)
imgGaugeBack = ExpandedImageBox()
imgGaugeBack.SetParent(self)
imgGaugeBack.LoadImage("d:/ymir work/ui/pattern/gauge_yellow.tga")
imgGaugeBack.Hide()
imgGaugeBack.SetRenderingRect(0.0, 0.0, 0.0, 0.0)
imgGaugeBack.SetPosition(self.GAUGE_TEMPORARY_PLACE, 0)
imgGauge = ExpandedImageBox()
imgGauge.SetParent(self)
imgGauge.LoadImage("d:/ymir work/ui/pattern/gauge_yellow.tga")
imgGauge.Show()
imgGauge.SetRenderingRect(0.0, 0.0, 0.0, 0.0)
imgGauge.SetPosition(self.GAUGE_TEMPORARY_PLACE, 0)
imgSlotLeft.AddFlag("attach")
imgSlotCenter.AddFlag("attach")
imgGaugeBack.AddFlag("attach")
imgSlotRight.AddFlag("attach")
if app.BL_PARTY_UPDATE:
def GaugeImgBoxAddFlag(self, flag):
self.imgLeft.AddFlag(flag)
self.imgCenter.AddFlag(flag)
self.imgRight.AddFlag(flag)
self.imgGauge.AddFlag(flag)
if app.ENABLE_POISON_GAUGE_EFFECT:
def SetGaugeColor(self, color):
if self.imgGauge:
self.imgGauge.LoadImage("d:/ymir work/ui/pattern/gauge_yellow.tga")
self.imgLeft = imgSlotLeft
self.imgCenter = imgSlotCenter
self.imgRight = imgSlotRight
self.imgGauge = imgGauge
self.imgGaugeBack = imgGaugeBack
self.SetSize(width, self.SLOT_HEIGHT)
def SetPercentage(self, curValue, maxValue):
# PERCENTAGE_MAX_VALUE_ZERO_DIVISION_ERROR
if maxValue > 0.0:
percentage = min(1.0, float(curValue)/float(maxValue))
else:
percentage = 0.0
# END_OF_PERCENTAGE_MAX_VALUE_ZERO_DIVISION_ERROR
self.__oldValue = self.__newValue
self.__newValue = percentage
gaugeSize = -1.0 + float(self.width - self.GAUGE_TEMPORARY_PLACE*2) * percentage / self.GAUGE_WIDTH
self.imgGauge.SetRenderingRect(0.0, 0.0, gaugeSize, 0.0)
self.SetPercentageBack(self.__oldValue, 1.0)
def SetPercentageBack(self, curValue, maxValue):
if not self.imgGaugeBack.IsShow():
self.imgGaugeBack.Show()
if maxValue > 0.0:
percentage = min(1.0, float(curValue) / float(maxValue))
else:
percentage = 0.0
gaugeSize = -1.0 + float(self.width - self.GAUGE_TEMPORARY_PLACE * 2) * percentage / self.GAUGE_WIDTH
self.imgGaugeBack.SetRenderingRect(0.0, 0.0, gaugeSize, 0.0)
def OnUpdate(self):
if self.IsShow() and self.__oldValue > self.__newValue:
self.__oldValue = self.__oldValue - 0.005
self.SetPercentageBack(self.__oldValue, 1.0)
uitarget.py:
def SetHP(self, hpNow, hpMax):
if not self.hpGauge.IsShow():
self.SetSize(200 + 7 * self.nameLength, self.GetHeight())
self.name.SetPosition(23, 13)
self.name.SetWindowHorizontalAlignLeft()
self.name.SetHorizontalAlignLeft()
self.hpGauge.Show()
self.hpText.Show()
self.UpdatePosition()
if app.ENABLE_POISON_GAUGE_EFFECT:
if chrmgr.HasAffectByVID(self.GetTargetVID(), chr.AFFECT_POISON):
self.hpGauge.SetGaugeColor("lime")
else:
self.hpGauge.SetGaugeColor("red")
self.hpGauge.SetPercentage(hpNow, hpMax)
self.hpText.SetText("%s/%s (%.2f%%)"
% (localeInfo.NumberToMoneyString(hpNow)[:-5],
localeInfo.NumberToMoneyString(hpMax)[:-5],
max(0, (float(hpNow) / max(1, float(hpMax)) * 100))))
Editledim buraya da yazayım bu son eklediğim kod bölümleri konu sahibinin paylaştığı rardaki son satırlar yani bütün kodlar bunlar değil öbür kodları eksiksiz girdim de bu son bölümlerini anlamadım düzenledim anladığım kadarıyla ama olmadı ya