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

TRANSFORM Hakkında

Önerilen Mesajlar

Öncelikle Herkese iyi forumlar başlıkta belirttiğim gibi kullandığım SRC larda transform ile ilgili bir problem mevcut, yaklaşık olarak 3 gündür denemediğim fonksiyon kalmadı DB taraflı SRC ve hatta TBL taraflı her yeri kontrol etmeme rağmen problemi çözemedim.. sizlerin bilgisine sığınıyoruz.

sorun şöyle gerçekleşiyor ; HERA SC basıyorum süresi dolduktan sonra buga giriyor ve silinmiyor. aynı şey IBEX ve MENISSAH içinde geçerli. sağ yukarda ikonu gözüküyor. saniyesi sıfırda takılıp kalıyor. RELOG atınca veya biryere ışınlanınca düzeliyor hatta ikona çift tıklayıp silincede gidiyor. ama süresi dolunca silinmiyor.

şimdiden teşekkür ederim..

İletiyi paylaş


Link to post
Sitelerde Paylaş

Sorunun goruntunun guncellenmemesi , simdi src hakkinda pek bilgim yok ama, soyle bir tavsiye vereyim.
1.)Suresi bitince silinmeyen hera , oyundaki baska bir char dan gorunuyormu .?

Gorunmuyorsa eger , relog veya isinlanma dedigine gore yuksek ihtimal bu olay sede goruntu bugu olarak kaliyor.Relog ve isinlanma aninda tekrar yukleme yapildigi icin sen herasiz sekilde doguyorsun.

Bence duzgun calisan Ts veya Hera patrik scleri incele , sure bitiminde gorunumu eski haline ceviren islemi bul .
Benim aklima gelen cozum bu .

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

Sorunun goruntunun guncellenmemesi , simdi src hakkinda pek bilgim yok ama, soyle bir tavsiye vereyim.
1.)Suresi bitince silinmeyen hera , oyundaki baska bir char dan gorunuyormu .?

Gorunmuyorsa eger , relog veya isinlanma dedigine gore yuksek ihtimal bu olay sede goruntu bugu olarak kaliyor.Relog ve isinlanma aninda tekrar yukleme yapildigi icin sen herasiz sekilde doguyorsun.

Bence duzgun calisan Ts veya Hera patrik scleri incele , sure bitiminde gorunumu eski haline ceviren islemi bul .
Benim aklima gelen cozum bu .

 


ben de ınceledım arkadasın durumunu cozemedım

kodlar su sekılde

Executetype4 da

 

 

 

 

switch (pType->bUserSkillUse)

	{

	case TransformationSkillUseMonster:

		pCaster->m_transformationType = TransformationMonster;

		break;

 



bu sekılde oldugunda hera vs ts basmaktadır breakpoınt koyup denedım

Type6Cancel de ise

 

 

 

 

void MagicInstance::Type6Cancel(bool bForceRemoval)

{

	if (g_pMain->m_Magictype6Array.GetData(nSkillID) == nullptr)

		return;



	// NPCs cannot transform.

	if (!pSkillCaster->isPlayer()

		// Are we transformed? Note: if we're relogging, and we need to remove it, we should ignore this check.

		|| (!bForceRemoval && !TO_USER(pSkillCaster)->isTransformed()))

		return;



	CUser * pUser = TO_USER(pSkillCaster);

	Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_CANCEL_TRANSFORMATION));



	// TODO: Reset stat changes, recalculate stats.

	pUser->m_transformationType = TransformationNone;



	Packet result2(AG_USER_TRANS_CHANGE);

	result2 << pUser->GetID() << uint8(pUser->m_transformationType);

	g_pMain->Send_AIServer(&result2);



	pUser->Send(&result);



	pUser->RemoveSavedMagic(pUser->m_bAbnormalType);

	pUser->StateChangeServerDirect(3, ABNORMAL_NORMAL);

}

 



