- Katılım
- 23 Mar 2015
- Konular
- 32
- Mesajlar
- 572
- Reaksiyon Skoru
- 65
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 2 Ay 26 Gün
- Başarım Puanı
- 68
- MmoLira
- -2
- DevLira
- 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 Arkadaşlar Söz Verdiğim Gibi Sizlerle 6 taş sistemini paylaşacağım.Öncelikle 6 taş sistemini paylaşacağım Mantıklı Olarak Düşünüldüğünde Bu sistemi Kendinize Göre 4 taş 5 taş vs. Şeklinde Ayarlayabilirsiniz isterseniz 9 taşta yapabilirsiniz fakat 9 taşı ekledikten sonra item silinir çünkü mysql.player.item tablosunda socket0 dan başlar socket5 e kadardır yani 9 taş felan yapacaksanız burdaki socket sayısınıda arttırmanız gerekmektedir.
Şimdi Konumuza Geçelim.
DB > AuctionManager.cpp Açılır Ve Aratılır.
Değiştirilir;
Aratılır :
Altına Eklenir.
Açılır Cache.cpp
Kod Bloğu Aratılır.
Kod Bloğu Değiştirilir
Açılır ClientManager.cpp
öncelikle şu kod aratılır
yaklaşık 10 11 tane olacaktır hepsi değiştirilir
aratılır.
Değiştirilir
aratılır
değiştirilir
arat
değiştir
arat
değiştir
arat
altına ekle
arat
değiştir
arat
değiştir
Burda Depodan İtem Kaybolmayı engelliyoruz 
arat
altına ekle
ClientManagerPlayer.cpp açılır
aratılır
altına eklenir
aratılır
yanına eklenir
tekrar yukarıdaki işlem yapılır.
açılır ItemAwardManager.cpp
aratılır
yanına eklenir
aratılır
altına eklenir
açılır ItemAwardManager.h
aratılır
altına eklenir
DB ile işimiz Bitti
common/item_lengt.h
açılır ve aratılır
item_socket_max_num
6 yapılır
Client/gametype.h
arat
ITEM_SOCKET_SLOT_MAX_NUM arat 3 ü 6 yap
Game/src/constants.cpp
aratılır
3, // WEAPON_SWORD,
WEAPON_DAGGER
WEAPON_BOW
WEAPON_TWO_HANDED
WEAPON_BELL
WEAPON_FAN
ARMOR_BODY
bunların yanındaki "3" Sayısı 6 olarak değiştirilir.
şimdi item proto'ya geçelim çoğu kişi yanlış anlatıyor sadece MySQL item_protoda örnek veriyorum runik kılıcı +9
6 taş yapacağınız itemlerin en sonuna gidin sağ tarafına orda socket_pct var o 3 tür onu 6 yapalım işlem bu kadar
NOT: Python item_proto ellemeyin yani ordaki socket_pct ellemeyin eğer orayla oynarsanız o itemin parlaması gidecektir!
Skype;mimikkral001
Yapamayan Herkese Yardımcı Olurum Yeterki Boş boş konuşmayın.
Kanıt ;
Dipnot:Bu sistemi Kimseden alıntı yapmadım hiç bir forumdan ben ürettim diye bir şeyde demiyorum tamamen kendi mantığımla yaptım.
İtem Yansıtma Problemi fixi aşşağıda
root/uitooltip.py
arat değiştir
////////////////////////////////
pythonchatmodule.cpp
açılır
//////////////////////////
PyObject * chatGetLinkFromHyperlink(PyObject * poSelf, PyObject * poArgs)
arat
değiştir.
///////////////////////////////////////////////////////////////////
pythonplayermodule.cpp
arat
değiştir.
Not bir kaç gün içerisinde binek bugunun çözümünü paylaşacağım
Keyifli Forumlar...
Şimdi Konumuza Geçelim.
DB > AuctionManager.cpp Açılır Ve Aratılır.
Kod:
"SELECT id, owner_id, count, vnum, socket0, socket1, socket2,"
Kod:
"SELECT id, owner_id, count, vnum, socket0, socket1, socket2, socket3, socket4, socket5"
Kod:
str_to_number(item.alSockets[2], row[cur++]);
Kod:
str_to_number(item.alSockets[3], row[cur++]);
str_to_number(item.alSockets[4], row[cur++]);
str_to_number(item.alSockets[5], row[cur++]);
Kod Bloğu Aratılır.
Kod:
void CItemCache::OnFlush()
Kod:
{
if (m_data.vnum == 0) // vnumÀÌ 0ÀÌ¸é »èÁ¦Ç϶ó°í Ç¥½ÃµÈ °ÍÀÌ´Ù.
{
char szQuery[QUERY_MAX_LEN];
snprintf(szQuery, sizeof(szQuery), "DELETE FROM item%s WHERE id=%u", GetTablePostfix(), m_data.id);
CDBManager::instance().ReturnQuery(szQuery, QID_ITEM_DESTROY, 0, NULL);
if (g_test_server)
sys_log(0, "ItemCache::Flush : DELETE %u %s", m_data.id, szQuery);
}
else
{
long alSockets[ITEM_SOCKET_MAX_NUM];
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
bool isSocket = false, isAttr = false;
memset(&alSockets, 0, sizeof(long) * ITEM_SOCKET_MAX_NUM);
memset(&aAttr, 0, sizeof(TPlayerItemAttribute) * ITEM_ATTRIBUTE_MAX_NUM);
TPlayerItem * p = &m_data;
if (memcmp(alSockets, p->alSockets, sizeof(long) * ITEM_SOCKET_MAX_NUM))
isSocket = true;
if (memcmp(aAttr, p->aAttr, sizeof(TPlayerItemAttribute) * ITEM_ATTRIBUTE_MAX_NUM))
isAttr = true;
char szColumns[QUERY_MAX_LEN];
char szValues[QUERY_MAX_LEN];
char szUpdate[QUERY_MAX_LEN];
int iLen = snprintf(szColumns, sizeof(szColumns), "id, owner_id, window, pos, count, vnum");
int iValueLen = snprintf(szValues, sizeof(szValues), "%u, %u, %d, %d, %u, %u",
p->id, p->owner, p->window, p->pos, p->count, p->vnum);
int iUpdateLen = snprintf(szUpdate, sizeof(szUpdate), "owner_id=%u, window=%d, pos=%d, count=%u, vnum=%u",
p->owner, p->window, p->pos, p->count, p->vnum);
if (isSocket)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]);
iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen,
", socket0=%lu, socket1=%lu, socket2=%lu", p->alSockets[0], p->alSockets[1], p->alSockets[2]);
}
if (isAttr)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen,
", attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3"
", attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
p->aAttr[0].bType, p->aAttr[0].sValue,
p->aAttr[1].bType, p->aAttr[1].sValue,
p->aAttr[2].bType, p->aAttr[2].sValue,
p->aAttr[3].bType, p->aAttr[3].sValue,
p->aAttr[4].bType, p->aAttr[4].sValue,
p->aAttr[5].bType, p->aAttr[5].sValue,
p->aAttr[6].bType, p->aAttr[6].sValue);
iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen,
", attrtype0=%d, attrvalue0=%d"
", attrtype1=%d, attrvalue1=%d"
", attrtype2=%d, attrvalue2=%d"
", attrtype3=%d, attrvalue3=%d"
", attrtype4=%d, attrvalue4=%d"
", attrtype5=%d, attrvalue5=%d"
", attrtype6=%d, attrvalue6=%d",
p->aAttr[0].bType, p->aAttr[0].sValue,
p->aAttr[1].bType, p->aAttr[1].sValue,
p->aAttr[2].bType, p->aAttr[2].sValue,
p->aAttr[3].bType, p->aAttr[3].sValue,
p->aAttr[4].bType, p->aAttr[4].sValue,
p->aAttr[5].bType, p->aAttr[5].sValue,
p->aAttr[6].bType, p->aAttr[6].sValue);
}
char szItemQuery[QUERY_MAX_LEN + QUERY_MAX_LEN];
snprintf(szItemQuery, sizeof(szItemQuery), "REPLACE INTO item%s (%s) VALUES(%s)", GetTablePostfix(), szColumns, szValues);
if (g_test_server)
sys_log(0, "ItemCache::Flush :REPLACE (%s)", szItemQuery);
CDBManager::instance().ReturnQuery(szItemQuery, QID_ITEM_SAVE, 0, NULL);
//g_item_info.Add(p->vnum);
++g_item_count;
}
m_bNeedQuery = false;
}
Kod:
void CItemCache::OnFlush()
Kod:
{
if (m_data.vnum == 0) // vnumÀÌ 0ÀÌ¸é »èÁ¦Ç϶ó°í Ç¥½ÃµÈ °ÍÀÌ´Ù.
{
char szQuery[QUERY_MAX_LEN];
snprintf(szQuery, sizeof(szQuery), "DELETE FROM item%s WHERE id=%u", GetTablePostfix(), m_data.id);
CDBManager::instance().ReturnQuery(szQuery, QID_ITEM_DESTROY, 0, NULL);
if (g_test_server)
sys_log(0, "ItemCache::Flush : DELETE %u %s", m_data.id, szQuery);
}
else
{
long alSockets[ITEM_SOCKET_MAX_NUM];
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
bool isSocket = false, isAttr = false;
memset(&alSockets, 0, sizeof(long) * ITEM_SOCKET_MAX_NUM);
memset(&aAttr, 0, sizeof(TPlayerItemAttribute) * ITEM_ATTRIBUTE_MAX_NUM);
TPlayerItem * p = &m_data;
if (memcmp(alSockets, p->alSockets, sizeof(long) * ITEM_SOCKET_MAX_NUM))
isSocket = true;
if (memcmp(aAttr, p->aAttr, sizeof(TPlayerItemAttribute) * ITEM_ATTRIBUTE_MAX_NUM))
isAttr = true;
char szColumns[QUERY_MAX_LEN];
char szValues[QUERY_MAX_LEN];
char szUpdate[QUERY_MAX_LEN];
int iLen = snprintf(szColumns, sizeof(szColumns), "id, owner_id, window, pos, count, vnum");
int iValueLen = snprintf(szValues, sizeof(szValues), "%u, %u, %d, %d, %u, %u",
p->id, p->owner, p->window, p->pos, p->count, p->vnum);
int iUpdateLen = snprintf(szUpdate, sizeof(szUpdate), "owner_id=%u, window=%d, pos=%d, count=%u, vnum=%u",
p->owner, p->window, p->pos, p->count, p->vnum);
if (isSocket)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen, ", socket0, socket1, socket2, socket3, socket4, socket5");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %lu, %lu, %lu, %lu, %lu, %lu", p->alSockets[0], p->alSockets[1], p->alSockets[2], p->alSockets[3], p->alSockets[4], p->alSockets[5]);
iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen,
", socket0=%lu, socket1=%lu, socket2=%lu, socket3=%lu, socket4=%lu, socket5=%lu", p->alSockets[0], p->alSockets[1], p->alSockets[2], p->alSockets[3], p->alSockets[4], p->alSockets[5]);
}
if (isAttr)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen,
", attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3"
", attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6");
iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d",
p->aAttr[0].bType, p->aAttr[0].sValue,
p->aAttr[1].bType, p->aAttr[1].sValue,
p->aAttr[2].bType, p->aAttr[2].sValue,
p->aAttr[3].bType, p->aAttr[3].sValue,
p->aAttr[4].bType, p->aAttr[4].sValue,
p->aAttr[5].bType, p->aAttr[5].sValue,
p->aAttr[6].bType, p->aAttr[6].sValue);
iUpdateLen += snprintf(szUpdate + iUpdateLen, sizeof(szUpdate) - iUpdateLen,
", attrtype0=%d, attrvalue0=%d"
", attrtype1=%d, attrvalue1=%d"
", attrtype2=%d, attrvalue2=%d"
", attrtype3=%d, attrvalue3=%d"
", attrtype4=%d, attrvalue4=%d"
", attrtype5=%d, attrvalue5=%d"
", attrtype6=%d, attrvalue6=%d",
p->aAttr[0].bType, p->aAttr[0].sValue,
p->aAttr[1].bType, p->aAttr[1].sValue,
p->aAttr[2].bType, p->aAttr[2].sValue,
p->aAttr[3].bType, p->aAttr[3].sValue,
p->aAttr[4].bType, p->aAttr[4].sValue,
p->aAttr[5].bType, p->aAttr[5].sValue,
p->aAttr[6].bType, p->aAttr[6].sValue);
}
char szItemQuery[QUERY_MAX_LEN + QUERY_MAX_LEN];
snprintf(szItemQuery, sizeof(szItemQuery), "REPLACE INTO item%s (%s) VALUES(%s)", GetTablePostfix(), szColumns, szValues);
if (g_test_server)
sys_log(0, "ItemCache::Flush :REPLACE (%s)", szItemQuery);
CDBManager::instance().ReturnQuery(szItemQuery, QID_ITEM_SAVE, 0, NULL);
//g_item_info.Add(p->vnum);
++g_item_count;
}
m_bNeedQuery = false;
}
Açılır ClientManager.cpp
öncelikle şu kod aratılır
Kod:
dwSocket2
Kod:
dwSocket5
Kod:
socket0, socket1, socket2,
Kod:
socket0, socket1, socket2, socket3, socket4, socket5
aratılır
Kod:
socket0, socket1, socket2
Kod:
socket0, socket1, socket2, socket3, socket4, socket5
arat
Kod:
"VALUES(%u, %u, '%s', %d, %u, %u, %u, %u, %u)",
Kod:
"VALUES(%u, %u, '%s', %d, %u, %u, %u, %u, %u, %u, %u, %u)",
Kod:
pItemAward->dwVnum, pItemAward->dwCount, pItemAward->dwSocket0, pItemAward->dwSocket1, dwSocket2);
Kod:
pItemAward->dwVnum, pItemAward->dwCount, pItemAward->dwSocket0, pItemAward->dwSocket1, pItemAward->dwSocket2, pItemAward->dwSocket3, pItemAward->dwSocket4, dwSocket5);
Kod:
item.alSockets[2] = pItemAward->dwSocket2;
Kod:
item.alSockets[3] = pItemAward->dwSocket3;
Kod:
item.alSockets[4] = pItemAward->dwSocket4;
item.alSockets[5] = dwSocket5;
Kod:
"REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, "
Kod:
"REPLACE INTO item%s (id, owner_id, window, pos, count, vnum, socket0, socket1, socket2, socket3, socket4, socket5, "
Kod:
"VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",
Kod:
"VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",

