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

BDW userlerin girememesi hk

Önerilen Mesajlar

merhabalar

gm char bdw tıkladıgıda içeriye çekıyor fakat user ile tıklagıdımda resımdekıler gelıyor fakat charı bdw ye almıyor yardımcı olabılırmısınız

Teşekkurler

o6d7rk.png

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
İnventory full hatası vermiş.Eğer inventory full değil ise;Join'e tıkladığında mı bu hatayı veriyor, yoksa süre bittikten sonra içeri çekerken mi veriyor?


Dostum

önce bdw yazısı gelıyor joın e basıyorum problem yok

10 dakıka sure başlıyor ve bitiyor tam içeriye alacagı zaman eger tıklagıdım char GM ise aynı yazılar yıne gelıyor ama bdw harıtasında doğuyorum

10 dakika süre sonunda tam içeriye alacağı zaman eğer tıkladığım char normal user ise resımdekı yazılar gelıyor yıne fakat bdw haritasına çekmiyor.

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
Dostum

önce bdw yazısı gelıyor joın e basıyorum problem yok

10 dakıka sure başlıyor ve bitiyor tam içeriye alacagı zaman eger tıklagıdım char GM ise aynı yazılar yıne gelıyor ama bdw harıtasında doğuyorum

10 dakika süre sonunda tam içeriye alacağı zaman eğer tıkladığım char normal user ise resımdekı yazılar gelıyor yıne fakat bdw haritasına çekmiyor.


void CGameServerDlg::TempleEventTeleportUsers()
void CGameServerDlg::TerminitionTime(uint8 sNewZone, uint16 Time)

Bu iki fonksiyonu gönderirsen sanırım sorunu bulabiliriz :)

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
void CGameServerDlg::TempleEventTeleportUsers()
void CGameServerDlg::TerminitionTime(uint8 sNewZone, uint16 Time)

Bu iki fonksiyonu gönderirsen sanırım sorunu bulabiliriz :)



1. fonksyon :

void CGameServerDlg::TempleEventTeleportUsers()

{
switch (pTempleEvent.ActiveEvent)
{
case TEMPLE_EVENT_BORDER_DEFENCE_WAR:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_CHAOS:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_JURAD_MOUNTAIN:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_UTC:
pTempleEvent.isAttackable = false;
break;
}

foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr
|| !pUser->isInGame())
continue;

//Evente Giren Userin Seekte Kalması.
Packet result;
pUser->PartyBBSDelete(result);

if (pTempleEvent.ZoneID == ZONE_CHAOS_DUNGEON)
{
if (pUser->CheckExistItem(CHAOS_MAP, 1))
pUser->RobItem(CHAOS_MAP, 1);

pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f); // Start position is random...
TerminitionTime(ZONE_CHAOS_DUNGEON, 1201);
}
if (pTempleEvent.ZoneID == ZONE_JURAD_MOUNTAIN)
{
pUser->JuraidSpot = 0;
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_JURAD_MOUNTAIN, 3001);
}
if (pTempleEvent.ZoneID == ZONE_BORDER_DEFENSE_WAR)
{
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_BORDER_DEFENSE_WAR, 1801);
}
if (pTempleEvent.ZoneID == ZONE_UNDER_THE_CASTLE)
{
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_UNDER_THE_CASTLE, 3601);
}
}
}


2.fonksyon

void CGameServerDlg::TerminitionTime(uint8 sNewZone, uint16 Time)

{
if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
{
Packet Inventory(WIZ_EVENT);
Inventory Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
Packet cresult(WIZ_EVENT);
cresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);
if (pUser == nullptr || !pUser->isInGame())
continue;

cresult GetName();
}
cresult
foreach_stlmap_nolock(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);
if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&Inventory);
pUser->Send(&aresult);
pUser->Send(&bresult);
pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom());
}
}
else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
{
Packet Inventory(WIZ_EVENT);
Inventory
Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
Packet cresult(WIZ_EVENT);
cresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

cresult GetName();
}
cresult
foreach_stlmap_nolock(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&Inventory);
pUser->Send(&aresult);
pUser->Send(&bresult);
pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom());
}
}
else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS)
{
Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&aresult);
pUser->Send(&bresult);
}
}
}

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
1. fonksyon :

void CGameServerDlg::TempleEventTeleportUsers()

{
switch (pTempleEvent.ActiveEvent)
{
case TEMPLE_EVENT_BORDER_DEFENCE_WAR:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_CHAOS:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_JURAD_MOUNTAIN:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_UTC:
pTempleEvent.isAttackable = false;
break;
}

foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr
|| !pUser->isInGame())
continue;

//Evente Giren Userin Seekte Kalması.
Packet result;
pUser->PartyBBSDelete(result);

if (pTempleEvent.ZoneID == ZONE_CHAOS_DUNGEON)
{
if (pUser->CheckExistItem(CHAOS_MAP, 1))
pUser->RobItem(CHAOS_MAP, 1);

pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f); // Start position is random...
TerminitionTime(ZONE_CHAOS_DUNGEON, 1201);
}
if (pTempleEvent.ZoneID == ZONE_JURAD_MOUNTAIN)
{
pUser->JuraidSpot = 0;
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_JURAD_MOUNTAIN, 3001);
}
if (pTempleEvent.ZoneID == ZONE_BORDER_DEFENSE_WAR)
{
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_BORDER_DEFENSE_WAR, 1801);
}
if (pTempleEvent.ZoneID == ZONE_UNDER_THE_CASTLE)
{
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_UNDER_THE_CASTLE, 3601);
}
}
}


