Özel kostüm efsunlama

  • Konuyu açan Konuyu açan damador
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 17
  • Gösterim Gösterim 872

damador

MT Üye
MT Üye
Mesaj
175
Çözümler
9
Beğeni
69
Puan
489
Ticaret Puanı
0
Zenaris'ten sökülmüştür

Linkleri görebilmek için giriş yap veya kayıt ol.


İtem protodan efsunların özelliklerini değiştirebilirsiniz

Kostüm - Başlık - Silah olarak uyarlıdır

Linkleri görebilmek için giriş yap veya kayıt ol.



Kod:
Genişlet Daralt Kopyala
CommonDefines.h        Ekle

#define ENABLE_SPECIAL_COSTUME_ATTR                // Enchant for Costumes

-------------------------------------------------

length.h            Ekle

Arat
GOLD_MAX =

Altına ekle

#ifdef ENABLE_SPECIAL_COSTUME_ATTR
    SPECIAL_ATTR_COSTUME_BODY_LIMIT=5,
    SPECIAL_ATTR_COSTUME_HAIR_LIMIT=5,
    SPECIAL_ATTR_COSTUME_WEAPON_LIMIT=5,
#endif

-------------------------------------------------

char_item.cpp        Ekle

Arat    1
if (ITEM_COSTUME == item2->GetType())

Değiştir
#ifdef ENABLE_SPECIAL_COSTUME_ATTR
                            if ((ITEM_COSTUME == item2->GetType() && item->GetVnum() < 401001) || (ITEM_COSTUME == item2->GetType() && item->GetVnum() > 403019))
#else
                            if (ITEM_COSTUME == item2->GetType())
#endif

Arat    2
case USE_CHANGE_ATTRIBUTE :

Altına ekle

#ifdef ENABLE_SPECIAL_COSTUME_ATTR
                                    {
                                        const DWORD bonusItemVnum = item->GetVnum();
                                        bool itsCostumeAttr = (bonusItemVnum >= 401001 && bonusItemVnum <= 403019);

                                        // daca e ranfosare ?i nu poate bonusa costumele
                                        if ((itsCostumeAttr == true && !item2->CanBonusCostume()))
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't use on this item!"));
                                            return false;
                                        }

                                        // Remove last attr
                                        if (bonusItemVnum == 71304)
                                        {
                                            bool isChange = false;
                                            for (int j = MAX_NORM_ATTR_NUM - 1; j >= 0; --j)
                                            {
                                                if (item2->GetAttributeType(j) != APPLY_NONE)
                                                {
                                                    isChange = true;
                                                    item->SetCount(item->GetCount() - 1);
                                                    item2->SetForceAttribute(j, 0, 0);
                                                    break;
                                                }
                                            }
                                            if (isChange)
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Successfully removed last attr!"));
                                            else
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Dont have any attr in item!"));
                                            return true;
                                        }
                                        // Remove all attr
                                        else if (bonusItemVnum == 71305)
                                        {
                                            bool isChange = false;
                                            for (int j = 0; j < MAX_NORM_ATTR_NUM; ++j)
                                            {
                                                if (item2->GetAttributeType(j) != APPLY_NONE)
                                                {
                                                    isChange = true;
                                                    item2->SetForceAttribute(j, 0, 0);
                                                }
                                            }
                                            if (isChange)
                                            {
                                                item->SetCount(item->GetCount() - 1);
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Successfully removed all attr!"));
                                            }
                                            else
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Dont have any attr in item!"));
                                            return true;
                                        }
                                        // Boosters
                                        else if (bonusItemVnum >= 401001 && bonusItemVnum <= 403019)
                                        {
                                            const BYTE applyType = item->GetValue(0);
                                            const long applyValue = item->GetValue(1);
                                            if (applyType == APPLY_NONE)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, "Something wrong please contact with game master!");
                                                return false;
                                            }

                                            if (item2->FindApplyTypeQuest(0) > 0)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            if (item2->IsNormalHairStyle())
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }

                                            // skin inceput
                                            if (item2->GetVnum() >= 40143 && item2->GetVnum() <= 40148)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // skin gaya
                                            if (item2->GetVnum() >= 40129 && item2->GetVnum() <= 40141)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // costum inceput
                                            if (item2->GetVnum() >= 41726 && item2->GetVnum() <= 41728)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // freza inceput
                                            if (item2->GetVnum() >= 45412 && item2->GetVnum() <= 45414)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // costum gaya
                                            if (item2->GetVnum() >= 41775 && item2->GetVnum() <= 41777)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // freza gaya
                                            if (item2->GetVnum() >= 45511 && item2->GetVnum() <= 45513)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }
                                          

                                            if (item2->GetSubType() != COSTUME_BODY && item->GetVnum() >= 401001 && item->GetVnum() <= 401012)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }

                                            if (item2->GetSubType() != COSTUME_WEAPON && item->GetVnum() >= 402001 && item->GetVnum() <= 402021)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }


                                            if (item2->GetSubType() != COSTUME_HAIR && item->GetVnum() >= 403001 && item->GetVnum() <= 403019)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }

                                            const BYTE maxAttrCount = item2->GetSubType() == COSTUME_BODY ? SPECIAL_ATTR_COSTUME_BODY_LIMIT : (item2->GetSubType() == COSTUME_HAIR ? SPECIAL_ATTR_COSTUME_HAIR_LIMIT : (item2->GetSubType() == COSTUME_WEAPON ? SPECIAL_ATTR_COSTUME_WEAPON_LIMIT : 5));
                                            if (item2->GetAttributeCount() >= maxAttrCount)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item has max attr count!"));
                                                return false;
                                            }
                                            else if(item2->HasAttr(applyType))
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This affect already have in this item!"));
                                                return false;
                                            }
                                            item2->AddAttribute(applyType, applyValue);
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Successfully added!"));
                                            item->SetCount(item->GetCount() - 1);
                                            return true;
                                        }
                                        else
                                        {
                                            if (item2->GetAttributeSetIndex() == -1)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
                                                return false;
                                            }

                                            if (item2->GetAttributeCount() == 0)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("변경할 속성이 없습니다."));
                                                return false;
                                            }

                                            if ((GM_PLAYER == GetGMLevel()) && (false == test_server) && (g_dwItemBonusChangeTime > 0))
                                            {
                                                DWORD dwChangeItemAttrCycle = g_dwItemBonusChangeTime;

                                                quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());

                                                if (pPC)
                                                {
                                                    DWORD dwNowSec = get_global_time();

                                                    DWORD dwLastChangeItemAttrSec = pPC->GetFlag(msc_szLastChangeItemAttrFlag);

                                                    if (dwLastChangeItemAttrSec + dwChangeItemAttrCycle > dwNowSec)
                                                    {
                                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 바꾼지 %d분 이내에는 다시 변경할 수 없습니다.(%d 분 남음)"),
                                                                dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowSec - dwLastChangeItemAttrSec));
                                                        return false;
                                                    }

                                                    pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowSec);
                                                }
                                            }

                                            if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
                                            {
                                                int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                                {
                                                    0, 0, 30, 40, 3
                                                };

                                                item2->ChangeAttribute(aiChangeProb);
                                            }
                                            else if (item->GetVnum() == 76014)
                                            {
                                                int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                                {
                                                    0, 10, 50, 39, 1
                                                };

                                                item2->ChangeAttribute(aiChangeProb);
                                            }

                                            else
                                            {
                                                if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
                                                {
                                                    if ((item2->GetType() == ITEM_WEAPON)
                                                        || (item2->GetType() == ITEM_ARMOR))
                                                    {
                                                        bool bCanUse = true;
                                                        for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
                                                        {
                                                            if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
                                                            {
                                                                bCanUse = false;
                                                                break;
                                                            }
                                                        }
                                                        if (false == bCanUse)
                                                        {
                                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("적용 레벨보다 높아 사용이 불가능합니다."));
                                                            break;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기와 갑옷에만 사용 가능합니다."));
                                                        break;
                                                    }
                                                }
                                                item2->ChangeAttribute();
                                            }

                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경하였습니다."));

                                            item->SetCount(item->GetCount() - 1);
                                        }
                                    }
                                    break;
