Yardım Target Gauge Poision Hk.

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

victory

Üye
Üye
Mesaj
29
Beğeni
11
Puan
655
Ticaret Puanı
0
Merhaba,

oyuncuların, diğer oyuncuların ya da mobların HP'sini gördüğü uitarget.py'de basit bir poison efekti yapmak istedim.
def OnUpdate içerisinde IsTargetPoisoned fonksiyonunu uyguladım:

Kod:
Genişlet Daralt Kopyala
    def OnUpdate(self):
        if self.isShowButton:

            exchangeButton = self.buttonDict[localeInfo.TARGET_BUTTON_EXCHANGE]
            distance = player.GetCharacterDistance(self.vid)

            if distance < 0:
                return

            if exchangeButton.IsShow():
                if distance > self.EXCHANGE_LIMIT_RANGE:
                    self.RefreshButton()

            else:
                if distance < self.EXCHANGE_LIMIT_RANGE:
                    self.RefreshButton()
        if app.ENABLE_TARGET_UI:
            if self.IsTargetPoisoned():
                self.hpGauge.SetColor("green")

Fakat bu uygulama bazen üzerinde zehri olmayan oyuncu/mobların gaugelerinin de yeşil olmasını sağlıyor.

Fonksiyon tanımlarım:
Kod:
Genişlet Daralt Kopyala
    def IsTargetPoisoned(self):
        if self.vid:
            if chr.IsPoisoned(self.vid):
                return True
        return False
ve:
Kod:
Genişlet Daralt Kopyala
PyObject* chrIsPoisoned(PyObject* poSelf, PyObject* poArgs)
{
    int32_t iVirtualID;
    if (!PyTuple_GetInteger(poArgs, 0, &iVirtualID))
        return Py_BuildException();

    CInstanceBase* pInstance = CPythonCharacterManager::Instance().GetInstancePtr(iVirtualID);

    return Py_BuildValue("i", pInstance ? pInstance->IsAffect(CInstanceBase::AFFECT_POISON) : 0);
}

Neyin soruna neden olabileceğine dair fikri olan var mı? Ya da forumda bu yapmak istediğime dair bir paylaşım varsa iletebilirseniz mutlu olurum.
 
Kod:
Genişlet Daralt Kopyala
if app.ENABLE_TARGET_UI:
    if self.IsTargetPoisoned():
        self.hpGauge.SetColor("green")
    else:
        self.hpGauge.SetColor("red")
Mobildeyim şu şekilde dener misiniz?
 
Geri
Üst