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

Oto clan Royal Yapma hk

Önerilen Mesajlar

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

İletiyi paylaş


Link to post
Sitelerde Paylaş
Admin
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);
}

İletiyi paylaş


Link to post
Sitelerde Paylaş
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);

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

kALFtXKhTbaYBXbCmtcfkA.png

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.

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

kALFtXKhTbaYBXbCmtcfkA.png

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);

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

İletiyi paylaş


Link to post
Sitelerde Paylaş
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);

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

İletiyi paylaş


Link to post
Sitelerde Paylaş
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

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

İletiyi paylaş


Link to post
Sitelerde Paylaş
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 :)

İletiyi paylaş


Link to post
Sitelerde Paylaş
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.

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...