Jump to content

Recommended Posts

So i've got lycan in my client and when i compile my mob_proto i get this error for mob proto that says exactly whatss wrong (serverside the txts work fine)

Spoiler
Spoiler

LoadNonPlayerData: invalid size 351900 check data format.

I've got lycan in my server  also...

Here is my pythonnonplayer.h file

Spoiler
Spoiler

#pragma once

/*
 *    NPC 데이터 프로토 타잎을 관리 한다.
 */
class CPythonNonPlayer : public CSingleton<CPythonNonPlayer>
{
    public:
        enum  EClickEvent
        {
            ON_CLICK_EVENT_NONE        = 0,
            ON_CLICK_EVENT_BATTLE    = 1,
            ON_CLICK_EVENT_SHOP        = 2,
            ON_CLICK_EVENT_TALK        = 3,
            ON_CLICK_EVENT_VEHICLE    = 4,

            ON_CLICK_EVENT_MAX_NUM,
        };

        enum EMobEnchants
        {   
            MOB_ENCHANT_CURSE,
            MOB_ENCHANT_SLOW,   
            MOB_ENCHANT_POISON,
            MOB_ENCHANT_STUN,   
            MOB_ENCHANT_CRITICAL,
            MOB_ENCHANT_PENETRATE,
            MOB_ENCHANTS_MAX_NUM
        };
        enum EMobResists
        {
            MOB_RESIST_SWORD,
            MOB_RESIST_TWOHAND,
            MOB_RESIST_DAGGER,
            MOB_RESIST_BELL,
            MOB_RESIST_FAN,
            MOB_RESIST_BOW,
            MOB_RESIST_FIRE,
            MOB_RESIST_ELECT,
            MOB_RESIST_MAGIC,
            MOB_RESIST_WIND,
            MOB_RESIST_POISON,
            MOB_RESIST_CLAW,
            MOB_RESISTS_MAX_NUM,
            MOB_RESIST_BLEEDING,
            RESIST_BLEEDING,
            RESIST_CLAW
        };

        #define MOB_ATTRIBUTE_MAX_NUM    12
        #define MOB_SKILL_MAX_NUM        5

#pragma pack(push)
#pragma pack(1)
        typedef struct SMobSkillLevel
        {
            DWORD       dwVnum;
            BYTE        bLevel;
        } TMobSkillLevel;

        typedef struct SMobTable
        {
            DWORD       dwVnum;
            char        szName[CHARACTER_NAME_MAX_LEN + 1]; 
            char        szLocaleName[CHARACTER_NAME_MAX_LEN + 1];

            BYTE        bType;                  // Monster, NPC
            BYTE        bRank;                  // PAWN, KNIGHT, KING
            BYTE        bBattleType;            // MELEE, etc..
            BYTE        bLevel;                 // Level
            BYTE        bSize;

            DWORD       dwGoldMin;
            DWORD       dwGoldMax;
            DWORD       dwExp;
            DWORD       dwMaxHP;
            BYTE        bRegenCycle;
            BYTE        bRegenPercent;
            WORD        wDef;

            DWORD       dwAIFlag;
            DWORD       dwRaceFlag;
            DWORD       dwImmuneFlag;

            BYTE        bStr, bDex, bCon, bInt;
            DWORD       dwDamageRange[2];

            short       sAttackSpeed;
            short       sMovingSpeed;
            BYTE        bAggresiveHPPct;
            WORD        wAggressiveSight;
            WORD        wAttackRange;

            char        cEnchants[MOB_ENCHANTS_MAX_NUM];
            char        cResists[MOB_RESISTS_MAX_NUM];

            DWORD       dwResurrectionVnum;
            DWORD       dwDropItemVnum;

            BYTE        bMountCapacity;
            BYTE        bOnClickType;

            BYTE        bEmpire;
            char        szFolder[64 + 1];
            float       fDamMultiply;
            DWORD       dwSummonVnum;
            DWORD       dwDrainSP;
            DWORD        dwMonsterColor;
            DWORD       dwPolymorphItemVnum;

            TMobSkillLevel    Skills[MOB_SKILL_MAX_NUM];

            BYTE        bBerserkPoint;
            BYTE        bStoneSkinPoint;
            BYTE        bGodSpeedPoint;
            BYTE        bDeathBlowPoint;
            BYTE        bRevivePoint;
        } TMobTable;
#pragma pack(pop)

        typedef std::list<TMobTable *> TMobTableList;
        typedef std::map<DWORD, TMobTable *> TNonPlayerDataMap;

    public:
        CPythonNonPlayer(void);
        virtual ~CPythonNonPlayer(void);

        void Clear();
        void Destroy();

        bool                LoadNonPlayerData(const char * c_szFileName);

        const TMobTable *    GetTable(DWORD dwVnum);
        bool                GetName(DWORD dwVnum, const char ** c_pszName);
        bool                GetInstanceType(DWORD dwVnum, BYTE* pbType);
        BYTE                GetEventType(DWORD dwVnum);
        BYTE                GetEventTypeByVID(DWORD dwVID);
        DWORD                GetMonsterColor(DWORD dwVnum);
        const char*            GetMonsterName(DWORD dwVnum);
        BYTE                GetMobLevel(DWORD dwVnum);

        // Function for outer
        void                GetMatchableMobList(int iLevel, int iInterval, TMobTableList * pMobTableList);

    protected:
        TNonPlayerDataMap    m_NonPlayerDataMap;
};

I tried many compilers but same problem , any suggestions?

Best regards,

.Scary

Link to comment
https://metin2.dev/topic/12491-mob-proto-compile-error/
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Popular Days

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.