#endif

-------------------------------------------------
item.cpp        En alta ekle

long CItem::FindApplyValueQuest(BYTE type)
{
    if (m_pProto == NULL)
        return 0;

    if (type >= ITEM_APPLY_MAX_NUM)
        return 0;

    return m_pProto->aApplies[type].lValue;
}

BYTE CItem::FindApplyTypeQuest(BYTE type)
{
    if (m_pProto == NULL)
        return 0;

    if (type >= ITEM_APPLY_MAX_NUM)
        return 0;

    return m_pProto->aApplies[type].bType;
}

bool CItem::IsNormalHairStyle()
{
    switch (GetVnum())
    {
        case 73005:
        case 73006:
        case 73007:
        case 73008:
        case 73009:
        case 73010:
        case 73011:
        case 73012:
        case 73251:
        case 73252:
        case 73253:
        case 73254:
        case 73255:
        case 73256:
        case 73257:
        case 73258:
        case 73259:
        case 73260:
        case 73261:
        case 73262:
        case 73501:
        case 73502:
        case 73503:
        case 73504:
        case 73505:
        case 73506:
        case 73507:
        case 73508:
        case 73509:
        case 73510:
        case 73511:
        case 73512:
        case 73751:
        case 73752:
        case 73753:
        case 73754:
        case 73755:
        case 73756:
        case 73757:
        case 73758:
        case 73759:
        case 73760:
        case 73761:
        case 73762:
            return true;
    }
    return false;
}

#ifdef ENABLE_SPECIAL_COSTUME_ATTR
bool CItem::CanBonusCostume()
{
    if (GetType() != ITEM_COSTUME)
        return false;

    switch (GetSubType())
    {
        case COSTUME_BODY:
        case COSTUME_HAIR:
        case COSTUME_WEAPON:
            return true;
    }
    return false;
}
#endif

-------------------------------------------------
item.h        Ekle

Arat        1
long        FindApplyValue(BYTE bApplyType);

Altına ekle
        long        FindApplyValueQuest(BYTE type);
        BYTE        FindApplyTypeQuest(BYTE type);

        bool        IsNormalHairStyle();

Arat        2
GetImmuneFlag()

Altına ekle
#ifdef ENABLE_SPECIAL_COSTUME_ATTR
        bool        CanBonusCostume();
