Yardım Ölünce yeşil ve mor pot affectden siliniyor

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

onur2898

Üye
Üye
Mesaj
73
Çözümler
1
Beğeni
21
Puan
439
Ticaret Puanı
0
Ölünce yeşil ve mor pot affectden siliniyor ve verdiği değerde siliniyor
affech da yeşil iksir ve mor iksirin vnumları 200 ve 201
char_affect.cpp de IS_NO_CLEAR_ON_DEATH_AFFECT(type) ((type) == AFFECT_BLOCK_CHAT || ((type) >= 500 && (type) < 600) || (type) == AFF_MOV_SPEED_POTION || (type) == AFF_ATT_SPEED_POTION) eklediğimde yine değişen bişey olmuyor.

AFF_ATT_SPEED_POTION vnumlarını 500 ün üzerine çekdim yine aynı sadece mor iksir ve yeşil iksirde oluyor bu sorun.
 
IS_NO_CLEAR_ON_DEATH_AFFECT(type)

Buraya dwFlag eklenmez. dwType eklenir.

Yani anlayacağın şekilde söylemem gerekirse enum EAffectTypes içindekileri ekleyeceksin. Böyle eklersen skillerin sönmemesi gibi sorunlara yol açabilir(yanan skill sayısının dwType’sine denk gelirse AFF sayısı)

Örneğin AFF_SPEED_POTION = 20

Hava kılıcı dwTypesi = 20

Sen öldüğünde liste içinde arayacak ve 20’ye denk geldiği için hava kılıcı yanıyorsa sönmeyecek.

enum EAffectTypes’inde 200 den başlamasının sebebi öncesinde skillere yer verilmesidir. Onları da yanlış hatırlamıyorsam skill_protodan alıyor sayıyı. Mesela hava kılıcı bas affect.sqlda dwType 3 çıkar ama enum EAffectTypes içinde 3 yoktur. Çünkü 3 sayısının veya 5 sayısının orda olmasının bir önemi yok önemli olan senin bu bellekte tutulan listeye hangi sayıyı eklemen ve o bellekteki sayıya karşı nasıl bir koşul oluşturman.
 
Son düzenleme:
IS_NO_CLEAR_ON_DEATH_AFFECT(type)

Buraya dwFlag eklenmez. dwType eklenir.

Yani anlayacağın şekilde söylemem gerekirse enum EAffectTypes içindekileri ekleyeceksin. Böyle eklersen skillerin sönmemesi gibi sorunlara yol açabilir(yanan skill sayısının dwType’sine denk gelirse AFF sayısı)

Örneğin AFF_SPEED_POTION = 20

Hava kılıcı dwTypesi = 20

Sen öldüğünde liste içinde arayacak ve 20’ye denk geldiği için hava kılıcı yanıyorsa sönmeyecek.

enum EAffectTypes’inde 200 den başlamasının sebebi öncesinde skillere yer verilmesidir. Onları da yanlış hatırlamıyorsam skill_protodan alıyor sayıyı. Mesela hava kılıcı bas affect.sqlda dwType 3 çıkar ama enum EAffectTypes içinde 3 yoktur. Çünkü 3 sayısının veya 5 sayısının orda olmasının bir önemi yok önemli olan senin bu bellekte tutulan listeye hangi sayıyı eklemen ve o bellekteki sayıya karşı nasıl bir koşul oluşturman.
Peki hocam bi öneriniz varmı nasıl yapmalıyım
 
Geri
Üst