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

Z ye Gelmeme

Önerilen Mesajlar

Merhaba;

m2bg5V.jpg

Resimde görüldüğü gibi arenada Rakibe attack yapılamıyor. Karakter Z ye tıkladığım zaman farklı rotaya çevriliyor. Aynı zamanda Moradonun heryerinde Char, Chara tıklayamıyor. Ama bu herzaman olmuyor. Neden kaynaklandığını bir türlü çözümedim. yardımcı olabilecek bi arkadaş varsa şimdiden teşekkür ederim.

İletiyi paylaş


Link to post
Sitelerde Paylaş

x-game diye bilinen benim zamanında geliştirmiş olduğum srcyi kullanıyorsun sanırım ( obede'ye ait olan src ) o yüzden 'Z target bugu var anladığım kadarı ile ?' eğer böyle ise cözümünü yollayım

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Skil magıc us tbl olabilir isterse baştan sıfırdan Client dene bi bakalım belki Data karıştırmıs olabilir.
Diğeri Userleri Arkdaşları da sor bakam aynısı var mı denesi.


emre db ile alakası yok oranın src taraflı bir sorun o kardeşim

Şekil 'A' Örnek Göstereyim target kendini yolluyor yani 0 socketi yolluyor

Resimdeki char hpme ve gelen target hpye dikkatli bak anlarsın. char o targete gitmeye calıstığında sacma sapan yerlere kosuyor ve baska userleri yada mobu target alamıyor



46xiVq.jpg

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

emre db ile alakası yok oranın src taraflı bir sorun o kardeşim

Şekil 'A' Örnek Göstereyim target kendini yolluyor yani 0 socketi yolluyor

Resimdeki char hpme ve gelen target hpye dikkatli bak anlarsın. char o targete gitmeye calıstığında sacma sapan yerlere kosuyor ve baska userleri yada mobu target alamıyor



DB Demedim Client Demıstım. Anladım Farkettim.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı

Çok ilginç bir olay hangi KO.exe kullanıyorsun version kaç ve inout fonksiyonlarını atar mısın?

 


EXE BU Konudaki Sizin Paylaştığınız 2083 EXE

Exe den olacağını sanmıyorum, src taraflı bi sorun ama hangi paketle alakalı bilemiyorum.

INOUT Void

 

 

 

 

void CNpc::GetInOut(Packet & result, uint8 bType)

{

	result.Initialize(WIZ_NPC_INOUT);

	result << bType << GetID();

	if (bType != INOUT_OUT)

		GetNpcInfo(result);



	if (bType == INOUT_IN)

		OnRespawn();

}

 



define.h

 

 

enum InOutType

{

	INOUT_IN		= 1,

	INOUT_OUT		= 2,

	INOUT_RESPAWN	= 3,

	INOUT_WARP		= 4,

	INOUT_SUMMON	= 5

};

İletiyi paylaş


Link to post
Sitelerde Paylaş

GetNpcInfo

 

 

 

void CNpc::GetNpcInfo(Packet & pkt)

{

	pkt.SByte();



	pkt << GetProtoID()

		<< uint8(isMonster() ? 1 : 2)

		<< m_sPid

		<< m_iSellingGroup

		<< GetType()

		<< uint32(0)

		<< m_sSize

		<< uint32(m_iWeapon_1) << uint32(m_iWeapon_2)

		<< uint8(isMonster() ? 0 : GetNation())

		<< GetLevel()

		<< GetSPosX() << GetSPosZ() << GetSPosY();

		if (GetProtoID() == 8110)

			pkt << uint32(2);

		else

			pkt << uint32(isGateOpen());

		pkt << m_byObjectType

		<< uint16(0) << uint16(0)

		<< int16(m_byDirection);

}

İletiyi paylaş


Link to post
Sitelerde Paylaş

Burdada Bi Problem Göremedim ama.
Aşağıdaki int16 dan kaynaklanabilirmi ?
RegionUserInOutForMe
 

void CGameServerDlg::RegionUserInOutForMe(CUser *pSendUser)

{

	if (pSendUser == nullptr)

		return;



	Packet reflesh(WIZ_REGIONCHANGE, uint8(0));

	pSendUser->SendCompressed(&reflesh);



	Packet result(WIZ_REGIONCHANGE, uint8(1));

	C3DMap* pMap = pSendUser->GetMap();

	ASSERT(pMap != nullptr);

	uint16 user_count = 0;





	result << uint16(0); // placeholder for the user count



	int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ();

	foreach_region(x, z)

		GetRegionUserList(pMap, rx + x, rz + z, result, user_count, pSendUser->GetEventRoom());



	result.put(1, uint16(user_count));

	pSendUser->SendCompressed(&result);



	Packet test(WIZ_REGIONCHANGE, uint8(2));

	pSendUser->SendCompressed(&test);

}

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
Alıntı

Burdada Bi Problem Göremedim ama.
Aşağıdaki int16 dan kaynaklanabilirmi ?
RegionUserInOutForMe
 


void CGameServerDlg::RegionUserInOutForMe(CUser *pSendUser)

{

	if (pSendUser == nullptr)

		return;



	Packet reflesh(WIZ_REGIONCHANGE, uint8(0));

	pSendUser->SendCompressed(&reflesh);



	Packet result(WIZ_REGIONCHANGE, uint8(1));

	C3DMap* pMap = pSendUser->GetMap();

	ASSERT(pMap != nullptr);

	uint16 user_count = 0;





	result << uint16(0); // placeholder for the user count



	int16 rx = pSendUser->GetRegionX(), rz = pSendUser->GetRegionZ();

	foreach_region(x, z)

		GetRegionUserList(pMap, rx + x, rz + z, result, user_count, pSendUser->GetEventRoom());



	result.put(1, uint16(user_count));

	pSendUser->SendCompressed(&result);



	Packet test(WIZ_REGIONCHANGE, uint8(2));

	pSendUser->SendCompressed(&test);

}

 


GetRegionX veya GetRegionZ fonksiyonlarının return tiplerini ne?
Sence oradan kaynaklı olabilir mi 🙂

 

İletiyi paylaş


Link to post
Sitelerde Paylaş

alakası yok dediklerinizin hiçbiriyle. zones klasöründe o zonenin evtsub dosyasını degıstırmısındır, usko clientten al moradonun zones dosyalarını

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...