byxox 67 #1 Oluşturuldu: Ekim 11, 2017 Merhabalar Kurulan clanı otomatık olarak royal clan yapmak gıbı bır ımkanımız varmıdır bu konuda yol gosterebılırsenız sevınırım tesekkurler Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
OzkanOzdemir 1.560 Admin #2 Ekim 11, 2017 tarihinde gönderildi Kullanıcı clan kurduktan sonra aşağıdaki paketi atacaksın ve clan değerlerini ona göre belirleyeceksin. Clan değerleri dediğim m_byFlag kaç yapınca royal oluyor hiç bir bilgim yok clan olaylarınla ilgilenmedim bu zamana kadar onu öğrenirsin deneyerek 1 yada 2 olması lazım tahminen. O değerleri de dosyalarda update yapman gerekiyor anlayacağın. CKnights * pKnights = s_pGameMain->GetClanPtr(GetClanID()); if (pKnights != nullptr) { Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE)); result GetID() m_byFlag GetCapeID(pKnights) m_bCapeR m_bCapeG m_bCapeB Send(&result); } Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #3 Konu Sahibi Ekim 13, 2017 tarihinde gönderildi AlıntıKullanıcı clan kurduktan sonra aşağıdaki paketi atacaksın ve clan değerlerini ona göre belirleyeceksin. Clan değerleri dediğim m_byFlag kaç yapınca royal oluyor hiç bir bilgim yok clan olaylarınla ilgilenmedim bu zamana kadar onu öğrenirsin deneyerek 1 yada 2 olması lazım tahminen. O değerleri de dosyalarda update yapman gerekiyor anlayacağın. CKnights * pKnights = s_pGameMain->GetClanPtr(GetClanID()); if (pKnights != nullptr) { Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE)); result GetID() m_byFlag GetCapeID(pKnights) m_bCapeR m_bCapeG m_bCapeB Send(&result); } Kardeşim selam benım tablo bu sekılde tam ne hale getirmem gerekiyor yardımcı olursan cok sevınırım void CKnights::SendUpdate() { CKnights *aKnights = g_pMain->GetClanPtr(GetAllianceID()); Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE)); result Send(&result); Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 926 #4 Ekim 13, 2017 tarihinde gönderildi AlıntıKullanıcı clan kurduktan sonra aşağıdaki paketi atacaksın ve clan değerlerini ona göre belirleyeceksin. Clan değerleri dediğim m_byFlag kaç yapınca royal oluyor hiç bir bilgim yok clan olaylarınla ilgilenmedim bu zamana kadar onu öğrenirsin deneyerek 1 yada 2 olması lazım tahminen. O değerleri de dosyalarda update yapman gerekiyor anlayacağın. CKnights * pKnights = s_pGameMain->GetClanPtr(GetClanID()); if (pKnights != nullptr) { Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_UPDATE)); result GetID() m_byFlag GetCapeID(pKnights) m_bCapeR m_bCapeG m_bCapeB Send(&result); } m_byFlag değeri için '12' -> Royal 1 @ byxox, yapman gereken şey şu, 1-) void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) fonksiyonunu bul. 2-) Fonksiyonun son kısmına, pUser->PromoteClan(ClanTypeRoyal1); ekle, veya alternatif olarak pKnights->m_byFlag = bFlag; //satırını pKnights->m_byFlag = ClanTypeRoyal1; // olarak değiştir Bu değişikliği yaptıktan sonra, açılacak bütün clanlar 'Royal 1' olarak açılır. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #5 Konu Sahibi Ekim 13, 2017 tarihinde gönderildi Alıntım_byFlag değeri için '12' -> Royal 1 @ byxox, yapman gereken şey şu, 1-) void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) fonksiyonunu bul. 2-) Fonksiyonun son kısmına, pUser->PromoteClan(ClanTypeRoyal1); ekle, veya alternatif olarak pKnights->m_byFlag = bFlag; //satırını pKnights->m_byFlag = ClanTypeRoyal1; // olarak değiştir Bu değişikliği yaptıktan sonra, açılacak bütün clanlar 'Royal 1' olarak açılır. Merhabalar dediğin gibi yaptım buıldlerım clan kurduktan sonra otomatık royal olmadı normal g5 de kalıyor kodu şu şekılde degıstırdım( 2 secenegı ayrı ayrı da denedım beraber de denedım ) void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) { if (pUser == nullptr) return; Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_CREATE)); string strKnightsName, strChief; uint16 sClanID; uint8 bFlag, bNation; int8 bResult; pkt >> bFlag >> sClanID >> bNation >> strKnightsName >> strChief; bResult = g_DBAgent.CreateKnights(sClanID, bNation, strKnightsName, strChief, bFlag); if (bResult > 0) { result pUser->Send(&result); return; } CKnights *pKnights = new CKnights(); pKnights->m_sIndex = sClanID; pKnights->m_byFlag = ClanTypeRoyal1; pKnights->m_byFlag = ClanTypeTraining; pKnights->m_byNation = bNation; pKnights->m_strName = strKnightsName; pKnights->m_strChief = pUser->GetName(); pUser->GoldLose(CLAN_COIN_REQUIREMENT, false); pKnights->m_byGrade = g_pMain->GetKnightsGrade(pUser->GetLoyalty()); g_pMain->m_KnightsArray.PutData(pKnights->m_sIndex, pKnights); pKnights->AddUser(pUser); // Ensure the clan leader's fame is set // CKnights::AddUser() will default it to TRAINEE, so it needs to be set afterwards. pUser->m_bFame = CHIEF; result GetSocketID() m_byGrade m_byRanking m_iGold; pUser->PromoteClan(ClanTypeRoyal1); pUser->SendToRegion(&result,nullptr,pUser->GetEventRoom()); g_DBAgent.UpdateUser(pUser->GetName(),UPDATE_LOGOUT,pUser); Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 926 #6 Ekim 13, 2017 tarihinde gönderildi AlıntıMerhabalar dediğin gibi yaptım buıldlerım clan kurduktan sonra otomatık royal olmadı normal g5 de kalıyor kodu şu şekılde degıstırdım( 2 secenegı ayrı ayrı da denedım beraber de denedım ) void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) { ... pKnights->m_byFlag = ClanTypeRoyal1; pKnights->m_byFlag = ClanTypeTraining; .. Sorunun cevabı gözünün önünde duruyor ve sen bunu görmüyorsun. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
infiltrate 42 #7 Ekim 13, 2017 tarihinde gönderildi AlıntıMerhabalar pKnights->m_byFlag = ClanTypeRoyal1; pKnights->m_byFlag = ClanTypeTraining; İlk önce Royal 1 daha sonra g5 yapmışssın:) pKnights->m_byFlag = ClanTypeTraining; Bunu sil öyle dene. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #8 Konu Sahibi Ekim 13, 2017 tarihinde gönderildi AlıntıSorunun cevabı gözünün önünde duruyor ve sen bunu görmüyorsun. Evet gözumden kaçmış :( ben şu şekilde değiştirdim yinede g5 de kalıyor void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) { if (pUser == nullptr) return; Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_CREATE)); string strKnightsName, strChief; uint16 sClanID; uint8 bFlag, bNation; int8 bResult; pkt >> bFlag >> sClanID >> bNation >> strKnightsName >> strChief; bResult = g_DBAgent.CreateKnights(sClanID, bNation, strKnightsName, strChief, bFlag); if (bResult { result pUser->Send(&result); return; } CKnights *pKnights = new CKnights(); pKnights->m_sIndex = sClanID; pKnights->m_byFlag = ClanTypeRoyal1; pKnights->m_byNation = bNation; pKnights->m_strName = strKnightsName; pKnights->m_strChief = pUser->GetName(); pUser->GoldLose(CLAN_COIN_REQUIREMENT, false); pKnights->m_byGrade = g_pMain->GetKnightsGrade(pUser->GetLoyalty()); g_pMain->m_KnightsArray.PutData(pKnights->m_sIndex, pKnights); pKnights->AddUser(pUser); // Ensure the clan leader's fame is set // CKnights::AddUser() will default it to TRAINEE, so it needs to be set afterwards. pUser->m_bFame = CHIEF; result GetSocketID() m_byGrade m_byRanking m_iGold; pUser->PromoteClan(ClanTypeRoyal1); pUser->SendToRegion(&result,nullptr,pUser->GetEventRoom()); g_DBAgent.UpdateUser(pUser->GetName(),UPDATE_LOGOUT,pUser); Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 926 #9 Ekim 13, 2017 tarihinde gönderildi AlıntıEvet gözumden kaçmış :( ben şu şekilde değiştirdim yinede g5 de kalıyor void CKnightsManager::ReqCreateKnights(CUser *pUser, Packet & pkt) { if (pUser == nullptr) return; Packet result(WIZ_KNIGHTS_PROCESS, uint8(KNIGHTS_CREATE)); string strKnightsName, strChief; uint16 sClanID; uint8 bFlag, bNation; int8 bResult; pkt >> bFlag >> sClanID >> bNation >> strKnightsName >> strChief; bResult = g_DBAgent.CreateKnights(sClanID, bNation, strKnightsName, strChief, bFlag); if (bResult { result pUser->Send(&result); return; } CKnights *pKnights = new CKnights(); pKnights->m_sIndex = sClanID; pKnights->m_byFlag = ClanTypeRoyal1; pKnights->m_byNation = bNation; pKnights->m_strName = strKnightsName; pKnights->m_strChief = pUser->GetName(); pUser->GoldLose(CLAN_COIN_REQUIREMENT, false); pKnights->m_byGrade = g_pMain->GetKnightsGrade(pUser->GetLoyalty()); g_pMain->m_KnightsArray.PutData(pKnights->m_sIndex, pKnights); pKnights->AddUser(pUser); // Ensure the clan leader's fame is set // CKnights::AddUser() will default it to TRAINEE, so it needs to be set afterwards. pUser->m_bFame = CHIEF; result GetSocketID() m_byGrade m_byRanking m_iGold; pUser->PromoteClan(ClanTypeRoyal1); pUser->SendToRegion(&result,nullptr,pUser->GetEventRoom()); g_DBAgent.UpdateUser(pUser->GetName(),UPDATE_LOGOUT,pUser); pkt >> bFlag >> sClanID >> bNation >> strKnightsName >> strChief; satırından hemen sonra bFlag = ClanTypeRoyal1; ekle. Bu şekilde olması lazım. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #10 Konu Sahibi Ekim 13, 2017 tarihinde gönderildi Alıntıpkt >> bFlag >> sClanID >> bNation >> strKnightsName >> strChief; satırından hemen sonra bFlag = ClanTypeRoyal1; ekle. Bu şekilde olması lazım. Çok teşekkur ederım dedıgınız gıbı yaptım clan kurup relog atınca otomatık olarak royal 1 oldu clan kolluk g1 oldu problemsiz çalışıyor. Ben np basıp pelerin aldım relog da pelerin kayboluyor bu konuda nereyı kontrol etmelıyım tesekkurler Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 926 #11 Ekim 13, 2017 tarihinde gönderildi AlıntıÇok teşekkur ederım dedıgınız gıbı yaptım clan kurup relog atınca otomatık olarak royal 1 oldu clan kolluk g1 oldu problemsiz çalışıyor. Ben np basıp pelerin aldım relog da pelerin kayboluyor bu konuda nereyı kontrol etmelıyım tesekkurler Öncelikle pelerinin veritabanına düzgünce kaydolduğundan emin ol. Clana pelerin aldıktan sonra KNIGHTS tablosundaki CapeID sütununun güncellenmesi lazım. Pelerin almadan önce ve pelerin aldıktan sonra tabloyu kontrol ederek sütunun güncellendiğinden emin ol. Sütun güncellenmiyorsa, veritabanını güncelleyen fonksiyonu bul ve neden güncellemediğini tespit et. Eğer sütun güncelleniyorsa, yeni pelerin idsi veritabanına kaydoluyor, fakat gameserver içerisindeki aktif clana işlenmiyor demektir. Yeni pelerin idsinin clandaki pelerin id değişkenine aktarıldığından emin ol. 1 Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
byxox 67 #12 Konu Sahibi Ekim 13, 2017 tarihinde gönderildi AlıntıÖncelikle pelerinin veritabanına düzgünce kaydolduğundan emin ol. Clana pelerin aldıktan sonra KNIGHTS tablosundaki CapeID sütununun güncellenmesi lazım. Pelerin almadan önce ve pelerin aldıktan sonra tabloyu kontrol ederek sütunun güncellendiğinden emin ol. Sütun güncellenmiyorsa, veritabanını güncelleyen fonksiyonu bul ve neden güncellemediğini tespit et. Eğer sütun güncelleniyorsa, yeni pelerin idsi veritabanına kaydoluyor, fakat gameserver içerisindeki aktif clana işlenmiyor demektir. Yeni pelerin idsinin clandaki pelerin id değişkenine aktarıldığından emin ol. Dedıklerını kontrol ettım ve kayıt yaptıgını gordum. Daha sonra aklıma geldı ve knıghts tablosuna desıgn yaparak ClanPointFund int default value yı ((100000000)) yaptım ve her yenı clan kurdugumda g1 oldu royal basılı oldu ve ayarladıgım değerde np bagışlanmış oldu otomatık olarak. Pelerin de düşmedi teşekkurler eline sağlık :) Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş
PENTAGRAM 926 #13 Ekim 14, 2017 tarihinde gönderildi AlıntıDedıklerını kontrol ettım ve kayıt yaptıgını gordum. Daha sonra aklıma geldı ve knıghts tablosuna desıgn yaparak ClanPointFund int default value yı ((100000000)) yaptım ve her yenı clan kurdugumda g1 oldu royal basılı oldu ve ayarladıgım değerde np bagışlanmış oldu otomatık olarak. Pelerin de düşmedi teşekkurler eline sağlık :) Rica ederim, faydalı olduysa ne mutlu. Mesajı raporla İletiyi paylaş Link to post Sitelerde Paylaş