Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
byxox

Subside Atack düşürmesi hk

Önerilen Mesajlar

Arkadaslar merhabalar

Priest den subside yediğimde atagım misal 5000 iken 3000 e dusuyor. Benım priest cure aldıgında 5000 e çıkmasını beklıyoruz atagın ama 4000 de kalıyor relog atınca duzelıyor acaba nereyı kontrol etmelıyım yardımcı olursanız sevınırım

tesekkurler

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Arkadaslar merhabalar

Priest den subside yediğimde atagım misal 5000 iken 3000 e dusuyor. Benım priest cure aldıgında 5000 e çıkmasını beklıyoruz atagın ama 4000 de kalıyor relog atınca duzelıyor acaba nereyı kontrol etmelıyım yardımcı olursanız sevınırım

tesekkurler


bool CMagicProcess::RemoveType4Buff() fonksiyonunu ve SetUserAbility fonksiyonunu kontrol et.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
bool CMagicProcess::RemoveType4Buff() fonksiyonunu ve SetUserAbility fonksiyonunu kontrol et.


merhabalar

ıkı fonksyonuda baska sourcelerden kontrol ettım bıre bır aynısı bırde bu ıkı fonksyonda da bırcok detay var özellıkle bakmam gereken bölum neresıdır acaba

tesekkurler

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
@ byxox,

case BUFF_TYPE_DAMAGE: kısmına bakmalısın.


cok cok tesekkurler

kontrol ettım ve

case BUFF_TYPE_DAMAGE:
pTarget->m_bAttackAmount += (pType->bAttack - 100);
break;

bu sekıle getırdım atack dusunce cure alınca orjınal hale gelıyor emegıne saglık.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
@ byxox,

case BUFF_TYPE_DAMAGE: kısmına bakmalısın.


merhabalar

aslında o gün test etmiştim fakat yanlış görmüşüm

Remotetype4buff olan yerdekı BUFF_TYPE_DAMAGE kısmı :

case BUFF_TYPE_DAMAGE:
pTarget->m_bAttackAmount -= (pType->bAttack - 100);
break;

bu şekilde subsıde yedıgımde atack toparlanmıyor. ( 1200 duşuk kalıyor relog atınca normale dönuyor )

Ben bıraz kurcaladım ve

Grandtype4buff tablosundakı

case BUFF_TYPE_DAMAGE yı ınceledım

orjınal halı :

case BUFF_TYPE_DAMAGE:
if (pTarget->isPlayer())
TO_USER(pTarget)->m_bAttackAmount = pType->bAttack;
break;

bu şekildedir.

Ben bunu :

case BUFF_TYPE_DAMAGE:
//pTarget->m_bAttackAmount = pType->bAttack;
if (pTarget->isPlayer())
pTarget->m_bAttackAmount += (pType->bAttack - 100);
break;

bu hale getirip build yaptıgımda subsıde yesem bıle cure aldıgımda atagım normale dönmektedır. Mesela warrıorun atagı 6500 subsıde yedıgımde 4200 e dusuyor cure aldıgımda atagım 6500 e tekrar dönuyor.

Fakat relog atıp oyuna gırdıgımde atagım anlamsızca 5200 e duşmuş oluyor. ( 6500 atack varken olan herşey basılı iken )

neyı yanlış yapıyor olabılırım yardımcı olabılırmısınız

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
arkadaşlar varmı yardımcı olabılcek yol gosterebılecek


case BUFF_TYPE_DAMAGE:
if (pType->bAttack > 100)
pTarget->m_bAttackAmount -= (pType->bAttack - 100);
else
pTarget->m_bAttackAmount -= pType->bAttack;
break;

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
case BUFF_TYPE_DAMAGE:
if (pType->bAttack > 100)
pTarget->m_bAttackAmount -= (pType->bAttack - 100);
else
pTarget->m_bAttackAmount -= pType->bAttack;
break;


dedıgın gıbı yaptım dostum yıne aynı subsıde den sonra cure alınca ortalama 1400 ap duşuk kalıyor. Birde bufftypedamage 3 tane var hepsını mı degıstıreyım sadece removebuff voıd de olanımı degıstıreyım

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
dedıgın gıbı yaptım dostum yıne aynı subsıde den sonra cure alınca ortalama 1400 ap duşuk kalıyor. Birde bufftypedamage 3 tane var hepsını mı degıstıreyım sadece removebuff voıd de olanımı degıstıreyım


Debuff aldığında attack düşüyorsa ve cure aldığında eski haline dönüyorsa, o process ile bir işin kalmamış demektir. Senin şu anki problemin 'Relogda attack düşmesi.'

Bunun 2 sebebi olabilir;

1-) Debuff, kalıcı olan (pus scroll) tarzı buffları kayıtlı buff (saved magic) arrayinden siliyor olabilir.
2-) 2. girişte SetUserAbility sırasında atlanan bir kısım olabilir.
3-) GrantType4 yanlış ayarlanmış olabilir.

Kodun tamamını görmeden yorum yapmak güç, birden fazla kontrol edilmesi gereken yer var.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
User.cpp CUser::SendItemMove de araya 1 byte eklenmişti versiyon tam hatırlamıyorum ama sorunun ordan olabilir kontrol et istersen


burasımı dostum

