Acesta este item_proto client:
<ItemDef Vnum="71052" Name="Vrajeste Obiectul 6/7" LocalizedName="Vrajeste Obiectul 6/7" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="33152" Flags="24576" WearFlags="0" ImmuneFlags="0" Gold="1000000" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0" />
<ItemDef Vnum="71051" Name="Intarirea Obiectului 6/7" LocalizedName="Intarirea Obiectului 6/7" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="33152" Flags="24576" WearFlags="0" ImmuneFlags="0" Gold="1000000" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0" />
Depinde acum cu ce lucrati: item_proto.txt sau item_proto.sql
Pentru item_proto.txt:
1) Adaugati aceste 2 linii, jos de tot in item_proto.txt (locatie: /usr/game/server/db_auth/db)
COD: SELECTAŢI TOT
71052 Vrajeste Obiectul 6/7 ITEM_USE USE_SPECIAL 1 ANTI_STACK | ANTI_SELL | ANTI_DROP STACKABLE | LOG NONE NONE 1000000 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
71051 Intarirea Obiectului 6/7 ITEM_USE USE_SPECIAL 1 ANTI_STACK | ANTI_SELL | ANTI_DROP STACKABLE | LOG NONE NONE 1000000 0 0 0 0 LIMIT_NONE 0 LIMIT_NONE 0 APPLY_NONE 0 APPLY_NONE 0 APPLY_NONE 0 0 0 0 0 0 0 0 0 0
2) Adaugati aceste 2 linii, jos de tot in item_names.txt (locatie: /usr/game/server/db_auth/db)
71052 Vrajeste Obiectul 6/7
71051 Intarirea Obiectului 6/7
3) Salvati cele 2 fisier tocmai editate (item_proto.txt si item_names.txt)
4) Le transformati in item_proto pentru client
5) Puneti item_proto in locale_ro/de client, impachetati si transpuneti locale_ro/de in folderul pack.
Pentru item_proto.sql:
1) Mergeti in Navicat->player->item_proto si folositi combinatia de taste: CTRL+Q
2) Introduceti aceste 2 linii:
INSERT INTO `item_proto` VALUES ('71051', 0xF2D8A1A4C0E7B0A1BAF1BCAD202020202020202020202020, 0xA873B7A5C4DDA9CAB06CA55BAFB5D3442020202020202020, '3', '10', '0', '1', '33152', '24576', '0', '', '3000000', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0');
INSERT INTO `item_proto` VALUES ('71052', 0xF2D8A1A4C0E7B0E6BAF1BCAD202020202020202020202020, 0xA873B7A5C4DDA9CAC2E0B4ABAFB5D3442020202020202020, '3', '10', '0', '1', '33152', '24576', '0', '', '500000', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '-1', '-1', '-1', '-1', '-1', '0', '0', '0');
3) CTRL + Q la item proto navicat
4) Apoi trebuie sa adaugati aceste 2 linii la sfarsit in item_proto client:
<ItemDef Vnum="71052" Name="Vrajeste Obiectul 6/7" LocalizedName="Vrajeste Obiectul 6/7" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="33152" Flags="24576" WearFlags="0" ImmuneFlags="0" Gold="1000000" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0" />
<ItemDef Vnum="71051" Name="Intarirea Obiectului 6/7" LocalizedName="Intarirea Obiectului 6/7" Type="3" SubType="10" Weight="0" Size="1" AntiFlags="33152" Flags="24576" WearFlags="0" ImmuneFlags="0" Gold="1000000" ShopBuyPrice="0" LimitType0="0" LimitValue0="0" LimitType1="0" LimitValue1="0" ApplyType0="0" ApplyValue0="0" ApplyType1="0" ApplyValue1="0" ApplyType2="0" ApplyValue2="0" Value0="0" Value1="0" Value2="0" Value3="0" Value4="0" Value5="0" Socket0="0" Socket1="0" Socket2="0" RefinedVnum="0" RefineSet="0" AlterToMagicItemPercent="0" Specular="0" GainSocketPercent="0" AddonType="0" />
Acum, partea de sursa.
1) Mergeti in /usr/src/nume_folder_care_contine_sursa/game/src
2) Cautati fisierul char_item.cpp
3) Cautati aceste 2 case-uri:
case 71051 : // 진재가
{
// 유럽, 싱가폴, 베트남 진재가 사용금지
// if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
// return false;
LPITEM item2;
if (!IsValidItemPosition(DestCell) || !(item2 = GetInventoryItem(wDestCell)))
return false;
if (item2->IsExchanging() == true)
return false;
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
return false;
}
if (item2->AddRareAttribute() == true)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("성공적으로 속성이 추가 되었습니다"));
int iAddedIdx = item2->GetRareAttrCount() + 4;
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
LogManager::instance().ItemLog(
GetPlayerID(),
item2->GetAttributeType(iAddedIdx),
item2->GetAttributeValue(iAddedIdx),
item->GetID(),
"ADD_RARE_ATTR",
buf,
GetDesc()->GetHostName(),
item->GetOriginalVnum());
item->SetCount(item->GetCount() - 1);
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("더 이상 이 아이템으로 속성을 추가할 수 없습니다"));
}
}
break;
case 71052 : // 진재경
{
// 유럽, 싱가폴, 베트남 진재가 사용금지
// if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
// return false;
LPITEM item2;
if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
return false;
if (item2->IsExchanging() == true)
return false;
if (item2->GetAttributeSetIndex() == -1)
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
return false;
}
if (item2->ChangeRareAttribute() == true)
{
char buf[21];
snprintf(buf, sizeof(buf), "%u", item2->GetID());
LogManager::instance().ItemLog(this, item, "CHANGE_RARE_ATTR", buf);
item->SetCount(item->GetCount() - 1);
}
else
{
ChatPacket(CHAT_TYPE_INFO, LC_TEXT("변경 시킬 속성이 없습니다"));
}
}
break;
4) Cautati aceste 2 linii la ambele case-uri, dupa care comentati-le
if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
return false;
5) Salvati, apoi compilati sursa game, inlocuiti game-ul nou cu game-ul vechi si acum totul ar trebuii sa mearga. La mine a functionat. Sper ca v-am fost de folos, a fost primul tutorial pe care l-am facut vreodata