- 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:
Fakat bu uygulama bazen üzerinde zehri olmayan oyuncu/mobların gaugelerinin de yeşil olmasını sağlıyor.
Fonksiyon tanımlarım:
ve:
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.
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:
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:
def IsTargetPoisoned(self):
if self.vid:
if chr.IsPoisoned(self.vid):
return True
return False
Kod:
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.