xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Karan2offical 1
Karan2offical
Fethi Polat 1
Fethi Polat
ShadowFon 1
ShadowFon
bikral 1
bikral
-TuRKuaZ- 1
-TuRKuaZ-
SLyFeLLowTR 1
SLyFeLLowTR
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

Jaguarz

Developer
TM Üye
Katılım
18 Ocak 2020
Konular
11
Mesajlar
459
Çözüm
13
Online süresi
1mo 5d
Reaksiyon Skoru
440
Altın Konu
2
Başarım Puanı
118
MmoLira
3,231
DevLira
15
Ticaret - 0%
0   0   0

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. 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
Ticaret - 0%
0   0   0
Çö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