arat
Kod:
p->alSockets[2],
Kod:
p->alSockets[3],
Kod:
p->alSockets[4],
p->alSockets[5],
aratılır
Kod:
str_to_number(item.alSockets[2], row[cur++]);
Kod:
str_to_number(item.alSockets[3], row[cur++]);
Kod:
str_to_number(item.alSockets[4], row[cur++]);
str_to_number(item.alSockets[5], row[cur++]);
Kod:
socket0,socket1,socket2,
Kod:
socket3,socket4,socket5,
açılır ItemAwardManager.cpp
aratılır
Kod:
socket0,socket1,socket2
Kod:
socket3,socket4,socket5
Kod:
str_to_number(kData->dwSocket2, row[col++]);
Kod:
str_to_number(kData->dwSocket3, row[col++]);
str_to_number(kData->dwSocket4, row[col++]);
str_to_number(kData->dwSocket5, row[col++]);
aratılır
Kod:
DWORD dwSocket2;
Kod:
DWORD dwSocket3;
DWORD dwSocket4;
DWORD dwSocket5;
common/item_lengt.h
açılır ve aratılır
item_socket_max_num
6 yapılır
Client/gametype.h
arat
ITEM_SOCKET_SLOT_MAX_NUM arat 3 ü 6 yap
Game/src/constants.cpp
aratılır
3, // WEAPON_SWORD,
WEAPON_DAGGER
WEAPON_BOW
WEAPON_TWO_HANDED
WEAPON_BELL
WEAPON_FAN
ARMOR_BODY
bunların yanındaki "3" Sayısı 6 olarak değiştirilir.
şimdi item proto'ya geçelim çoğu kişi yanlış anlatıyor sadece MySQL item_protoda örnek veriyorum runik kılıcı +9
6 taş yapacağınız itemlerin en sonuna gidin sağ tarafına orda socket_pct var o 3 tür onu 6 yapalım işlem bu kadar
NOT: Python item_proto ellemeyin yani ordaki socket_pct ellemeyin eğer orayla oynarsanız o itemin parlaması gidecektir!
Skype;mimikkral001
Yapamayan Herkese Yardımcı Olurum Yeterki Boş boş konuşmayın.
Kanıt ;
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Dipnot:Bu sistemi Kimseden alıntı yapmadım hiç bir forumdan ben ürettim diye bir şeyde demiyorum tamamen kendi mantığımla yaptım.
İtem Yansıtma Problemi fixi aşşağıda

root/uitooltip.py
arat değiştir
Kod:
def SetHyperlinkItem(self, tokens):
minTokenCount = 3 + player.METIN_SOCKET_MAX_NUM
maxTokenCount = minTokenCount + 2 * player.ATTRIBUTE_SLOT_MAX_NUM
if tokens and len(tokens) >= minTokenCount and len(tokens) <= maxTokenCount:
head, vnum, flag = tokens[:3]
itemVnum = int(vnum, 16)
metinSlot = [int(metin, 16) for metin in tokens[3:9]]
rests = tokens[9:]
if rests:
attrSlot = []
rests.reverse()
while rests:
key = int(rests.pop(), 16)
if rests:
val = int(rests.pop())
attrSlot.append((key, val))
attrSlot += [(0, 0)] * (player.ATTRIBUTE_SLOT_MAX_NUM - len(attrSlot))
else:
attrSlot = [(0, 0)] * player.ATTRIBUTE_SLOT_MAX_NUM
self.ClearToolTip()
self.AddItemData(itemVnum, metinSlot, attrSlot)
ItemToolTip.OnUpdate(self)
pythonchatmodule.cpp
açılır
//////////////////////////
PyObject * chatGetLinkFromHyperlink(PyObject * poSelf, PyObject * poArgs)
arat
Kod:
PyObject * chatGetLinkFromHyperlink(PyObject * poSelf, PyObject * poArgs)
Kod:
{
char * szHyperlink;
if (!PyTuple_GetString(poArgs, 0, &szHyperlink))
return Py_BuildException();
std::string stHyperlink(szHyperlink);
std::vector<std::string> results;
split_string(stHyperlink, ":", results, false);
// item:vnum:flag:socket0:socket1:socket2:socket3:socket4:socket5
if (0 == results[0].compare("item"))
{
if (results.size() < 9)
return Py_BuildValue("s", "");
CItemData * pItemData = NULL;
if (CItemManager::Instance().GetItemDataPointer(htoi(results[1].c_str()), &pItemData))
{
char buf[1024] = { 0 };
char itemlink[256];
int len;
bool isAttr = false;
len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%x:%x:%x",
htoi(results[1].c_str()),
htoi(results[2].c_str()),
htoi(results[3].c_str()),
htoi(results[4].c_str()),
htoi(results[5].c_str()),
htoi(results[6].c_str()),
htoi(results[7].c_str()),
htoi(results[8].c_str()));
if (results.size() >= 11)
{
for (int i = 9; i < results.size(); i += 2)
{
len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
htoi(results[i].c_str()),
atoi(results[i+1].c_str()));
isAttr = true;
}
}
if (isAttr)
//"item:¹øÈ£:Ç÷¡±×:¼ÒÄÏ0:¼ÒÄÏ1:¼ÒÄÏ2"
snprintf(buf, sizeof(buf), "|cffffc700|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
else
snprintf(buf, sizeof(buf), "|cfff1e6c0|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
return Py_BuildValue("s", buf);
}
}
return Py_BuildValue("s", "");
}
değiştir.
///////////////////////////////////////////////////////////////////
pythonplayermodule.cpp
arat
Kod:
PyObject * playerGetItemLink(PyObject * poSelf, PyObject * poArgs)
///////////////////////////
[CODE]PyObject * playerGetItemLink(PyObject * poSelf, PyObject * poArgs)
Kod:
{
TItemPos Cell;
switch (PyTuple_Size(poArgs))
{
case 1:
if (!PyTuple_GetInteger(poArgs, 0, &Cell.cell))
return Py_BuildException();
break;
case 2:
if (!PyTuple_GetByte(poArgs, 0, &Cell.window_type))
return Py_BuildException();
if (!PyTuple_GetInteger(poArgs, 1, &Cell.cell))
return Py_BuildException();
break;
default:
return Py_BuildException();
}
const TItemData * pPlayerItem = CPythonPlayer::Instance().GetItemData(Cell);
CItemData * pItemData = NULL;
char buf[1024];
if (pPlayerItem && CItemManager::Instance().GetItemDataPointer(pPlayerItem->vnum, &pItemData))
{
char itemlink[256];
int len;
bool isAttr = false;
len = snprintf(itemlink, sizeof(itemlink), "item:%x:%x:%x:%x:%x:%x:%x:%x",
pPlayerItem->vnum, pPlayerItem->flags,
pPlayerItem->alSockets[0], pPlayerItem->alSockets[1], pPlayerItem->alSockets[2] , pPlayerItem->alSockets[3], pPlayerItem->alSockets[4], pPlayerItem->alSockets[5]);
for (int i = 0; i < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++i)
if (pPlayerItem->aAttr[i].bType != 0)
{
len += snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",
pPlayerItem->aAttr[i].bType, pPlayerItem->aAttr[i].sValue);
isAttr = true;
}
if( GetDefaultCodePage() == CP_ARABIC ) {
if (isAttr)
//"item:¹øÈ£:Ç÷¡±×:¼ÒÄÏ0:¼ÒÄÏ1:¼ÒÄÏ2"
snprintf(buf, sizeof(buf), " |h|r[%s]|cffffc700|H%s|h", pItemData->GetName(), itemlink);
else
snprintf(buf, sizeof(buf), " |h|r[%s]|cfff1e6c0|H%s|h", pItemData->GetName(), itemlink);
} else {
if (isAttr)
//"item:¹øÈ£:Ç÷¡±×:¼ÒÄÏ0:¼ÒÄÏ1:¼ÒÄÏ2"
snprintf(buf, sizeof(buf), "|cffffc700|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
else
snprintf(buf, sizeof(buf), "|cfff1e6c0|H%s|h[%s]|h|r", itemlink, pItemData->GetName());
}
}
else
buf[0] = '\0';
return Py_BuildValue("s", buf);
}[/FONT]
değiştir.
Teşekkürler
Not bir kaç gün içerisinde binek bugunun çözümünü paylaşacağım
Keyifli Forumlar...
Moderatör tarafında düzenlendi:
En Çok Reaksiyon Alan Mesajlar
Güzel bir paylaşım olmuş elinize sağlık.
item award'a socket3 ekleSYSERR: Jul 3 23:27:21 :: ChildLoop: AsyncSQL: query failed: Unknown column 'socket3' in 'field list' (query: SELECT id,login,vnum,count,socket0,socket1,socket2,socket3,socket4,socket5,mall,why FROM item_award WHERE taken_time IS NULL and id > 0 errno: 1054)
SYSERR: Jul 3 23:27:26 :: ChildLoop: AsyncSQL: query failed: Unknown column 'socket3' in 'field list' (query: SELECT id,login,vnum,count,socket0,socket1,socket2,socket3,socket4,socket5,mall,why FROM item_award WHERE taken_time IS NULL and id > 0 errno: 1054)
SYSERR: Jul 3 23:27:31 :: ChildLoop: AsyncSQL: query failed: Unknown column 'socket3' in 'field list' (query: SELECT id,login,vnum,count,socket0,socket1,socket2,socket3,socket4,socket5,mall,why FROM item_award WHERE taken_time IS NULL and id > 0 errno: 1054)
SYSERR: Jul 3 23:27:36 :: ChildLoop: AsyncSQL: query failed: Unknown column 'socket3' in 'field list' (query: SELECT id,login,vnum,count,socket0,socket1,socket2,socket3,socket4,socket5,mall,why FROM item_award WHERE taken_time IS NULL and id > 0 errno: 1054)
bkz:
1-tabloyu masa üstüne çıkar (tablo sağ tık yapıp dump)
2-çıkardığın tabloya sağ tık
3-socket2 altına yeni bir socket tanımı (socket3) (6 taş eklemişsin socket5'e kadar yap)
bkz:
socket0
socket1
socket2
socket3
socket4
socket5
4-kaydedip navicat alakalı bölüme okutulur
iyi forumlar k.g.
- Katılım
- 22 Ocak 2015
- Konular
- 4,152
- Mesajlar
- 12,387
- Online süresi
- 1m 12s
- Reaksiyon Skoru
- 1,516
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 4 Ay 26 Gün
- Başarım Puanı
- 373
- Yaş
- 35
- MmoLira
- -17
- DevLira
- 0
Güzel bir paylaşım olmuş elinize sağlık.
- Katılım
- 23 Mar 2015
- Konular
- 32
- Mesajlar
- 572
- Reaksiyon Skoru
- 65
- Altın Konu
- 0
- TM Yaşı
- 11 Yıl 2 Ay 26 Gün
- Başarım Puanı
- 68
- MmoLira
- -2
- DevLira
- 0
Teşekkürler Pelin HanımGüzel bir paylaşım olmuş elinize sağlık.

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 4
- Görüntüleme
- 268
- Cevaplar
- 11
- Görüntüleme
- 525
- Cevaplar
- 3
- Görüntüleme
- 163
- Cevaplar
- 14
- Görüntüleme
- 629