#endif

-------------------------------------------------
Gamelib/ItemData.h        Ekle

Arat
        enum EArmorSubTypes

Üstüne ekle
#ifdef ENABLE_SPECIAL_COSTUME_ATTR
        enum ECostumeAttrLimit
        {
            SPECIAL_ATTR_COSTUME_BODY_LIMIT = 3,
            SPECIAL_ATTR_COSTUME_HAIR_LIMIT = 3,
            SPECIAL_ATTR_COSTUME_WEAPON_LIMIT = 3,
        };
#endif
-------------------------------------------------
Locale_inc.h        Ekle

#define ENABLE_SPECIAL_COSTUME_ATTR            // Enchant for Costumes

-------------------------------------------------
PythonApplicationModule.cpp        Ekle

En alta uygun bölüme

#ifdef ENABLE_SPECIAL_COSTUME_ATTR
    PyModule_AddIntConstant(poModule, "ENABLE_SPECIAL_COSTUME_ATTR", 1);
#else
    PyModule_AddIntConstant(poModule, "ENABLE_SPECIAL_COSTUME_ATTR", 0);
#endif

-------------------------------------------------
PythonItemModule.cpp        Ekle

Arat
PyModule_AddIntConstant(poModule, "WEARABLE_ARROW",                CItemData::WEARABLE_ARROW);

Altına ekle
#ifdef ENABLE_SPECIAL_COSTUME_ATTR
    PyModule_AddIntConstant(poModule, "SPECIAL_ATTR_COSTUME_BODY_LIMIT",    CItemData::SPECIAL_ATTR_COSTUME_BODY_LIMIT);
    PyModule_AddIntConstant(poModule, "SPECIAL_ATTR_COSTUME_HAIR_LIMIT",    CItemData::SPECIAL_ATTR_COSTUME_HAIR_LIMIT);
    PyModule_AddIntConstant(poModule, "SPECIAL_ATTR_COSTUME_WEAPON_LIMIT",    CItemData::SPECIAL_ATTR_COSTUME_WEAPON_LIMIT);
#endif

-------------------------------------------------
root/uiinventory.py        Ekle

Arat    1 
    def __IsUsableItemToItem(self, srcItemVNum, srcSlotPos):
içinde

        else:
            if item.GetUseType(srcItemVNum) in self.USE_TYPE_TUPLE:
                return True
Üstüne ekle

        elif srcItemVNum >= 76014 and srcItemVNum <= 76014 and app.ENABLE_SPECIAL_COSTUME_ATTR:


arat    2
def __CanUseSrcItemToDstItem(self, srcItemVNum, srcSlotPos, dstSlotPos):
içinde

        else:
            useType=item.GetUseType(srcItemVNum)

Üstüne ekle

        if srcItemVNum >= 71300 and srcItemVNum <= 71399 and app.ENABLE_SPECIAL_COSTUME_ATTR:
            destItemVnum = player.GetItemIndex(dstSlotPos)
            item.SelectItem(destItemVnum)
            if item.GetItemType() == item.ITEM_TYPE_COSTUME:
                return True

-------------------------------------------------
root/uitooltip.py        Ekle

Arat
        elif item.ITEM_TYPE_USE == itemType:
            self.__AppendLimitInformation()

Altına ekle

            if app.ENABLE_SPECIAL_COSTUME_ATTR:
                if itemVnum >= 401001 and itemVnum <= 403019:
                    if item.GetValue(0) != 0:
                        self.AppendSpace(5)
                        affectString = self.__GetAffectString(item.GetValue(0), item.GetValue(1))
                        if affectString:
                            affectColor = self.__GetAttributeColor(0, item.GetValue(1))
                            self.AppendTextLine("Bonus: "+affectString, affectColor)

-------------------------------------------------
item_name.txt    ekle

401001    Verst rkungsr stung (HP+1000)
401002    Verst rkungsr stung (HP+2000)
401003    Verst rkungsr stung (Angriffswert +30)
401004    Verst rkungsr stung (Angriffswert +50)
401005    Verst rkungsr stung (Absorb.HP+5%)
401006    Verst rkungsr stung (Absorb.SP+5%)
401007    Verst rkungsr stung (Evict.Arrows+5%)
401008    Verst rkungsr stung (Res.HalfMensch+5%)
401009    Verst rkungsr stung (Res.Monster+5%)
401010    Verst rkungspanzerung (Res.AverageDamage+5%)
401011    Verst rkungsr stung (Res.SkillDamage+5%)
401012    Verst rkungsr stung (Angriffswert +75)
402001    Verst rkungswaffe (Monster+5%)
402002    Verst rkungswaffe (Monster+10%)
402003    Verst rkungswaffe(Metinsteine+5%)
402004    Verst rkungswaffe (Metinsteine+10%)
402005    Verst rkungswaffe (Bosse + 5 %)
402006    Verst rkungswaffe (Bosse + 10 %)
402007    Verst rkungswaffe (STR+12)
402008    Verst rkungswaffe (INT+12)
402009    Verst rkungswaffe (VIT+12)
402010    Verst rkungswaffe (DEX+12)
402011    Verst rkungswaffe (HalbMensch+10%)
402012    Verst rkungswaffe(Tiere+15%)
402013    Verst rkungswaffe (Orks+15%)
402014    Verst rkungswaffe (Esoterisch + 15 %)
402015    Verst rkungswaffe(Vampire+15%)
402016    Verst rkungswaffe(Teufel+15%)
402017    Verst rkungswaffe (Kritischer Schaden +10%)
402018    Verst rkungswaffe (Stiftschaden + 10 %)
402019    Verst rkungswaffe (Monster+15%)
402020    Verst rkungswaffe (Metinsteine+15%)
402021    Verst rkungswaffe (Bosse + 15 %)
403001    Verst rkungshaar (PV.+1000)
403002    Verst rkungshaar (Res.HalfHuman+5)
403003    Verst rkungshaar (Monster+5%)
403004    Verst rkungshaar (Monster+10%)
403005    Verst rkungshaar (Metinsteine + 5 %)
403006    Verst rkungshaar (Metinsteine + 10 %)
403007    Verst rkungshaar (Bosse + 5 %)
403008    Verst rkungshaar (Bosse + 10 %)
403009    Verst rkungshaar (halbMensch + 10%)
403010    Verst rkungshaar (Tiere + 15 %)
403011    Verst rkungshaar (Orks+15%)
403012    Verst rkungshaar (Esoterisch + 15 %)
403013    Verst rkungshaar (Vampire+15%)
403014    Verst rkungshaar(Teufel+15%)
403015    Verst rkungshaar (Res.Poison+5%)
403016    Verst rkungshaar(Magie/Nahkampf+5%)
403017    Verst rkungshaar (Monster+15%)
403018    Verst rkungshaar (Metinsteine + 15 %)
403019    Verst rkungshaar (Bosse + 15 %)

-------------------------------------------------
item_proto.txt    ekle

401001    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1    1000    0    0    0    0    0    0    0
401002    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1    2000    0    0    0    0    0    0    0
401003    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    53    30    0    0    0    0    0    0    0
401004    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    53    50    0    0    0    0    0    0    0
401005    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    23    5    0    0    0    0    0    0    0
401006    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    24    5    0    0    0    0    0    0    0
401007    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    28    5    0    0    0    0    0    0    0
401008    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    115    5    0    0    0    0    0    0    0
401009    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    117    5    0    0    0    0    0    0    0
401010    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    74    5    0    0    0    0    0    0    0
401011    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    73    5    0    0    0    0    0    0    0
401012    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    53    75    0    0    0    0    0    0    0
402001    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    63    5    0    0    0    0    0    0    0
402002    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    63    10    0    0    0    0    0    0    0
402003    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    121    5    0    0    0    0    0    0    0
402004    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    121    10    0    0    0    0    0    0    0
402005    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    116    5    0    0    0    0    0    0    0
402006    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    116    10    0    0    0    0    0    0    0
402007    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    5    12    0    0    0    0    0    0    0
402008    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    4    12    0    0    0    0    0    0    0
402009    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    3    12    0    0    0    0    0    0    0
402010    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    6    12    0    0    0    0    0    0    0
402011    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    17    10    0    0    0    0    0    0    0
402012    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    18    15    0    0    0    0    0    0    0
402013    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    19    15    0    0    0    0    0    0    0
402014    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    20    15    0    0    0    0    0    0    0
402015    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    21    15    0    0    0    0    0    0    0
402016    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    22    15    0    0    0    0    0    0    0
402017    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    15    10    0    0    0    0    0    0    0
402018    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    16    10    0    0    0    0    0    0    0
402019    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    63    15    0    0    0    0    0    0    0
402020    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    121    15    0    0    0    0    0    0    0
402021    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    116    15    0    0    0    0    0    0    0
403001    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    1    1000    0    0    0    0    0    0    0
403002    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    115    5    0    0    0    0    0    0    0
403003    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    63    5    0    0    0    0    0    0    0
403004    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    63    10    0    0    0    0    0    0    0
403005    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    121    5    0    0    0    0    0    0    0
403006    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    121    10    0    0    0    0    0    0    0
403007    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    116    5    0    0    0    0    0    0    0
403008    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    116    10    0    0    0    0    0    0    0
403009    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    17    10    0    0    0    0    0    0    0
403010    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    18    15    0    0    0    0    0    0    0
403011    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    19    15    0    0    0    0    0    0    0
403012    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    20    15    0    0    0    0    0    0    0
403013    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    21    15    0    0    0    0    0    0    0
403014    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    22    15    0    0    0    0    0    0    0
403015    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    41    5    0    0    0    0    0    0    0
403016    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    86    5    0    0    0    0    0    0    0
403017    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    63    15    0    0    0    0    0    0    0
403018    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    121    15    0    0    0    0    0    0    0
403019    재경비서    ITEM_USE    USE_CHANGE_ATTRIBUTE    1    ANTI_DROP | ANTI_SELL | ANTI_GIVE | ANTI_PKDROP | ANTI_MYSHOP    ITEM_STACKABLE | LOG    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    116    15    0    0    0    0    0    0    0

-------------------------------------------------
item_list.txt    ekle