2.fonksyon

void CGameServerDlg::TerminitionTime(uint8 sNewZone, uint16 Time)

{
if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
{
Packet Inventory(WIZ_EVENT);
Inventory Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
Packet cresult(WIZ_EVENT);
cresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);
if (pUser == nullptr || !pUser->isInGame())
continue;

cresult GetName();
}
cresult
foreach_stlmap_nolock(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);
if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&Inventory);
pUser->Send(&aresult);
pUser->Send(&bresult);
pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom());
}
}
else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
{
Packet Inventory(WIZ_EVENT);
Inventory
Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
Packet cresult(WIZ_EVENT);
cresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

cresult GetName();
}
cresult
foreach_stlmap_nolock(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&Inventory);
pUser->Send(&aresult);
pUser->Send(&bresult);
pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom());
}
}
else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS)
{
Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&aresult);
pUser->Send(&bresult);
}
}
}


Bir sıkıntı göremedim

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
1. fonksyon :

void CGameServerDlg::TempleEventTeleportUsers()

{
switch (pTempleEvent.ActiveEvent)
{
case TEMPLE_EVENT_BORDER_DEFENCE_WAR:
pTempleEvent.isAttackable = false;

break;
case TEMPLE_EVENT_CHAOS:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_JURAD_MOUNTAIN:
pTempleEvent.isAttackable = false;
break;
case TEMPLE_EVENT_UTC:
pTempleEvent.isAttackable = false;
break;
}

foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr
|| !pUser->isInGame())
continue;

//Evente Giren Userin Seekte Kalması.
Packet result;
pUser->PartyBBSDelete(result);

if (pTempleEvent.ZoneID == ZONE_CHAOS_DUNGEON)
{
if (pUser->CheckExistItem(CHAOS_MAP, 1))
pUser->RobItem(CHAOS_MAP, 1);

pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f); // Start position is random...
TerminitionTime(ZONE_CHAOS_DUNGEON, 1201);
}
if (pTempleEvent.ZoneID == ZONE_JURAD_MOUNTAIN)
{
pUser->JuraidSpot = 0;
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_JURAD_MOUNTAIN, 3001);
}
if (pTempleEvent.ZoneID == ZONE_BORDER_DEFENSE_WAR)
{
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_BORDER_DEFENSE_WAR, 1801);
}

if (pTempleEvent.ZoneID == ZONE_UNDER_THE_CASTLE)
{
pUser->ZoneChange(pTempleEvent.ZoneID, 0.0f, 0.0f);
TerminitionTime(ZONE_UNDER_THE_CASTLE, 3601);
}
}
}


2.fonksyon

void CGameServerDlg::TerminitionTime(uint8 sNewZone, uint16 Time)

{
if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
{
Packet Inventory(WIZ_EVENT);
Inventory Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
Packet cresult(WIZ_EVENT);
cresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);
if (pUser == nullptr || !pUser->isInGame())
continue;

cresult GetName();
}
cresult
foreach_stlmap_nolock(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);
if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&Inventory);
pUser->Send(&aresult);
pUser->Send(&bresult);
pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom());
}
}
else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
{
Packet Inventory(WIZ_EVENT);
Inventory
Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
Packet cresult(WIZ_EVENT);
cresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

cresult GetName();
}
cresult
foreach_stlmap_nolock(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&Inventory);
pUser->Send(&aresult);
pUser->Send(&bresult);
pUser->SendToRegion(&cresult, nullptr, pUser->GetEventRoom());

}
}
else if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS)
{
Packet aresult(WIZ_SELECT_MSG);
aresult
Packet bresult(WIZ_BIFROST);
bresult
foreach_stlmap(itr, m_TempleEventUserArray)
{
CUser * pUser = GetUserPtr(itr->second->m_socketID);

if (pUser == nullptr || !pUser->isInGame())
continue;

pUser->Send(&aresult);
pUser->Send(&bresult);
}
}
}


Kırmızı boyadım bunu anlarsın..

İletiyi paylaş


Link to post
Sitelerde Paylaş
Alıntı
İnventory kontrolünü kaldırıp tekrar dene istersen.


yok gene almadı sadece ınventory yazısı gelmedı onun dısında sorun aynen devam edıyor

İletiyi paylaş


Link to post
Sitelerde Paylaş

arkadaşlar eventhandler.cpp ıcerısındekı

uint8 nMaxUserCount = 0;

switch (g_pMain->pTempleEvent.ActiveEvent)
{
case TEMPLE_EVENT_BORDER_DEFENCE_WAR:
nMaxUserCount = 8;
break;
case TEMPLE_EVENT_CHAOS:
nMaxUserCount = 10;
break;

olan bölüm ile oynarak bdw ye giriş düzeldi teşekkurler yardımcı olanlara.

İ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...