void CUser::SendItemMove(uint8 subcommand)
{
Packet result(WIZ_ITEM_MOVE, uint8(1));

if (m_bAttackAmount == 0)
m_bAttackAmount = 100;

// If the subcommand is not error, send the stats.
if (subcommand != 0)
{
result // }
Send(&result);
}

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Aşağıda verdiğim şekilde kullan.


Packet result(WIZ_ITEM_MOVE, uint8(1));
if (m_bAttackAmount == 0)
m_bAttackAmount = 100;
result // If the subcommand is not error, send the stats.
if (subcommand != 0)
{
result }
Send(&result);

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Aşağıda verdiğim şekilde kullan.


Packet result(WIZ_ITEM_MOVE, uint8(1));
if (m_bAttackAmount == 0)
m_bAttackAmount = 100;
result // If the subcommand is not error, send the stats.
if (subcommand != 0)
{
result }
Send(&result);


selam kardeş

dedıgın gıbı yaptıgımda buıld yaparken asagıdakı hatayı alıyorum

http://prntscr.com/h2apy9
-- mesaja ek olarak --
Alıntı
Evet tam olarak burası

//

dostum orayı açtığımda buıldledım oyuna gırdıgımde skilller pasif hale geldi

İletiyi paylaş


Link to post
Sitelerde Paylaş
@ byxox

ushort varya uint16 yap
-- mesaja ek olarak --
Alıntı
Aşağıda verdiğim şekilde kullan.


Packet result(WIZ_ITEM_MOVE, uint8(1));
if (m_bAttackAmount == 0)
m_bAttackAmount = 100;
result // If the subcommand is not error, send the stats.
if (subcommand != 0)
{
result }
Send(&result);


Ozkan abi değişik paketini yapmış. bende düzeltim.


void CUser::SendItemMove(uint8 subcommand)
{
Packet result(WIZ_ITEM_MOVE, uint8(1));
if (m_bAttackAmount == 0)
m_bAttackAmount = 100;

result if (subcommand != 0)
{
result }
Send(&result);
}

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
@ byxox

ushort varya uint16 yap
-- mesaja ek olarak --


Ozkan abi değişik paketini yapmış. bende düzeltim.


void CUser::SendItemMove(uint8 subcommand)
{
Packet result(WIZ_ITEM_MOVE, uint8(1));
if (m_bAttackAmount == 0)
m_bAttackAmount = 100;

result if (subcommand != 0)
{
result }
Send(&result);
}


emre bu seferde

http://prntscr.com/h2bu2i

bunu verdı

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
selam kardeş

dedıgın gıbı yaptıgımda buıld yaparken asagıdakı hatayı alıyorum

http://prntscr.com/h2apy9
-- mesaja ek olarak --


dostum orayı açtığımda buıldledım oyuna gırdıgımde skilller pasif hale geldi


skiller başka bişeyden olmuştur orasını aç atak vs sapıtma sebebin o %99 skillerin olayını ayrı debugla bak bence
-- mesaja ek olarak --
Alıntı
emre bu seferde

http://prntscr.com/h2bu2i

bunu verdı




olarak değiştir değişkenleri

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
skiller başka bişeyden olmuştur orasını aç atak vs sapıtma sebebin o %99 skillerin olayını ayrı debugla bak bence
-- mesaja ek olarak --




olarak değiştir değişkenleri


kardesım selam başka sebebı yok cunku orayı kapattıgımda skıller aktif calısır durumda oluyor ama orayı açtıgımda skıller direk pasif halde olmaktadır.
-- mesaja ek olarak --
Alıntı
bunu dene



emre kardesım dedıgın gıbı yaptım buıldledım fakat skıller pasif halde kalıyor bu sekılde yaptıgımda

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
kardesım selam başka sebebı yok cunku orayı kapattıgımda skıller aktif calısır durumda oluyor ama orayı açtıgımda skıller direk pasif halde olmaktadır.
-- mesaja ek olarak --


emre kardesım dedıgın gıbı yaptım buıldledım fakat skıller pasif halde kalıyor bu sekılde yaptıgımda


exe versiyonun kaç hangi versiyonda çalışıyosun

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Debuff aldığında attack düşüyorsa ve cure aldığında eski haline dönüyorsa, o process ile bir işin kalmamış demektir. Senin şu anki problemin 'Relogda attack düşmesi.'

Bunun 2 sebebi olabilir;

1-) Debuff, kalıcı olan (pus scroll) tarzı buffları kayıtlı buff (saved magic) arrayinden siliyor olabilir.
2-) 2. girişte SetUserAbility sırasında atlanan bir kısım olabilir.
3-) GrantType4 yanlış ayarlanmış olabilir.

Kodun tamamını görmeden yorum yapmak güç, birden fazla kontrol edilmesi gereken yer var.


Evet kardeş dedıgın gıbı mısal 6600 ap var subsıde yedıgımde 4600 e dusuyor sonra cure aldıgımda 6600 e gerı toparlanıyor suan dedıgın gıbı o process ıle sorunum kalmadı. suankı problem oyunda oldugum surece ap normal relog attıp gırdıgımde 4400 e fılan dusuyor atak bırdahada cıkmıyor.

nerelerı kontrol edeyım soyleyebılırsen tek tek bakarım

tesekkurler

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
arkadaşlar sorunum devam edıyor varmı baska bakabılecegım yerler


Bir öneri de benden olsun ;

Databasede MagicType4 tablosunda skill id bul ve bufftype kontrol et belki bununla alakalı da olabilir Bufftype farklı olunca skill silinmiyor yada senin belirttiğin sorunlar baş gösterebiliyor.

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...