Już od jakiegoś czasu staram się znaleźć sposób na dodanie wartości procentowej obok wyświetlanego bonusy jakie postać posiada pod uitarget do nonplayer.
Udało mi się ustalić, że użycie funkcji GetStatus z player, zwraca mi null
defSetHP(self, hpNow, hpMax):ifnot self.hpGauge.IsShow():def __getAI(flag):
name =['Zwierzeta','Nieumarle','Diably','Ludzie','Orki','Mistyki','Odpornosc na Lod','Odpornosc na Ogien']
flags =[]for i in xrange(7,-1,-1):# Zaczynamy od 7, bo mamy 8 elementów w liście 'name'if(flag &(1<< i)):# Sprawdzamy, czy bit na pozycji i jest ustawionytry:
flags.insert(0,"%s"% name[i])# Dodajemy flagi na początek listyexcept:continuereturn flags
flags = __getAI(nonplayer.GetRaceFlagByVID(self.GetTargetVID()))
bonusAgainstMonster = self.GetBonusAgainst()if bonusAgainstMonster >0or len(flags)!=0:
flagsText =", ".join(flags)
bonusNameText ="Bonusy: "+ flagsText +(", "if flagsText and bonusAgainstMonster >0else"")else:
bonusNameText ="Bonusy: Brak"
self.bonusName.SetText(bonusNameText)
self.bonusName.UpdateRect()
self.bonusName.Show()
self.SetSize(550,48)
self.name.SetPosition(6,9)
self.name.SetWindowHorizontalAlignLeft()
self.name.SetHorizontalAlignLeft()
self.hpGauge.Show()
self.hpText.Show()
self.closeButton.Show()
self.dropButton.Show()
self.hpGauge.SetPosition(267,35)
self.hpGauge.SetWindowVerticalAlignBottom()
self.hpGauge.UpdateRect()
self.hpGauge.MakeGauge(230,"red")
self.hpGauge.SetPercentage(hpNow, hpMax)
iMinHPText ='.'.join([i -3<0and str(hpNow)[:i]or str(hpNow)[i-3:i]for i in range(len(str(hpNow))%3, len(str(hpNow))+1,3)if i])
iMaxHPText ='.'.join([i -3<0and str(hpMax)[:i]or str(hpMax)[i-3:i]for i in range(len(str(hpMax))%3, len(str(hpMax))+1,3)if i])
hpPercentage = max(0,(float(hpNow)/ max(1, float(hpMax))*100))
self.hpText.SetText("%s / %s (%.2f%%)"%(iMinHPText, iMaxHPText, hpPercentage))
self.UpdatePosition()
Tak na 75% jestem pewny że logika odnośnie % bonusów w SetHP jest poprawna, problem zaczyna się już na samym początku gdy chciałem użyć GetStatus do pobrania wartości bonusów, ale może ktoś mnie oświeci bo jestem blady, a problem może być błachy.
Import player już standardowo był w pliku, a więc to nie problem z brakiem importu.
Cześć.
Już od jakiegoś czasu staram się znaleźć sposób na dodanie wartości procentowej obok wyświetlanego bonusy jakie postać posiada pod uitarget do nonplayer.
Udało mi się ustalić, że użycie funkcji GetStatus z player, zwraca mi null
Taka metoda:
W log.txt daje wartosc
0201 21:39:24674 :: Debug Bonus Value:0201 21:39:24674 :: 0201 21:39:24674 :: None0201 21:39:24674 ::
Metoda SetHP u mnie wygląda tak:
Tak na 75% jestem pewny że logika odnośnie % bonusów w SetHP jest poprawna, problem zaczyna się już na samym początku gdy chciałem użyć GetStatus do pobrania wartości bonusów, ale może ktoś mnie oświeci bo jestem blady, a problem może być błachy.
Import player już standardowo był w pliku, a więc to nie problem z brakiem importu.
No i widok z gry obowiązkowo