401001    ETC    icon/item/ranfosare_armura.png
401002    ETC    icon/item/ranfosare_armura.png
401003    ETC    icon/item/ranfosare_armura.png
401004    ETC    icon/item/ranfosare_armura.png
401005    ETC    icon/item/ranfosare_armura.png
401006    ETC    icon/item/ranfosare_armura.png
401007    ETC    icon/item/ranfosare_armura.png
401008    ETC    icon/item/ranfosare_armura.png
401009    ETC    icon/item/ranfosare_armura.png
401010    ETC    icon/item/ranfosare_armura.png
401011    ETC    icon/item/ranfosare_armura.png
401012    ETC    icon/item/ranfosare_premium_armura.png
402001    ETC    icon/item/ranfosare_arma.png
402002    ETC    icon/item/ranfosare_arma.png
402003    ETC    icon/item/ranfosare_arma.png
402004    ETC    icon/item/ranfosare_arma.png
402005    ETC    icon/item/ranfosare_arma.png
402006    ETC    icon/item/ranfosare_arma.png
402007    ETC    icon/item/ranfosare_arma.png
402008    ETC    icon/item/ranfosare_arma.png
402009    ETC    icon/item/ranfosare_arma.png
402010    ETC    icon/item/ranfosare_arma.png
402011    ETC    icon/item/ranfosare_arma.png
402012    ETC    icon/item/ranfosare_arma.png
402013    ETC    icon/item/ranfosare_arma.png
402014    ETC    icon/item/ranfosare_arma.png
402015    ETC    icon/item/ranfosare_arma.png
402016    ETC    icon/item/ranfosare_arma.png
402017    ETC    icon/item/ranfosare_arma.png
402018    ETC    icon/item/ranfosare_arma.png
402019    ETC    icon/item/ranfosare_premium_arma.png
402020    ETC    icon/item/ranfosare_premium_arma.png
402021    ETC    icon/item/ranfosare_premium_arma.png
403001    ETC    icon/item/ranfosare_freza.png
403002    ETC    icon/item/ranfosare_freza.png
403003    ETC    icon/item/ranfosare_freza.png
403004    ETC    icon/item/ranfosare_freza.png
403005    ETC    icon/item/ranfosare_freza.png
403006    ETC    icon/item/ranfosare_freza.png
403007    ETC    icon/item/ranfosare_freza.png
403008    ETC    icon/item/ranfosare_freza.png
403009    ETC    icon/item/ranfosare_freza.png
403010    ETC    icon/item/ranfosare_freza.png
403011    ETC    icon/item/ranfosare_freza.png
403012    ETC    icon/item/ranfosare_freza.png
403013    ETC    icon/item/ranfosare_freza.png
403014    ETC    icon/item/ranfosare_freza.png
403015    ETC    icon/item/ranfosare_freza.png
403016    ETC    icon/item/ranfosare_freza.png
403017    ETC    icon/item/ranfosare_premium_freza.png
403018    ETC    icon/item/ranfosare_premium_freza.png
403019    ETC    icon/item/ranfosare_premium_freza.png

-------------------------------------------------
item_desc.txt    ekle

401001    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401002    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401003    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401004    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401005    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401006    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401007    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401008    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401009    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401010    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401011    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
401012    Costume Enchantment    Doğrudan kostümünüze eklenebilen güçlü büyü. sunabilir:         
402001    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402002    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402003    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402004    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402005    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402006    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402007    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402008    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402009    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402010    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402011    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402012    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402013    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402014    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402015    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402016    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402017    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402018    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402019    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402020    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
402021    Weapon Enchantment    Doğrudan silah kaplamanıza eklenebilen güçlü büyü. sunabilir:         
403001    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403002    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403003    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403004    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403005    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403006    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403007    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403008    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403009    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403010    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403011    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403012    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403013    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403014    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403015    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403016    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403017    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403018    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:         
403019    Hairstyle Enchantment    Doğrudan saç stilinize eklenebilen güçlü büyü. sunabilir:

Tengrist MAX_NORM_ATTR_NUM hatası alanlar eklesin​

item_length.h:
Genişlet Daralt Kopyala
MAX_NORM_ATTR_NUM            = 5,
 
Son düzenleme:
çok iyi sistemmiş aeldrada da sanırım böyle bir sistem vardı
 
Ah ulan bi emek files yapasım var da çok uğraştırıyor sistem güzel paylaşım için teşekkürler
 
MAX_NORM_ATTR_NUM hatasını srcde alanlar item_length.h dosyasına
MAX_NORM_ATTR_NUM = 5,

şeklinde ekleme yapsınlar.

Edit: sizde başka hatalara sebebiyet verebilir yeni eklediğiniz bu kodlarda MAX_NORM_ATTR_NUM yazan yerlere 5 yazın, yukarıdaki olay kendi filesımda çözdüğüm sorundur, sizde başka hatalara sebep olabilir, üstte dediğimi yapmadan 5 yazın.
 
Son düzenleme:
Paylaşım için teşekkürler hocam @enes turan 'ın beğeneceğine eminim 😇😂😂
Rica ederim iyi kullanımlar
çok iyi sistemmiş aeldrada da sanırım böyle bir sistem vardı
Ben ilk milasda görmüştüm eklemek bugune kısmetmiş :D
Ah ulan bi emek files yapasım var da çok uğraştırıyor sistem güzel paylaşım için teşekkürler
Rica ederim iyi kullanımlar
MAX_NORM_ATTR_NUM hatasını srcde alanlar item_length.h dosyasına
MAX_NORM_ATTR_NUM = 5,

şeklinde ekleme yapsınlar.

Edit: sizde başka hatalara sebebiyet verebilir yeni eklediğiniz bu kodlarda MAX_NORM_ATTR_NUM yazan yerlere 5 yazın, yukarıdaki olay kendi filesımda çözdüğüm sorundur, sizde başka hatalara sebep olabilir, üstte dediğimi yapmadan 5 yazın.
Bende efsunbotu ekli olduğu için hata vermemişti konuya ekliyeyim
Değiştirmesi yok mu
Sadece itemprotoda nesneye eklenen efsunu iteme ekler vatan2server filesinde değiştirmeli olan sistem var ona bakabilirsin
Linkleri görebilmek için giriş yap veya kayıt ol.

biraz kendi filesıma uyumlandırmam gerekti fakat çalıştı en sonunda
Çok basit sistem kolaylıkla uyarlanabiliyor
 
Merhaba Sistemi ekledim fakat

gamesrc de


Kod:
Genişlet Daralt Kopyala
                                            if ((GM_PLAYER == GetGMLevel()) && (false == test_server) && (g_dwItemBonusChangeTime > 0))
                                            {
                                                DWORD dwChangeItemAttrCycle = g_dwItemBonusChangeTime;

                                                quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());

                                                if (pPC)
                                                {
                                                    DWORD dwNowSec = get_global_time();

                                                    DWORD dwLastChangeItemAttrSec = pPC->GetFlag(msc_szLastChangeItemAttrFlag);

                                                    if (dwLastChangeItemAttrSec + dwChangeItemAttrCycle > dwNowSec)
                                                    {
                                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 바꾼지 %d분 이내에는 다시 변경할 수 없습니다.(%d 분 남음)"),
                                                                dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowSec - dwLastChangeItemAttrSec));
                                                        return false;
                                                    }

                                                    pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowSec);
                                                }
                                            }

Hata veriyordu kaldırdım sorunsuz build oldu fakat Efsun ekleyemiyorum kostümlere nerede yanlış yapıyorum ?
 
Merhaba Sistemi ekledim fakat

gamesrc de


Kod:
Genişlet Daralt Kopyala
                                            if ((GM_PLAYER == GetGMLevel()) && (false == test_server) && (g_dwItemBonusChangeTime > 0))
                                            {
                                                DWORD dwChangeItemAttrCycle = g_dwItemBonusChangeTime;

                                                quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());

                                                if (pPC)
                                                {
                                                    DWORD dwNowSec = get_global_time();

                                                    DWORD dwLastChangeItemAttrSec = pPC->GetFlag(msc_szLastChangeItemAttrFlag);

                                                    if (dwLastChangeItemAttrSec + dwChangeItemAttrCycle > dwNowSec)
                                                    {
                                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 바꾼지 %d분 이내에는 다시 변경할 수 없습니다.(%d 분 남음)"),
                                                                dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowSec - dwLastChangeItemAttrSec));
                                                        return false;
                                                    }

                                                    pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowSec);
                                                }
                                            }

Hata veriyordu kaldırdım sorunsuz build oldu fakat Efsun ekleyemiyorum kostümlere nerede yanlış yapıyorum ?
Anlatımı eksik uyguladığınız için çalışmıyor olabilir sildiğiniz kodu ekleyin eksiksiz kod şeklinde ekleyin. Anlatımdaki kodları silerek build almayın dikkat edin.
 
Anlatımı eksik uyguladığınız için çalışmıyor olabilir sildiğiniz kodu ekleyin eksiksiz kod şeklinde ekleyin. Anlatımdaki kodları silerek build almayın dikkat edin.
o kodu eklediğimde sorun oluyor

hata


char_item.cpp: In member function 'bool CHARACTER::UseItemEx(LPITEM, TItemPos)':
char_item.cpp:5613:74: error: 'g_dwItemBonusChangeTime' was not declared in this scope
if ((GM_PLAYER == GetGMLevel()) && (false == test_server) && (g_dwItemBonusChangeTime > 0))
^
 
o kodu eklediğimde sorun oluyor

hata


char_item.cpp: In member function 'bool CHARACTER::UseItemEx(LPITEM, TItemPos)':
char_item.cpp:5613:74: error: 'g_dwItemBonusChangeTime' was not declared in this scope
if ((GM_PLAYER == GetGMLevel()) && (false == test_server) && (g_dwItemBonusChangeTime > 0))
^
char item.cpp dosyasını dahil eder misin konuya
 
char item.cpp dosyasını dahil eder misin konuya
Screenshot_1.webp


Bu kodlar bende yoktu şimdi ekledim build oldu
char item.cpp dosyasını dahil eder misin konuya



Config.h:
Genişlet Daralt Kopyala
arat
extern char passpod_addr[ADDRESS_MAX_LEN + 1];

Altına Ekle
extern DWORD g_bItemCountLimit;
extern DWORD g_dwItemBonusChangeTime;


Config.cpp:
Genişlet Daralt Kopyala
Arat
bool    g_bDisableEmotionMask = false;

Altına Ekle
DWORD    g_bItemCountLimit = 1000;
DWORD    g_dwItemBonusChangeTime = 60;

Arat
        TOKEN("quest_dir")
        {
            sys_log(0, "QUEST_DIR SETTING : %s", value_string);
            g_stQuestDir = value_string;
        }

Üzerine Ekle

        TOKEN("billing")
        {
            g_bBilling = true;
        }
        TOKEN("disable_change_attr_time")
        {
            g_dwItemBonusChangeTime = 0;
            fprintf(stdout, "CHANGE_ATTR_TIME_LIMIT: DISABLED\n");
            continue;
        }

        TOKEN("change_attr_time_limit") //alternative
        {
            DWORD flag = 0;
            str_to_number(flag, value_string);
            g_dwItemBonusChangeTime = flag;
            fprintf(stdout, "CHANGE_ATTR_TIME_LIMIT: %u\n", g_dwItemBonusChangeTime);
            continue;
        }

Sistem normal Artırma Efsunu olarak atıyor şimdide :D

 

Dosya Eklentileri

20395 eklentisini görüntüle

Bu kodlar bende yoktu şimdi ekledim build oldu




Config.h:
Genişlet Daralt Kopyala
arat
extern char passpod_addr[ADDRESS_MAX_LEN + 1];

Altına Ekle
extern DWORD g_bItemCountLimit;
extern DWORD g_dwItemBonusChangeTime;


Config.cpp:
Genişlet Daralt Kopyala
Arat
bool    g_bDisableEmotionMask = false;

Altına Ekle
DWORD    g_bItemCountLimit = 1000;
DWORD    g_dwItemBonusChangeTime = 60;

Arat
        TOKEN("quest_dir")
        {
            sys_log(0, "QUEST_DIR SETTING : %s", value_string);
            g_stQuestDir = value_string;
        }

Üzerine Ekle

        TOKEN("billing")
        {
            g_bBilling = true;
        }
        TOKEN("disable_change_attr_time")
        {
            g_dwItemBonusChangeTime = 0;
            fprintf(stdout, "CHANGE_ATTR_TIME_LIMIT: DISABLED\n");
            continue;
        }

        TOKEN("change_attr_time_limit") //alternative
        {
            DWORD flag = 0;
            str_to_number(flag, value_string);
            g_dwItemBonusChangeTime = flag;
            fprintf(stdout, "CHANGE_ATTR_TIME_LIMIT: %u\n", g_dwItemBonusChangeTime);
            continue;
        }

Sistem normal Artırma Efsunu olarak atıyor şimdide :D


Yanlış bölüme eklemişsin

char_item.cpp de bu kısımları doğru ekle
Kod:
Genişlet Daralt Kopyala
Arat    1
if (ITEM_COSTUME == item2->GetType())

Değiştir
#ifdef ENABLE_SPECIAL_COSTUME_ATTR
                            if ((ITEM_COSTUME == item2->GetType() && item->GetVnum() < 401001) || (ITEM_COSTUME == item2->GetType() && item->GetVnum() > 403019))
#else
                            if (ITEM_COSTUME == item2->GetType())
#endif

Arat    2
case USE_CHANGE_ATTRIBUTE :

Altına ekle

#ifdef ENABLE_SPECIAL_COSTUME_ATTR
                                    {
                                        const DWORD bonusItemVnum = item->GetVnum();
                                        bool itsCostumeAttr = (bonusItemVnum >= 401001 && bonusItemVnum <= 403019);

                                        // daca e ranfosare ?i nu poate bonusa costumele
                                        if ((itsCostumeAttr == true && !item2->CanBonusCostume()))
                                        {
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't use on this item!"));
                                            return false;
                                        }

                                        // Remove last attr
                                        if (bonusItemVnum == 71304)
                                        {
                                            bool isChange = false;
                                            for (int j = MAX_NORM_ATTR_NUM - 1; j >= 0; --j)
                                            {
                                                if (item2->GetAttributeType(j) != APPLY_NONE)
                                                {
                                                    isChange = true;
                                                    item->SetCount(item->GetCount() - 1);
                                                    item2->SetForceAttribute(j, 0, 0);
                                                    break;
                                                }
                                            }
                                            if (isChange)
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Successfully removed last attr!"));
                                            else
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Dont have any attr in item!"));
                                            return true;
                                        }
                                        // Remove all attr
                                        else if (bonusItemVnum == 71305)
                                        {
                                            bool isChange = false;
                                            for (int j = 0; j < MAX_NORM_ATTR_NUM; ++j)
                                            {
                                                if (item2->GetAttributeType(j) != APPLY_NONE)
                                                {
                                                    isChange = true;
                                                    item2->SetForceAttribute(j, 0, 0);
                                                }
                                            }
                                            if (isChange)
                                            {
                                                item->SetCount(item->GetCount() - 1);
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Successfully removed all attr!"));
                                            }
                                            else
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Dont have any attr in item!"));
                                            return true;
                                        }
                                        // Boosters
                                        else if (bonusItemVnum >= 401001 && bonusItemVnum <= 403019)
                                        {
                                            const BYTE applyType = item->GetValue(0);
                                            const long applyValue = item->GetValue(1);
                                            if (applyType == APPLY_NONE)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, "Something wrong please contact with game master!");
                                                return false;
                                            }

                                            if (item2->FindApplyTypeQuest(0) > 0)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            if (item2->IsNormalHairStyle())
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }

                                            // skin inceput
                                            if (item2->GetVnum() >= 40143 && item2->GetVnum() <= 40148)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // skin gaya
                                            if (item2->GetVnum() >= 40129 && item2->GetVnum() <= 40141)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // costum inceput
                                            if (item2->GetVnum() >= 41726 && item2->GetVnum() <= 41728)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // freza inceput
                                            if (item2->GetVnum() >= 45412 && item2->GetVnum() <= 45414)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // costum gaya
                                            if (item2->GetVnum() >= 41775 && item2->GetVnum() <= 41777)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }

                                            // freza gaya
                                            if (item2->GetVnum() >= 45511 && item2->GetVnum() <= 45513)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item already has bonuses !"));
                                                return false;
                                            }
                                          

                                            if (item2->GetSubType() != COSTUME_BODY && item->GetVnum() >= 401001 && item->GetVnum() <= 401012)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }

                                            if (item2->GetSubType() != COSTUME_WEAPON && item->GetVnum() >= 402001 && item->GetVnum() <= 402021)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }


                                            if (item2->GetSubType() != COSTUME_HAIR && item->GetVnum() >= 403001 && item->GetVnum() <= 403019)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You cant use this on this item!"));
                                                return false;
                                            }

                                            const BYTE maxAttrCount = item2->GetSubType() == COSTUME_BODY ? SPECIAL_ATTR_COSTUME_BODY_LIMIT : (item2->GetSubType() == COSTUME_HAIR ? SPECIAL_ATTR_COSTUME_HAIR_LIMIT : (item2->GetSubType() == COSTUME_WEAPON ? SPECIAL_ATTR_COSTUME_WEAPON_LIMIT : 5));
                                            if (item2->GetAttributeCount() >= maxAttrCount)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This item has max attr count!"));
                                                return false;
                                            }
                                            else if(item2->HasAttr(applyType))
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("This affect already have in this item!"));
                                                return false;
                                            }
                                            item2->AddAttribute(applyType, applyValue);
                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Successfully added!"));
                                            item->SetCount(item->GetCount() - 1);
                                            return true;
                                        }
                                        else
                                        {
                                            if (item2->GetAttributeSetIndex() == -1)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다."));
                                                return false;
                                            }

                                            if (item2->GetAttributeCount() == 0)
                                            {
                                                ChatPacket(CHAT_TYPE_INFO, LC_TEXT("변경할 속성이 없습니다."));
                                                return false;
                                            }

                                            if ((GM_PLAYER == GetGMLevel()) && (false == test_server) && (g_dwItemBonusChangeTime > 0))
                                            {
                                                DWORD dwChangeItemAttrCycle = g_dwItemBonusChangeTime;

                                                quest::PC* pPC = quest::CQuestManager::instance().GetPC(GetPlayerID());

                                                if (pPC)
                                                {
                                                    DWORD dwNowSec = get_global_time();

                                                    DWORD dwLastChangeItemAttrSec = pPC->GetFlag(msc_szLastChangeItemAttrFlag);

                                                    if (dwLastChangeItemAttrSec + dwChangeItemAttrCycle > dwNowSec)
                                                    {
                                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 바꾼지 %d분 이내에는 다시 변경할 수 없습니다.(%d 분 남음)"),
                                                                dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowSec - dwLastChangeItemAttrSec));
                                                        return false;
                                                    }

                                                    pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowSec);
                                                }
                                            }

                                            if (item->GetSubType() == USE_CHANGE_ATTRIBUTE2)
                                            {
                                                int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                                {
                                                    0, 0, 30, 40, 3
                                                };

                                                item2->ChangeAttribute(aiChangeProb);
                                            }
                                            else if (item->GetVnum() == 76014)
                                            {
                                                int aiChangeProb[ITEM_ATTRIBUTE_MAX_LEVEL] =
                                                {
                                                    0, 10, 50, 39, 1
                                                };

                                                item2->ChangeAttribute(aiChangeProb);
                                            }

                                            else
                                            {
                                                if (item->GetVnum() == 71151 || item->GetVnum() == 76023)
                                                {
                                                    if ((item2->GetType() == ITEM_WEAPON)
                                                        || (item2->GetType() == ITEM_ARMOR))
                                                    {
                                                        bool bCanUse = true;
                                                        for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i)
                                                        {
                                                            if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40)
                                                            {
                                                                bCanUse = false;
                                                                break;
                                                            }
                                                        }
                                                        if (false == bCanUse)
                                                        {
                                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("적용 레벨보다 높아 사용이 불가능합니다."));
                                                            break;
                                                        }
                                                    }
                                                    else
                                                    {
                                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기와 갑옷에만 사용 가능합니다."));
                                                        break;
                                                    }
                                                }
                                                item2->ChangeAttribute();
                                            }

                                            ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경하였습니다."));

                                            item->SetCount(item->GetCount() - 1);
                                        }
                                    }
                                    break;
#endif
 
Paylasim için teşekkürler 3 sene once kendim yapmistim bunu ama bu paylasilan daha kullanisli sorunsuz calisiyor thx ♥️
 
Attr'yi kaldır için vnums 71304 ve 71305 çalışmıyor ve onları bırakabilirseniz item_proto'da değiller
 
Geri
Üst