farkmt2official 1
farkmt2official
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
BlackFullMoon 1
BlackFullMoon
Hikaye Ekle

Cevaplandı Soulbind sistemi hk.

  • Konuyu başlatan Konuyu başlatan Jaguarz
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 54

Ayyıldız2 | 2008 TR Yapısı • 1-99 Orta Emek Destan • Oto Avsız • 10 Temmuz 21:00 HEMEN TIKLA!

Merhaba,

SOULBIND (Ruh Bağlama sisteminde) ruha bağlanan eşyaların ruhtan ayrıldıktan sonra (3 gün) resmi sunucuda sistem oyuncu çevrimdışıykende işliyormu yoksa sadece çevrimiçi olduğundamı işliyor ? kodu yazarken karar veremedim resmi sunucuda nasılsa öyle yapacağım bilgisi olan söyleyebilirse sevinirim.
 
Çözüm
Çözüm kendimde :) yinede bakan bile olduysa teşekkürler. Resmi olarak uyguladım ayrıca Resmi sunucuda olduğu gibi karakter silerken ruha bağlı eşyanız varsa gerekli blok;


[CODE lang="cpp" title="ClientManagerPlayer.cpp" highlight="14-29"]// void CClientManager::__RESULT_PLAYER_DELETE(CPeer *peer, SQLMsg* msg) tablo içerisinde bu bloktan sonra ekle:

if (deletedLevelLimit < m_iPlayerDeleteLevelLimitLower)
{
sys_log(0, "PLAYER_DELETE FAILED LEVEL %u < DELETE LIMIT %d", deletedLevelLimit, m_iPlayerDeleteLevelLimitLower);
peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
peer->EncodeBYTE(pi->account_index);
return;
}

char queryStr[QUERY_MAX_LEN];

//SOULBIND FIX JAGUARZ Ssh...
#ifdef ENABLE#ifdef_SYSTEM...
Çözüm kendimde :) yinede bakan bile olduysa teşekkürler. Resmi olarak uyguladım ayrıca Resmi sunucuda olduğu gibi karakter silerken ruha bağlı eşyanız varsa gerekli blok;


[CODE lang="cpp" title="ClientManagerPlayer.cpp" highlight="14-29"]// void CClientManager::__RESULT_PLAYER_DELETE(CPeer *peer, SQLMsg* msg) tablo içerisinde bu bloktan sonra ekle:

if (deletedLevelLimit < m_iPlayerDeleteLevelLimitLower)
{
sys_log(0, "PLAYER_DELETE FAILED LEVEL %u < DELETE LIMIT %d", deletedLevelLimit, m_iPlayerDeleteLevelLimitLower);
peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
peer->EncodeBYTE(pi->account_index);
return;
}

char queryStr[QUERY_MAX_LEN];

//SOULBIND FIX JAGUARZ Ssh...
#ifdef ENABLE#ifdef_SYSTEM
{
char sbQuery[256];
snprintf(sbQuery, sizeof(sbQuery), "SELECT COUNT(*) FROM item%s WHERE owner_id=%d AND (`window` IN ('INVENTORY','EQUIPMENT')) AND sealbind!=0", GetTablePostfix(), pi->player_id);
auto pSB(CDBManager::instance().DirectQuery(sbQuery));
if (pSB->Get() && pSB->Get()->uiNumRows)
{
MYSQL_ROW r = mysql_fetch_row(pSB->Get()->pSQLResult);
if (r && r[0] && atoi(r[0]) > 0)
{
peer->EncodeHeader(HEADER_DG_PLAYER_DELETE_FAILED, pi->dwHandle, 1);
return;
}
}
}
#endif
//END #endifFIX JAGUARZ Ssh...[/CODE]
 
Son düzenleme:
Çözüm

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst