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

Altın Konu Normal Ya Da Rare Efsun Sayısını Arttırma

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

hepinize selamlar arkadaşlar bugün @BekirAKDEMIR'inde katkılarıyla tamamladığım sistem demeyelimde konuyu paylaşıcam daha önce hiç bir forumda görmedim bunu bi neno rare vardı ama o çalışıyor mu emin değilim her neyse uzatmadan konuya geçelim.

öncelikle game sourcemizi açalım ve aşağıdakilere uyalım

açılır constants.cpp
bulunur

[CODE title="constants.cpp"]const int aiItemAttributeAddPercent[ITEM_ATTRIBUTE_MAX_NUM] =[/CODE]

değiştirilir

[CODE title="değişicek olan aşağıdaki sayılardır yanlış bişey değiştirmeyelim"] 100, 100, 100, 100, 100, 100, 100, 100, [/CODE]

sayıların 100 olma sebebi arttırma kağıdının hangi oranla efsunu ekleyeceğinden kaynaklı değiştirebilirsiniz size kalmış.

açılır char_item.cpp
bulunur

[CODE title="char_item.cpp"]if (item2->GetAttributeCount() < 4)[/CODE]
bunu bulamayanlar 5 olarak aratsınlar

değiştirilir

[CODE title="char_item.cpp"]if (item2->GetAttributeCount() < 6)[/CODE]

bu sizin normal efsun sayınıza göre değişir ve kutsama küresi olmadan ekler eğer kutsama küresi ile ekletmek istiyorsanız iş değişir (yıl olmuş 2020 kutsama küresi kullanan var mı onuda tartışmak lazım)

açılır item.h
bulunur

[CODE title="item.h"]void PutAttributeWithLevel(BYTE bLevel);[/CODE]

altına iki satır boşluk bırakılıp eklenir

[CODE title="item.h"] public:
void AddRareAttribute2(const int * aiAttrPercentTable = NULL);
protected:
void AddRareAttr(BYTE bApply, BYTE bLevel);
void PutRareAttribute(const int * aiAttrPercentTable);
void PutRareAttributeWithLevel(BYTE bLevel);[/CODE]

açılır item_attribute.cpp
bulunur

[CODE title="item_attribute.cpp"]int CItem::GetRareAttrCount()[/CODE]

komple değiştirilir

[CODE title="item_attribute.cpp"]int CItem::GetRareAttrCount()
{
int ret = 0;

for (DWORD dwIdx = ITEM_ATTRIBUTE_RARE_START; dwIdx < ITEM_ATTRIBUTE_RARE_END; dwIdx++)
{
if (m_aAttr[dwIdx].bType != 0)
ret++;
}

return ret;
}[/CODE]

yine aynı dosyada bulunur

[CODE title="item_attribute.cpp"] m_aAttr[i + 5].bType = 0;
m_aAttr[i + 5].sValue = 0;[/CODE]

ikiside değiştirilir

[CODE title="item_attribute.cpp"] m_aAttr[i + ITEM_ATTRIBUTE_RARE_START].bType = 0;
m_aAttr[i + ITEM_ATTRIBUTE_RARE_START].sValue = 0;[/CODE]

aranır

[CODE title="item_attribute.cpp"]if (count >= 2)[/CODE]

değiştirilir

[CODE title="item_attribute.cpp"]if (count >= ITEM_ATTRIBUTE_RARE_NUM)[/CODE]

aranır

[CODE title="item_attribute.cpp"]int pos = count + 5;[/CODE]

değiştirilir

[CODE title="item_attribute.cpp"]int pos = count + ITEM_ATTRIBUTE_RARE_START;[/CODE]

cpp nin en altına eklenir

[CODE title="item_attribute.cpp"]void CItem::AddRareAttribute2(const int * aiAttrPercentTable)
{
static const int aiItemAddAttributePercent[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
40, 50, 10, 0, 0
};
if (aiAttrPercentTable == NULL)
aiAttrPercentTable = aiItemAddAttributePercent;

if (GetRareAttrCount() < MAX_RARE_ATTR_NUM)
PutRareAttribute(aiAttrPercentTable);
}

void CItem::PutRareAttribute(const int * aiAttrPercentTable)
{
int iAttrLevelPercent = number(1, 100);
int i;

for (i = 0; i < ITEM_ATTRIBUTE_MAX_LEVEL; ++i)
{
if (iAttrLevelPercent <= aiAttrPercentTable)
break;

iAttrLevelPercent -= aiAttrPercentTable;
}

PutRareAttributeWithLevel(i + 1);
}

void CItem::PutRareAttributeWithLevel(BYTE bLevel)
{
int iAttributeSet = GetAttributeSetIndex();
if (iAttributeSet < 0)
return;

if (bLevel > ITEM_ATTRIBUTE_MAX_LEVEL)
return;

std::vector<int> avail;

int total = 0;

// ºÙÀÏ ¼ö ÀÖ´Â ¼Ó¼º ¹è¿À» ±¸Ãà
for (int i = 0; i < MAX_APPLY_NUM; ++i)
{
const TItemAttrTable & r = g_map_itemRare;

if (r.bMaxLevelBySet[iAttributeSet] && !HasRareAttr(i))
{
avail.push_back(i);
total += r.dwProb;
}
}

// ±¸ÃàµÈ ¹è¿·Î È®·ü °è»êÀ» ÅëÇØ ºÙÀÏ ¼Ó¼º ¼±Á¤
unsigned int prob = number(1, total);
int attr_idx = APPLY_NONE;

for (DWORD i = 0; i < avail.size(); ++i)
{
const TItemAttrTable & r = g_map_itemRare[avail];

if (prob <= r.dwProb)
{
attr_idx = avail;
break;
}

prob -= r.dwProb;
}

if (!attr_idx)
{
sys_err("Cannot put item rare attribute %d %d", iAttributeSet, bLevel);
return;
}

const TItemAttrTable & r = g_map_itemRare[attr_idx];

// Á¾·ùº° ¼Ó¼º ·¹º§ ÃÖ´ë°ª Á¦ÇÑ
if (bLevel > r.bMaxLevelBySet[iAttributeSet])
bLevel = r.bMaxLevelBySet[iAttributeSet];

AddRareAttr(attr_idx, bLevel);
}

void CItem::AddRareAttr(BYTE bApply, BYTE bLevel)
{
if (HasRareAttr(bApply))
return;

if (bLevel <= 0)
return;

int i = ITEM_ATTRIBUTE_RARE_START + GetRareAttrCount();

if (i == ITEM_ATTRIBUTE_RARE_END)
sys_err("item rare attribute overflow!");
else
{
const TItemAttrTable & r = g_map_itemRare[bApply];
long lVal = r.lValues[MIN(4, bLevel - 1)];

if (lVal)
SetForceAttribute(i, bApply, lVal);
}
}[/CODE]

item_manager.h açılır
aranır

[CODE title="item_manager.h"] const static int MAX_NORM_ATTR_NUM = 5;
const static int MAX_RARE_ATTR_NUM = 2;[/CODE]

değiştirilir

[CODE title="item_manager.h"] const static int MAX_NORM_ATTR_NUM = ITEM_ATTRIBUTE_NORM_NUM;
const static int MAX_RARE_ATTR_NUM = ITEM_ATTRIBUTE_RARE_NUM;[/CODE]

game ile işimiz bu kadar şimdi dbye geçelim

db/src cache.cpp açılır
aranır

Kod:
if (isAttr)

komple değişilir

[CODE title="cache.cpp"]if (isAttr)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen,
", attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3"
", attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, attrtype7, attrvalue7");

iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %d, %d, %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,
p->aAttr[7].bType, p->aAttr[7].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"
", attrtype7=%d, attrvalue7=%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,
p->aAttr[7].bType, p->aAttr[7].sValue);
}[/CODE]

clientmanager.cpp açılır
aranır

[CODE title="clientmanager.cpp"]"attrtype6, attrvalue6 "[/CODE]

değiştirilir

[CODE title="clientmanager.cpp"]"attrtype6, attrvalue6, "
"attrtype7, attrvalue7 "[/CODE]

aranır

[CODE title="clientmanager.cpp"] "attrtype6, attrvalue6) "
"VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",[/CODE]

değiştirilir

[CODE title="clientmanager.cpp"] "attrtype6, attrvalue6, "
"attrtype7, attrvalue7) "
"VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",[/CODE]

aranır

[CODE title="clientmanager.cpp"]p->aAttr[6].bType, p->aAttr[6].sValue);[/CODE]

değiştirilir

[CODE title="clientmanager.cpp"]p->aAttr[6].bType, p->aAttr[6].sValue,
p->aAttr[7].bType, p->aAttr[7].sValue);[/CODE]

clientmanagerplayer.cpp açılır
aranır

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 "

değiştirilir

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,attrtype7,attrvalue7 "

aranır

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 "

değiştirilir

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,attrtype7,attrvalue7 "

common item_lenght.h açılır
aranır

Kod:
ITEM_ATTRIBUTE_MAX_NUM        = 7,

değiştirilir

Kod:
    ITEM_ATTRIBUTE_NORM_NUM        = 6,
    ITEM_ATTRIBUTE_RARE_NUM        = 2,

    ITEM_ATTRIBUTE_NORM_START    = 0,
    ITEM_ATTRIBUTE_NORM_END        = ITEM_ATTRIBUTE_NORM_START + ITEM_ATTRIBUTE_NORM_NUM,

    ITEM_ATTRIBUTE_RARE_START    = ITEM_ATTRIBUTE_NORM_END,
    ITEM_ATTRIBUTE_RARE_END        = ITEM_ATTRIBUTE_RARE_START + ITEM_ATTRIBUTE_RARE_NUM,

    ITEM_ATTRIBUTE_MAX_NUM        = ITEM_ATTRIBUTE_RARE_END, // 8

client source userinterface/gametype.h açılır
aranır

Kod:
ITEM_ATTRIBUTE_SLOT_MAX_NUM

değiştirilir

Kod:
ITEM_ATTRIBUTE_SLOT_MAX_NUM = 8,

navicat item.sql tablosuna eklenir

Kod:
  `attrtype7` tinyint(4) NOT NULL DEFAULT 0,
  `attrvalue7` smallint(6) NOT NULL DEFAULT 0,

kanıt olarak

0807_115906.jpg


fileste rare efsunları ekli değildi o yüzden rare efsunlarıyla beraber çekemedim fakat gördüğünüz gibi 6 efsun sorunsuz çalışıyor rebootta kaybolma gibi sorunu yoktur herkese iyi forumlar.
received_4112487515488356.jpeg


daha önceden rare efsunlarıyla yaptığım kanıt

Laleci16 Kanıt

28924_db06aa9b4c83348a334676c43e8a210b.png
 

Ekli dosyalar

  • 28924_db06aa9b4c83348a334676c43e8a210b.png
    28924_db06aa9b4c83348a334676c43e8a210b.png
    1.7 MB · Görüntüleme: 0
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

hepinize selamlar arkadaşlar bugün @BekirAKDEMIR'inde katkılarıyla tamamladığım sistem demeyelimde konuyu paylaşıcam daha önce hiç bir forumda görmedim bunu bi neno rare vardı ama o çalışıyor mu emin değilim her neyse uzatmadan konuya geçelim.

öncelikle game sourcemizi açalım ve aşağıdakilere uyalım

açılır constants.cpp
bulunur

[CODE title="constants.cpp"]const int aiItemAttributeAddPercent[ITEM_ATTRIBUTE_MAX_NUM] =[/CODE]

değiştirilir

[CODE title="değişicek olan aşağıdaki sayılardır yanlış bişey değiştirmeyelim"] 100, 100, 100, 100, 100, 100, 100, 100, [/CODE]

sayıların 100 olma sebebi arttırma kağıdının hangi oranla efsunu ekleyeceğinden kaynaklı değiştirebilirsiniz size kalmış.

açılır char_item.cpp
bulunur

[CODE title="char_item.cpp"]if (item2->GetAttributeCount() < 4)[/CODE]
bunu bulamayanlar 5 olarak aratsınlar

değiştirilir

[CODE title="char_item.cpp"]if (item2->GetAttributeCount() < 6)[/CODE]

bu sizin normal efsun sayınıza göre değişir ve kutsama küresi olmadan ekler eğer kutsama küresi ile ekletmek istiyorsanız iş değişir (yıl olmuş 2020 kutsama küresi kullanan var mı onuda tartışmak lazım)

açılır item.h
bulunur

[CODE title="item.h"]void PutAttributeWithLevel(BYTE bLevel);[/CODE]

altına iki satır boşluk bırakılıp eklenir

[CODE title="item.h"] public:
void AddRareAttribute2(const int * aiAttrPercentTable = NULL);
protected:
void AddRareAttr(BYTE bApply, BYTE bLevel);
void PutRareAttribute(const int * aiAttrPercentTable);
void PutRareAttributeWithLevel(BYTE bLevel);[/CODE]

açılır item_attribute.cpp
bulunur

[CODE title="item_attribute.cpp"]int CItem::GetRareAttrCount()[/CODE]

komple değiştirilir

[CODE title="item_attribute.cpp"]int CItem::GetRareAttrCount()
{
int ret = 0;

for (DWORD dwIdx = ITEM_ATTRIBUTE_RARE_START; dwIdx < ITEM_ATTRIBUTE_RARE_END; dwIdx++)
{
if (m_aAttr[dwIdx].bType != 0)
ret++;
}

return ret;
}[/CODE]

yine aynı dosyada bulunur

[CODE title="item_attribute.cpp"] m_aAttr[i + 5].bType = 0;
m_aAttr[i + 5].sValue = 0;[/CODE]

ikiside değiştirilir

[CODE title="item_attribute.cpp"] m_aAttr[i + ITEM_ATTRIBUTE_RARE_START].bType = 0;
m_aAttr[i + ITEM_ATTRIBUTE_RARE_START].sValue = 0;[/CODE]

aranır

[CODE title="item_attribute.cpp"]if (count >= 2)[/CODE]

değiştirilir

[CODE title="item_attribute.cpp"]if (count >= ITEM_ATTRIBUTE_RARE_NUM)[/CODE]

aranır

[CODE title="item_attribute.cpp"]int pos = count + 5;[/CODE]

değiştirilir

[CODE title="item_attribute.cpp"]int pos = count + ITEM_ATTRIBUTE_RARE_START;[/CODE]

cpp nin en altına eklenir

[CODE title="item_attribute.cpp"]void CItem::AddRareAttribute2(const int * aiAttrPercentTable)
{
static const int aiItemAddAttributePercent[ITEM_ATTRIBUTE_MAX_LEVEL] =
{
40, 50, 10, 0, 0
};
if (aiAttrPercentTable == NULL)
aiAttrPercentTable = aiItemAddAttributePercent;

if (GetRareAttrCount() < MAX_RARE_ATTR_NUM)
PutRareAttribute(aiAttrPercentTable);
}

void CItem::PutRareAttribute(const int * aiAttrPercentTable)
{
int iAttrLevelPercent = number(1, 100);
int i;

for (i = 0; i < ITEM_ATTRIBUTE_MAX_LEVEL; ++i)
{
if (iAttrLevelPercent <= aiAttrPercentTable)
break;

iAttrLevelPercent -= aiAttrPercentTable;
}

PutRareAttributeWithLevel(i + 1);
}

void CItem::PutRareAttributeWithLevel(BYTE bLevel)
{
int iAttributeSet = GetAttributeSetIndex();
if (iAttributeSet < 0)
return;

if (bLevel > ITEM_ATTRIBUTE_MAX_LEVEL)
return;

std::vector<int> avail;

int total = 0;

// ºÙÀÏ ¼ö ÀÖ´Â ¼Ó¼º ¹è¿À» ±¸Ãà
for (int i = 0; i < MAX_APPLY_NUM; ++i)
{
const TItemAttrTable & r = g_map_itemRare;

if (r.bMaxLevelBySet[iAttributeSet] && !HasRareAttr(i))
{
avail.push_back(i);
total += r.dwProb;
}
}

// ±¸ÃàµÈ ¹è¿·Î È®·ü °è»êÀ» ÅëÇØ ºÙÀÏ ¼Ó¼º ¼±Á¤
unsigned int prob = number(1, total);
int attr_idx = APPLY_NONE;

for (DWORD i = 0; i < avail.size(); ++i)
{
const TItemAttrTable & r = g_map_itemRare[avail];

if (prob <= r.dwProb)
{
attr_idx = avail;
break;
}

prob -= r.dwProb;
}

if (!attr_idx)
{
sys_err("Cannot put item rare attribute %d %d", iAttributeSet, bLevel);
return;
}

const TItemAttrTable & r = g_map_itemRare[attr_idx];

// Á¾·ùº° ¼Ó¼º ·¹º§ ÃÖ´ë°ª Á¦ÇÑ
if (bLevel > r.bMaxLevelBySet[iAttributeSet])
bLevel = r.bMaxLevelBySet[iAttributeSet];

AddRareAttr(attr_idx, bLevel);
}

void CItem::AddRareAttr(BYTE bApply, BYTE bLevel)
{
if (HasRareAttr(bApply))
return;

if (bLevel <= 0)
return;

int i = ITEM_ATTRIBUTE_RARE_START + GetRareAttrCount();

if (i == ITEM_ATTRIBUTE_RARE_END)
sys_err("item rare attribute overflow!");
else
{
const TItemAttrTable & r = g_map_itemRare[bApply];
long lVal = r.lValues[MIN(4, bLevel - 1)];

if (lVal)
SetForceAttribute(i, bApply, lVal);
}
}[/CODE]

item_manager.h açılır
aranır

[CODE title="item_manager.h"] const static int MAX_NORM_ATTR_NUM = 5;
const static int MAX_RARE_ATTR_NUM = 2;[/CODE]

değiştirilir

[CODE title="item_manager.h"] const static int MAX_NORM_ATTR_NUM = ITEM_ATTRIBUTE_NORM_NUM;
const static int MAX_RARE_ATTR_NUM = ITEM_ATTRIBUTE_RARE_NUM;[/CODE]

game ile işimiz bu kadar şimdi dbye geçelim

db/src cache.cpp açılır
aranır

Kod:
if (isAttr)

komple değişilir

[CODE title="cache.cpp"]if (isAttr)
{
iLen += snprintf(szColumns + iLen, sizeof(szColumns) - iLen,
", attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3"
", attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, attrtype7, attrvalue7");

iValueLen += snprintf(szValues + iValueLen, sizeof(szValues) - iValueLen,
", %d, %d, %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,
p->aAttr[7].bType, p->aAttr[7].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"
", attrtype7=%d, attrvalue7=%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,
p->aAttr[7].bType, p->aAttr[7].sValue);
}[/CODE]

clientmanager.cpp açılır
aranır

[CODE title="clientmanager.cpp"]"attrtype6, attrvalue6 "[/CODE]

değiştirilir

[CODE title="clientmanager.cpp"]"attrtype6, attrvalue6, "
"attrtype7, attrvalue7 "[/CODE]

aranır

[CODE title="clientmanager.cpp"] "attrtype6, attrvalue6) "
"VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",[/CODE]

değiştirilir

[CODE title="clientmanager.cpp"] "attrtype6, attrvalue6, "
"attrtype7, attrvalue7) "
"VALUES(%u, %u, %d, %d, %u, %u, %ld, %ld, %ld, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)",[/CODE]

aranır

[CODE title="clientmanager.cpp"]p->aAttr[6].bType, p->aAttr[6].sValue);[/CODE]

değiştirilir

[CODE title="clientmanager.cpp"]p->aAttr[6].bType, p->aAttr[6].sValue,
p->aAttr[7].bType, p->aAttr[7].sValue);[/CODE]

clientmanagerplayer.cpp açılır
aranır

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 "

değiştirilir

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,attrtype7,attrvalue7 "

aranır

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6 "

değiştirilir

Kod:
attrtype0,attrvalue0,attrtype1,attrvalue1,attrtype2,attrvalue2,attrtype3,attrvalue3,attrtype4,attrvalue4,attrtype5,attrvalue5,attrtype6,attrvalue6,attrtype7,attrvalue7 "

common item_lenght.h açılır
aranır

Kod:
ITEM_ATTRIBUTE_MAX_NUM        = 7,

değiştirilir

Kod:
    ITEM_ATTRIBUTE_NORM_NUM        = 6,
    ITEM_ATTRIBUTE_RARE_NUM        = 2,

    ITEM_ATTRIBUTE_NORM_START    = 0,
    ITEM_ATTRIBUTE_NORM_END        = ITEM_ATTRIBUTE_NORM_START + ITEM_ATTRIBUTE_NORM_NUM,

    ITEM_ATTRIBUTE_RARE_START    = ITEM_ATTRIBUTE_NORM_END,
    ITEM_ATTRIBUTE_RARE_END        = ITEM_ATTRIBUTE_RARE_START + ITEM_ATTRIBUTE_RARE_NUM,

    ITEM_ATTRIBUTE_MAX_NUM        = ITEM_ATTRIBUTE_RARE_END, // 8

client source userinterface/gametype.h açılır
aranır

Kod:
ITEM_ATTRIBUTE_SLOT_MAX_NUM

değiştirilir

Kod:
ITEM_ATTRIBUTE_SLOT_MAX_NUM = 8,

navicat item.sql tablosuna eklenir

Kod:
  `attrtype7` tinyint(4) NOT NULL DEFAULT 0,
  `attrvalue7` smallint(6) NOT NULL DEFAULT 0,

kanıt olarak

Ekli dosyayı görüntüle 28509

fileste rare efsunları ekli değildi o yüzden rare efsunlarıyla beraber çekemedim fakat gördüğünüz gibi 6 efsun sorunsuz çalışıyor rebootta kaybolma gibi sorunu yoktur herkese iyi forumlar.Ekli dosyayı görüntüle 28529

daha önceden rare efsunlarıyla yaptığım kanıt


Arayanlar vardı eline sağlık paylaşım için teşekkürler.
 

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

Geri
Üst