bu sekılde kodlanmış ve kendınız elınızle sıldıgınızde silmektedır fakat suresı geldıgınde sılınmemektedır.

 

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

ben de ınceledım arkadasın durumunu cozemedım

kodlar su sekılde

Executetype4 da
 


switch (pType->bUserSkillUse)

	{

	case TransformationSkillUseMonster:

		pCaster->m_transformationType = TransformationMonster;

		break;

 


bu sekılde oldugunda hera vs ts basmaktadır breakpoınt koyup denedım

Type6Cancel de ise

 

 

 

 


void MagicInstance::Type6Cancel(bool bForceRemoval)

{

	if (g_pMain->m_Magictype6Array.GetData(nSkillID) == nullptr)

		return;



	// NPCs cannot transform.

	if (!pSkillCaster->isPlayer()

		// Are we transformed? Note: if we're relogging, and we need to remove it, we should ignore this check.

		|| (!bForceRemoval && !TO_USER(pSkillCaster)->isTransformed()))

		return;



	CUser * pUser = TO_USER(pSkillCaster);

	Packet result(WIZ_MAGIC_PROCESS, uint8(MAGIC_CANCEL_TRANSFORMATION));



	// TODO: Reset stat changes, recalculate stats.

	pUser->m_transformationType = TransformationNone;



	Packet result2(AG_USER_TRANS_CHANGE);

	result2 << pUser->GetID() << uint8(pUser->m_transformationType);

	g_pMain->Send_AIServer(&result2);



	pUser->Send(&result);



	pUser->RemoveSavedMagic(pUser->m_bAbnormalType);

	pUser->StateChangeServerDirect(3, ABNORMAL_NORMAL);

}

 



bu sekılde kodlanmış ve kendınız elınızle sıldıgınızde silmektedır fakat suresı geldıgınde sılınmemektedır.

 

 


Kontrol etmeniz gereken yer CMagicInstance::CheckExpiredType6Skills() fonksiyonudur arkadaşlar.

 

 

 

 

void CMagicProcess::CheckExpiredType6Skills(Unit::pointer pTarget) {

	if (!pTarget->isPlayer() || !TO_PLAYER(pTarget.get())->BuffManager.Type6().isTransformed() || !TO_PLAYER(pTarget.get())->BuffManager.Type6().isExpired())

		return;



	MagicInstance instance;

	instance.pSkillCaster = pTarget;

	instance.bZoneID = pTarget->GetZoneID();

	instance.bZoneSubID = pTarget->GetSubZoneID();

	instance.slZoneInstanceID = pTarget->GetInstanceID();

	instance.Type6Cancel();

}

 



Bu fonksiyona breakpoint koyarak süre dolduğunda tetiklendiğinden emin olun.

 

İletiyi paylaş


Link to post
Sitelerde Paylaş

Benim databasedede arada öyle bug oluyor zone değiştirdiginde düzelir diye tahmin ediyorum...başka bir pc den 2. hesapla gir sende bug oldugunda diger pc nin yanında town at 2. pc de normale dönmüşse clientten kaynaklıdır....

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

Benim databasedede arada öyle bug oluyor zone değiştirdiginde düzelir diye tahmin ediyorum...başka bir pc den 2. hesapla gir sende bug oldugunda diger pc nin yanında town at 2. pc de normale dönmüşse clientten kaynaklıdır....

 


aynen bu şekidle test etmiştim zaten, ama silinmiyor yani süresi dolduğunda 0 da kalıyor HERA ve farklı karakterlerede gözüküyor üzerindeki HERA gerçi RELOG atınca veya ışınlanınca gidiyor üzerinden. ama problemi çözmek gerek büyük ihtimalle SRC tarafında bir sıkıntı var.

 

İletiyi paylaş


Link to post
Sitelerde Paylaş
Misafir
Bu konu kapalıdır ama konuya cevap yazmaya yetkiniz var görünüyor.

×
×
  • Yeni Oluştur...