Jump to content

ergod

Inactive Member
  • Posts

    71
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by ergod

  1. Hi dev i need help from community!

    So

    When i login in my test server with a new character move me out from client

    i have only syslogg in channel1:

    Spoiler


    May 23 14:08:02 :: SpawnMob: cannot create monster at non-exist sectree 405100 x 656600 (map 61)
    May 23 14:08:06 :: GLOBAL_TIME: May 23 14:08:06 time_gap 0
    May 23 14:08:37 :: SYSTEM: new connection from [178.7.207.210] fd: 18 handshake 1772005244 output input_len 0, ptr 0x3eff1800
    May 23 14:08:37 :: Handshake: client_time 0 server_time 1400859
    May 23 14:08:38 :: LOGIN_BY_KEY: eklektos127 key 39844457
    May 23 14:08:38 :: LoginSuccess
    May 23 14:08:38 ::     player(Ergod2).job(0)
    May 23 14:08:38 ::     player(NEWGITONAS).job(8)
    May 23 14:08:38 ::     player().job(0)
    May 23 14:08:38 ::     player().job(0)
    May 23 14:08:38 ::     player(QfapaQ).job(1)
    May 23 14:08:38 :: success to 178.251.228.240:12345
    May 23 14:08:38 :: success to 178.251.228.240:12345
    May 23 14:08:38 :: success to 178.251.228.240:12345
    May 23 14:08:38 :: InputDB::login_success: eklektos127
    May 23 14:08:44 :: SYSTEM: closing socket. DESC #18
    May 23 14:08:44 :: SYSTEM: new connection from [178.7.207.210] fd: 18 handshake 890393308 output input_len 0, ptr 0x3eff1800
    May 23 14:08:44 :: Handshake: client_time 0 server_time 1407996
    May 23 14:08:45 :: LOGIN_BY_KEY: eklektos127 key 39844457
    May 23 14:08:45 :: LoginSuccess
    May 23 14:08:45 ::     player(Ergod2).job(0)
    May 23 14:08:45 ::     player(NEWGITONAS).job(8)
    May 23 14:08:45 ::     player().job(0)
    May 23 14:08:45 ::     player().job(0)
    May 23 14:08:45 ::     player(QfapaQ).job(1)
    May 23 14:08:45 :: success to 178.251.228.240:12345
    May 23 14:08:45 :: success to 178.251.228.240:12345
    May 23 14:08:45 :: success to 178.251.228.240:12345
    May 23 14:08:45 :: InputDB::login_success: eklektos127
    May 23 14:08:45 :: player_select: login: eklektos127 index: 0
    May 23 14:08:45 :: PK_MODE: Ergod2 3
    May 23 14:08:45 :: PLAYER_LOAD: Ergod2 PREMIUM 0 0, LOGGOFF_INTERVAL 127 PTR: 0x2da45000
    May 23 14:08:45 :: InputDB: player_load Ergod2 957199x255443x0 LEVEL 1 MOV_SPEED 100 JOB 0 ATG 0 DFG 14 GMLv 0
    May 23 14:08:45 :: ITEM_LOAD: COUNT Ergod2 1
    May 23 14:08:46 :: QUEST_LOAD: count 7
    May 23 14:08:46 :: QUEST clear timer 0
    May 23 14:08:46 :: QUEST clear timer 0
    May 23 14:08:46 ::             check_trans_ticket.__status 526282696
    May 23 14:08:46 ::             event_mystery_box.__status -163855020
    May 23 14:08:46 ::             flame_dungeon_leave.__status -1682931504
    May 23 14:08:46 ::             give_basic_weapon.__status 668443392
    May 23 14:08:46 ::             harvest_festival.__status 695801987
    May 23 14:08:46 ::             spider_dungeon_2floor.__status 1290640410
    May 23 14:08:46 ::             thunder_mountains_teleport.__status 1290640410
    May 23 14:08:46 :: VERSION: Ergod2 1215955205 Metin2Dev_Release.exe
    May 23 14:08:47 :: SHOW: Ergod2 957199x255443x0
    May 23 14:08:47 :: reallocating buffer to 8192, current 1024
    May 23 14:08:47 :: AddAffect Ergod2 type 215 apply 0 0 flag 28 duration 5
    May 23 14:08:47 :: 28 is work. lAppValue = 0
    May 23 14:08:47 :: ENTERGAME: Ergod2 957199x255443x0 178.7.207.210 map_index 41
    May 23 14:08:47 :: HORSE STAMINA CONSUME EVENT CANCEL 0x0
    May 23 14:08:47 :: HORSE STAMINA REGEN EVENT CREATE 0x417d2a00
    May 23 14:08:47 :: SendLandList map 41 count 18 elem_size: 432
    May 23 14:08:47 :: VERSION CHECK 1215955205 1215955205 1215955205 1215955205
    May 23 14:08:47 :: DISCONNECT: Ergod2 (DESC::~DESC)
    May 23 14:08:47 :: SAVE: Ergod2 957199x255443
    May 23 14:08:47 :: QUEST clear timer 0
    May 23 14:08:47 :: Remove 215
    May 23 14:08:47 :: 28 is work. lAppValue = 0
    May 23 14:08:47 :: SYSTEM: closing socket. DESC #18
    May 23 14:09:02 :: SpawnMob: cannot create monster at non-exist sectree 405100 x 656600 (map 61)

     

    PLEASE HELP!!!!!!

  2. Hello metin2dev,

    i have a bug so i cant to add bonus on shields..the bracelet get the same bonus like shields the earrings get same bonus like armors.. and i am sure its not problem with navicat--->item_attr and item_proto i  am sure 100% 

    please can someone help me

    (SORRY FOR MY BAD ENGLISH)
     
     
     
  3. 4 hours ago, Mind Rapist said:

    Well my server is hosted on KMS-Hosting.

    My serverinfo.py looks like this:

      Reveal hidden contents

    SERVER_NAME = "Metin2Client"
    SERVER_IP      = "IPAddressOfServer"
    CH_NAME        = "CH1"
    PORT_1         = Channel1Port
    PORT_2         = AuthPort
    PORT_3        = Game99Port


    STATE_NONE = "..."
                        
    STATE_DICT = {
        0 : "....",
        1 : "NORM",
        2 : "BUSY",
        3 : "FULL"
    }

    SERVER01_CHANNEL_DICT = {
        1:{"key":11,"name":CH_NAME,"ip":SERVER_IP,"tcp_port":PORT_1,"udp_port":PORT_1,"state":STATE_NONE,},

    }

    REGION_NAME_DICT = {
        0 : "",        
    }

    REGION_AUTH_SERVER_DICT = {
        0 : {
            1 : { "ip":SERVER_IP, "port":PORT_2, },

        }        
    }

    REGION_DICT = {
        0 : {
            1 : { "name" :SERVER_NAME, "channel" : SERVER01_CHANNEL_DICT, },                        
        },
    }

    MARKADDR_DICT = {
        10 : { "ip" : SERVER_IP, "tcp_port" : PORT_3, "mark" : "10.tga", "symbol_path" : "10", },
    }

    (My ip and ports are all correct!!!)

    I only have a client syserr but when I remove the lines (as saw on a post) I only get "Error connecting to server...". Here is the syserr:

      Hide contents

    0512 21:05:13906 :: Traceback (most recent call last):

    0512 21:05:13907 ::   File "introLogin.py", line 436, in OnConnectFailure

    0512 21:05:13907 :: AttributeError
    0512 21:05:13907 :: : 
    0512 21:05:13907 :: 'LoginWindow' object has no attribute 'timeOutMsg'
    0512 21:05:13907 :: 

    I am the only one tried to connect to this host and couldn't... As I said this same client was tested on other machines and works perfectly fine... So I don't know what to do... Thank you for replying tho :)

    Fix for the client error

    Find:

    Spoiler
    
    if app.loggined:
    			self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.__ExitGame)
    		elif self.timeOutMsg:
    			self.PopupNotifyMessage(localeInfo.LOGIN_FAILURE_TIMEOUT, self.SetPasswordEditLineFocus)
    		else:
    			self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.SetPasswordEditLineFocus)

    change it like this:

    Spoiler
    
    		if app.loggined:
    			self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.__ExitGame)
    		else:
    			self.PopupNotifyMessage(localeInfo.LOGIN_CONNECT_FAILURE, self.SetPasswordEditLineFocus)

     

  4. On 26/3/2016 at 5:55 PM, cuceritorul28 said:

    i have this in syserr server..

    SYSERR: Mar 27 20:24:51 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:24:51 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:24:53 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:24:53 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:24:53 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:24:53 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:25:01 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:25:01 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:25:17 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:25:17 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:25:18 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:25:18 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:25:18 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:25:18 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Mar 27 20:25:18 :: RunState: LUA_ERROR: locale/romania/quest/object/state/mb_igshop:606: attempt to call field `remove' (a nil value)
    SYSERR: Mar 27 20:25:18 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click

     

    #Solved!!

     

  5. I CAN NOT OPEN THE TRADEHOUSE! PLEASE HELP

    CHANNEL1 SYSSER:

    SYSERR: Apr 21 05:59:49 :: RunState: LUA_ERROR: locale/mexico/quest/object/state/mb_igshop:1406: attempt to index local `igshop' (a nil value)
    SYSERR: Apr 21 05:59:49 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Apr 21 06:00:03 :: RunState: LUA_ERROR: locale/mexico/quest/object/state/mb_igshop:1406: attempt to index local `igshop' (a nil value)
    SYSERR: Apr 21 06:00:03 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click
    SYSERR: Apr 21 13:18:53 :: RunState: LUA_ERROR: locale/mexico/quest/object/state/mb_igshop:1406: attempt to index local `igshop' (a nil value)
    SYSERR: Apr 21 13:18:53 :: WriteRunningStateToSyserr: LUA_ERROR: quest mb_igshop.start click

  6. 18 minutes ago, bluedrago said:

    take my itemproto this for my work 

    85001    sash_01_1    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    85002    409    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    85002    0    1    0    0    100    0    0
    85002    sash_01_2    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    85003    409    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    85003    0    2    0    0    100    0    0
    85003    sash_01_3    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    85004    409    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    85004    0    3    0    0    100    0    0
    85004    sash_01_4    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    4    0    0    100    0    0
    85005    sash_02_1    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    85006    409    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    85006    0    5    0    0    100    0    0
    85006    sash_02_2    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    85007    409    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    85007    0    6    0    0    100    0    0
    85007    sash_02_3    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    85008    409    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    85008    0    7    0    0    100    0    0
    85008    sash_02_4    ITEM_COSTUME    COSTUME_ACCE    1    ANTI_DROP | ANTI_SELL | ANTI_STACK    NONE    NONE    NONE    0    0    0    0    0    LIMIT_NONE    0    LIMIT_NONE    0    APPLY_NONE    0    APPLY_NONE    0    APPLY_NONE    0    0    0    0    8    0    0    100    0    0
     

    dont work

  7. 1 hour ago, AlCapone said:

    Replace for this in costumewindow.

                                            {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                            {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+2, "x":61, "y":125, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+3, "x":13, "y":15, "width":32, "height":96},

    Not work!

  8. 2 hours ago, Tacticus said:

    costumewindow.py

     

    4 hours ago, AlCapone said:

    The problem is in gametype.h or in costumewindow.py

    Hi guys please check the photo: https://metin2.download/picture/7mA4Mp5i351nx1fNhBEKxDgkpFHKD46L/.jpg

    I will share my costumewindow.py and gametype.h

    Gametype.h

    Spoiler

    #pragma once
    #include "../GameLib/ItemData.h"

    struct SAffects
    {
        enum
        {
            AFFECT_MAX_NUM = 32,
        };

        SAffects() : dwAffects(0) {}
        SAffects(const DWORD & c_rAffects)
        {
            __SetAffects(c_rAffects);
        }
        int operator = (const DWORD & c_rAffects)
        {
            __SetAffects(c_rAffects);
        }

        BOOL IsAffect(BYTE byIndex)
        {
            return dwAffects & (1 << byIndex);
        }

        void __SetAffects(const DWORD & c_rAffects)
        {
            dwAffects = c_rAffects;
        }

        DWORD dwAffects;
    };

    extern std::string g_strGuildSymbolPathName;

    const DWORD c_Name_Max_Length = 64;
    const DWORD c_FileName_Max_Length = 128;
    const DWORD c_Short_Name_Max_Length = 32;

    const DWORD c_Inventory_Page_Size = 5*9; // x*y
    const DWORD c_Inventory_Page_Count = 4;
    const DWORD c_ItemSlot_Count = c_Inventory_Page_Size * c_Inventory_Page_Count;
    const DWORD c_Equipment_Count = 12;

    const DWORD c_Equipment_Start = c_ItemSlot_Count;

    const DWORD c_Equipment_Body    = c_Equipment_Start + 0;
    const DWORD c_Equipment_Head    = c_Equipment_Start + 1;
    const DWORD c_Equipment_Shoes    = c_Equipment_Start + 2;
    const DWORD c_Equipment_Wrist    = c_Equipment_Start + 3;
    const DWORD c_Equipment_Weapon    = c_Equipment_Start + 4;
    const DWORD c_Equipment_Neck    = c_Equipment_Start + 5;
    const DWORD c_Equipment_Ear        = c_Equipment_Start + 6;
    const DWORD c_Equipment_Unique1    = c_Equipment_Start + 7;
    const DWORD c_Equipment_Unique2    = c_Equipment_Start + 8;
    const DWORD c_Equipment_Arrow    = c_Equipment_Start + 9;
    const DWORD c_Equipment_Shield    = c_Equipment_Start + 10;

    // 새로 추가된 신규 반지 & 벨트
    // 장착형 아이템에 할당할 수 있는 위치가 기존 장비, 채기랍 퀘스트 보상, 코스튬 시스템 등으로 인해서 공간이 잘려있다.
    // 이게 다 채기랍 보상 버프를 장착아이템처럼 구현한 ㅅㄲ 때문에 난리났따... ㅆㅂ
    //
    // 정리하면, 기존 장비창들은 서버DB상 아이템 포지션이 90 ~ 102 이고,
    // 2013년 초에 새로 추가되는 슬롯들은 111 ~ 부터 시작한다. 착용 장비에서 최대로 사용할 수 있는 값은 121 까지이고, 122부터는 용혼석에서 사용한다.
    #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
        const DWORD c_New_Equipment_Start = c_Equipment_Start + 21;
        const DWORD c_New_Equipment_Count = 3;
        const DWORD c_Equipment_Ring1 = c_New_Equipment_Start + 0;
        const DWORD c_Equipment_Ring2 = c_New_Equipment_Start + 1;
        const DWORD c_Equipment_Belt  = c_New_Equipment_Start + 2;
    #endif

    enum EDragonSoulDeckType
    {
        DS_DECK_1,
        DS_DECK_2,
        DS_DECK_MAX_NUM = 2,
    };

    enum EDragonSoulGradeTypes
    {
        DRAGON_SOUL_GRADE_NORMAL,
        DRAGON_SOUL_GRADE_BRILLIANT,
        DRAGON_SOUL_GRADE_RARE,
        DRAGON_SOUL_GRADE_ANCIENT,
        DRAGON_SOUL_GRADE_LEGENDARY,
        DRAGON_SOUL_GRADE_MAX,

    };

    enum EDragonSoulStepTypes
    {
        DRAGON_SOUL_STEP_LOWEST,
        DRAGON_SOUL_STEP_LOW,
        DRAGON_SOUL_STEP_MID,
        DRAGON_SOUL_STEP_HIGH,
        DRAGON_SOUL_STEP_HIGHEST,
        DRAGON_SOUL_STEP_MAX,
    };

    #ifdef ENABLE_COSTUME_SYSTEM
        const DWORD c_Costume_Slot_Start = c_Equipment_Start + 19;
        const DWORD    c_Costume_Slot_Body = c_Costume_Slot_Start + 0;
        const DWORD    c_Costume_Slot_Hair = c_Costume_Slot_Start + 1;
        const DWORD    c_Costume_Slot_Acce = c_Costume_Slot_Start + 5;
        const DWORD c_Costume_Slot_Count = 3;
        const DWORD c_Costume_Slot_End = c_Costume_Slot_Start + c_Costume_Slot_Count;
    #endif


    // [주의] 숫자(32) 하드코딩 주의. 현재 서버에서 용혼석 슬롯은 32부터임.
    // 서버 common/length.h 파일의 EWearPositions 열거형이 32까지 확장될 것을 염두하고(32 이상은 확장 하기 힘들게 되어있음.),
    // 그 이후부터를 용혼석 장착 슬롯으로 사용.
    const DWORD c_Wear_Max = 32;
    const DWORD c_DragonSoul_Equip_Start = c_ItemSlot_Count + c_Wear_Max;
    const DWORD c_DragonSoul_Equip_Slot_Max = 6;
    const DWORD c_DragonSoul_Equip_End = c_DragonSoul_Equip_Start + c_DragonSoul_Equip_Slot_Max * DS_DECK_MAX_NUM;

    // NOTE: 2013년 2월 5일 현재... 용혼석 데크는 2개가 존재하는데, 향후 확장 가능성이 있어서 3개 데크 여유분을 할당 해 둠. 그 뒤 공간은 벨트 인벤토리로 사용
    const DWORD c_DragonSoul_Equip_Reserved_Count = c_DragonSoul_Equip_Slot_Max * 3;        

    #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
        // 벨트 아이템이 제공하는 인벤토리
        const DWORD c_Belt_Inventory_Slot_Start = c_DragonSoul_Equip_End + c_DragonSoul_Equip_Reserved_Count;
        const DWORD c_Belt_Inventory_Width = 4;
        const DWORD c_Belt_Inventory_Height= 4;
        const DWORD c_Belt_Inventory_Slot_Count = c_Belt_Inventory_Width * c_Belt_Inventory_Height;
        const DWORD c_Belt_Inventory_Slot_End = c_Belt_Inventory_Slot_Start + c_Belt_Inventory_Slot_Count;

        const DWORD c_Inventory_Count    = c_Belt_Inventory_Slot_End;
    #else
        const DWORD c_Inventory_Count    = c_DragonSoul_Equip_End;
    #endif

    // 용혼석 전용 인벤토리
    const DWORD c_DragonSoul_Inventory_Start = 0;
    const DWORD c_DragonSoul_Inventory_Box_Size = 32;
    const DWORD c_DragonSoul_Inventory_Count = CItemData::DS_SLOT_NUM_TYPES * DRAGON_SOUL_GRADE_MAX * c_DragonSoul_Inventory_Box_Size;
    const DWORD c_DragonSoul_Inventory_End = c_DragonSoul_Inventory_Start + c_DragonSoul_Inventory_Count;

    enum ESlotType
    {
        SLOT_TYPE_NONE,
        SLOT_TYPE_INVENTORY,
        SLOT_TYPE_SKILL,
        SLOT_TYPE_EMOTION,
        SLOT_TYPE_SHOP,
        SLOT_TYPE_EXCHANGE_OWNER,
        SLOT_TYPE_EXCHANGE_TARGET,
        SLOT_TYPE_QUICK_SLOT,
        SLOT_TYPE_SAFEBOX,
        SLOT_TYPE_PRIVATE_SHOP,
        SLOT_TYPE_MALL,
        SLOT_TYPE_DRAGON_SOUL_INVENTORY,
        SLOT_TYPE_MAX,
    };

    enum EWindows
    {
        RESERVED_WINDOW,
        INVENTORY,                // 기본 인벤토리. (45칸 짜리가 2페이지 존재 = 90칸)
        EQUIPMENT,
        SAFEBOX,
        MALL,
        DRAGON_SOUL_INVENTORY,
        GROUND,                    // NOTE: 2013년 2월5일 현재까지 unused.. 왜 있는거지???
        BELT_INVENTORY,            // NOTE: W2.1 버전에 새로 추가되는 벨트 슬롯 아이템이 제공하는 벨트 인벤토리
        
        WINDOW_TYPE_MAX,
    };

    enum EDSInventoryMaxNum
    {
        DS_INVENTORY_MAX_NUM = c_DragonSoul_Inventory_Count,
        DS_REFINE_WINDOW_MAX_NUM = 15,
    };

    #pragma pack (push, 1)
    #define WORD_MAX 0xffff

    typedef struct SItemPos
    {
        BYTE window_type;
        WORD cell;
        SItemPos ()
        {
            window_type =     INVENTORY;
            cell = WORD_MAX;
        }
        SItemPos (BYTE _window_type, WORD _cell)
        {
            window_type = _window_type;
            cell = _cell;
        }

        // 기존에 cell의 형을 보면 BYTE가 대부분이지만, oi
        // 어떤 부분은 int, 어떤 부분은 WORD로 되어있어,
        // 가장 큰 자료형인 int로 받는다.
      //  int operator=(const int _cell)
      //  {
            //window_type = INVENTORY;
      //      cell = _cell;
      //      return cell;
      //  }
        bool IsValidCell()
        {
            switch (window_type)
            {
            case INVENTORY:
                return cell < c_Inventory_Count;
                break;
            case EQUIPMENT:
                return cell < c_DragonSoul_Equip_End;
                break;
            case DRAGON_SOUL_INVENTORY:
                return cell < (DS_INVENTORY_MAX_NUM);
                break;
            default:
                return false;
            }
        }
        bool IsEquipCell()
        {
            switch (window_type)
            {
            case INVENTORY:
            case EQUIPMENT:
                return (c_Equipment_Start + c_Wear_Max > cell) && (c_Equipment_Start <= cell);
                break;

            case BELT_INVENTORY:
            case DRAGON_SOUL_INVENTORY:
                return false;
                break;

            default:
                return false;
            }
        }

    #ifdef ENABLE_NEW_EQUIPMENT_SYSTEM
        bool IsBeltInventoryCell()
        {
            bool bResult = c_Belt_Inventory_Slot_Start <= cell && c_Belt_Inventory_Slot_End > cell;
            return bResult;
        }
    #endif

        bool operator==(const struct SItemPos& rhs) const
        {
            return (window_type == rhs.window_type) && (cell == rhs.cell);
        }

        bool operator<(const struct SItemPos& rhs) const
        {
            return (window_type < rhs.window_type) || ((window_type == rhs.window_type) && (cell < rhs.cell));
        }
    } TItemPos;
    #pragma pack(pop)

    const DWORD c_QuickBar_Line_Count = 3;
    const DWORD c_QuickBar_Slot_Count = 12;

    const float c_Idle_WaitTime = 5.0f;

    const int c_Monster_Race_Start_Number = 6;
    const int c_Monster_Model_Start_Number = 20001;

    const float c_fAttack_Delay_Time = 0.2f;
    const float c_fHit_Delay_Time = 0.1f;
    const float c_fCrash_Wave_Time = 0.2f;
    const float c_fCrash_Wave_Distance = 3.0f;

    const float c_fHeight_Step_Distance = 50.0f;

    enum
    {
        DISTANCE_TYPE_FOUR_WAY,
        DISTANCE_TYPE_EIGHT_WAY,
        DISTANCE_TYPE_ONE_WAY,
        DISTANCE_TYPE_MAX_NUM,
    };

    const float c_fMagic_Script_Version = 1.0f;
    const float c_fSkill_Script_Version = 1.0f;
    const float c_fMagicSoundInformation_Version = 1.0f;
    const float c_fBattleCommand_Script_Version = 1.0f;
    const float c_fEmotionCommand_Script_Version = 1.0f;
    const float c_fActive_Script_Version = 1.0f;
    const float c_fPassive_Script_Version = 1.0f;

    // Used by PushMove
    const float c_fWalkDistance = 175.0f;
    const float c_fRunDistance = 310.0f;

    #define FILE_MAX_LEN 128

    enum
    {
        ITEM_SOCKET_SLOT_MAX_NUM = 3,
        ITEM_ATTRIBUTE_SLOT_MAX_NUM = 15,
    };

    #pragma pack(push)
    #pragma pack(1)

    typedef struct SQuickSlot
    {
        BYTE Type;
        BYTE Position;
    } TQuickSlot;

    typedef struct TPlayerItemAttribute
    {
        BYTE        bType;
        short       sValue;
    } TPlayerItemAttribute;

    typedef struct packet_item
    {
        DWORD       vnum;
        BYTE        count;
        DWORD        flags;
        DWORD        anti_flags;
        long        alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
        TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
    } TItemData;

    typedef struct packet_shop_item
    {
        DWORD       vnum;
        DWORD       price;
        BYTE        count;
        BYTE        display_pos;
        long        alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
        TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
    } TShopItemData;

    #pragma pack(pop)

    inline float GetSqrtDistance(int ix1, int iy1, int ix2, int iy2) // By sqrt
    {
        float dx, dy;

        dx = float(ix1 - ix2);
        dy = float(iy1 - iy2);

        return sqrtf(dx*dx + dy*dy);
    }

    // DEFAULT_FONT
    void DefaultFont_Startup();
    void DefaultFont_Cleanup();
    void DefaultFont_SetName(const char * c_szFontName);
    CResource* DefaultFont_GetResource();
    CResource* DefaultItalicFont_GetResource();
    // END_OF_DEFAULT_FONT

    void SetGuildSymbolPath(const char * c_szPathName);
    const char * GetGuildSymbolFileName(DWORD dwGuildID);
    BYTE SlotTypeToInvenType(BYTE bSlotType);

     

    costumewindow.py

    Spoiler

    import uiScriptLocale
    import item
    import player

    COSTUME_START_INDEX = item.COSTUME_SLOT_START

    window = {
        "name" : "CostumeWindow",
        "x" : SCREEN_WIDTH - 175 - 140,
        "y" : SCREEN_HEIGHT - 37 - 565,
        "style" : ("movable", "float",),
        "width" : 140,
        "height" : 180 + 47,
        "children" :
        (
            {
                "name" : "board",
                "type" : "board",
                "style" : ("attach",),
                "x" : 0,
                "y" : 0,
                "width" : 140,
                "height" : 180 + 47,
                "children" :
                (
                    {
                        "name" : "TitleBar",
                        "type" : "titlebar",
                        "style" : ("attach",),
                        "x" : 6,
                        "y" : 6,
                        "width" : 130,
                        "color" : "yellow",
                        "children" :
                        (
                            { "name":"TitleName", "type":"text", "x":60, "y":3, "text":uiScriptLocale.COSTUME_WINDOW_TITLE, "text_horizontal_align":"center"},
                        ),
                    },
                    
                    {
                        "name" : "Costume_Base",
                        "type" : "image",
                        "x" : 13,
                        "y" : 38,
                        "image" : "d:/ymir work/ui/costume_bg.dds",
                        "children" :
                        (
                            {
                                "name" : "CostumeSlot",
                                "type" : "slot",
                                "x" : 3,
                                "y" : 3,
                                "width" : 127,
                                "height" : 145,
                                "slot" : (
                                            {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                            {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                            {"index":player.EQUIPMENT_SLOT_START+24, "x":61, "y":125, "width":32, "height":32},
                                            {"index":COSTUME_START_INDEX+1, "x":10, "y":125, "width":32, "height":32},
                                ),
                            },
                        ),
                    },
                ),
            },
        ),
    }

     

     

  9. Hello guys can someone how to fix it?

     

    Sysser:

    Spoiler

    0301 17:18:25634 :: Cannot find item by 254094605
    0301 17:18:25634 :: Cannot find item by 254094605
    0301 17:18:25635 :: Cannot find item by -897306513
    0301 17:18:25635 :: Cannot find item by -897306513
    0301 17:18:25635 :: Cannot find item by -1473642496
    0301 17:18:25635 :: Cannot find item by -1473642496
    0301 17:18:25635 :: Cannot find item by 503316480
    0301 17:18:25635 :: Cannot find item by 503316480
    0301 17:18:25653 :: Cannot find item by 3670016
    0301 17:18:25653 :: Cannot find item by 3670016
    0301 17:18:25653 :: Cannot find item by 1124073472
    0301 17:18:25653 :: Cannot find item by 1124073472
    0301 17:18:25654 :: Cannot find item by 22528
    0301 17:18:25654 :: Cannot find item by 22528
    0301 17:18:25654 :: Cannot find item by 6881280
    0301 17:18:25654 :: Cannot find item by 6881280
    0301 17:18:25654 :: Cannot find item by 1946157056
    0301 17:18:25654 :: Cannot find item by 1946157056
    0301 17:18:25654 :: Cannot find item by 35072
    0301 17:18:25654 :: Cannot find item by 35072
    0301 17:18:25654 :: Cannot find item by 9306112
    0301 17:18:25654 :: Cannot find item by 9306112
    0301 17:18:25654 :: Cannot find item by -1728053248
    0301 17:18:25654 :: Cannot find item by -1728053248
    0301 17:18:25655 :: Cannot find item by 44544
    0301 17:18:25655 :: Cannot find item by 44544
    0301 17:18:25655 :: Cannot find item by 1549271040
    0301 17:18:25655 :: Cannot find item by 1549271040
    0301 17:18:25655 :: Cannot find item by -905969664
    0301 17:18:25655 :: Cannot find item by -905969664
    0301 17:18:25655 :: Cannot find item by 57088
    0301 17:18:25655 :: Cannot find item by 57088
    0301 17:18:25655 :: Cannot find item by 15335424
    0301 17:18:25655 :: Cannot find item by 15335424
    0301 17:18:25655 :: Cannot find item by -285212672
    0301 17:18:25655 :: Cannot find item by -285212672
    0301 17:18:25655 :: Cannot find item by 66560
    0301 17:18:25655 :: Cannot find item by 66560
    0301 17:18:25655 :: Cannot find item by 17760256
    0301 17:18:25655 :: Cannot find item by 17760256
    0301 17:18:25655 :: Cannot find item by 503316481
    0301 17:18:25655 :: Cannot find item by 503316481
    0301 17:18:25656 :: Cannot find item by 77584
    0301 17:18:25656 :: Cannot find item by 77584
    0301 17:18:25656 :: Cannot find item by 20578304
    0301 17:18:25656 :: Cannot find item by 20578304
    0301 17:18:25656 :: Cannot find item by 754974721
    0301 17:18:25656 :: Cannot find item by 754974721
    0301 17:18:25656 :: Cannot find item by 335
    0301 17:18:25656 :: Cannot find item by 335
    0301 17:18:25656 :: Cannot find item by 1317269760
    0301 17:18:25656 :: Cannot find item by 1317269760
    0301 17:18:25656 :: Cannot find item by 47727078
    0301 17:18:25656 :: Cannot find item by 47727078
    0301 17:18:25656 :: Cannot find item by 1879048193
    0301 17:18:25656 :: Cannot find item by 1879048193
    0301 17:18:25656 :: Cannot find item by 1244160713
    0301 17:18:25656 :: Cannot find item by 1244160713
    0301 17:18:25656 :: Cannot find item by 99649
    0301 17:18:25656 :: Cannot find item by 99649
    0301 17:18:25656 :: Cannot find item by 26278570
    0301 17:18:25656 :: Cannot find item by 26278570
    0301 17:18:25656 :: Cannot find item by -1694498815
    0301 17:18:25656 :: Cannot find item by -1694498815
    0301 17:18:28424 :: Cannot find item by 425
    0301 17:18:28424 :: Cannot find item by 425
    0301 17:18:28424 :: Cannot find item by 1601332581
    0301 17:18:28424 :: Cannot find item by 1601332581
    0301 17:18:28424 :: Cannot find item by 875760137
    0301 17:18:28424 :: Cannot find item by 875760137
    0301 17:18:28424 :: Cannot find item by 1734964233
    0301 17:18:28424 :: Cannot find item by 1734964233
    0301 17:18:28424 :: Cannot find item by 1851880808
    0301 17:18:28424 :: Cannot find item by 1851880808
    0301 17:18:28424 :: Cannot find item by 808727306
    0301 17:18:28424 :: Cannot find item by 808727306
    0301 17:18:28424 :: Cannot find item by 1913205553
    0301 17:18:28424 :: Cannot find item by 1913205553
    0301 17:18:28424 :: Cannot find item by 1718574898
    0301 17:18:28424 :: Cannot find item by 1718574898
    0301 17:18:28424 :: Cannot find item by 1952804959
    0301 17:18:28424 :: Cannot find item by 1952804959
    0301 17:18:28424 :: Cannot find item by 808465930
    0301 17:18:28424 :: Cannot find item by 808465930
    0301 17:18:28424 :: Cannot find item by 154349616
    0301 17:18:28424 :: Cannot find item by 154349616
    0301 17:18:28424 :: Cannot find item by 1852402527
    0301 17:18:28424 :: Cannot find item by 1852402527
    0301 17:18:28424 :: Cannot find item by 1601004908
    0301 17:18:28424 :: Cannot find item by 1601004908
    0301 17:18:28424 :: Cannot find item by 1701996902
    0301 17:18:28424 :: Cannot find item by 1701996902
    0301 17:18:28424 :: Cannot find item by 1667329377
    0301 17:18:28424 :: Cannot find item by 1667329377
    0301 17:18:28424 :: Cannot find item by 1600480105
    0301 17:18:28424 :: Cannot find item by 1600480105
    0301 17:18:28424 :: Cannot find item by 1600480105
    0301 17:18:28424 :: Cannot find item by 1600480105
    0301 17:18:28424 :: Cannot find item by 909127990
    0301 17:18:28424 :: Cannot find item by 909127990
    0301 17:18:28424 :: Cannot find item by 168390241
    0301 17:18:28424 :: Cannot find item by 168390241
    0301 17:18:28424 :: Cannot find item by 168391539
    0301 17:18:28424 :: Cannot find item by 168391539
    0301 17:18:28424 :: Cannot find item by 1829320501
    0301 17:18:28424 :: Cannot find item by 1829320501
    0301 17:18:28424 :: Cannot find item by 1162037513
    0301 17:18:28424 :: Cannot find item by 1162037513
    0301 17:18:28424 :: Cannot find item by 1869902687
    0301 17:18:28425 :: Cannot find item by 1869902687
    0301 17:18:28425 :: Cannot find item by 1601336673
    0301 17:18:28425 :: Cannot find item by 1601336673
    0301 17:18:28425 :: Cannot find item by 1869506916
    0301 17:18:28425 :: Cannot find item by 1869506916
    0301 17:18:28425 :: Cannot find item by 154361714
    0301 17:18:28425 :: Cannot find item by 154361714
    0301 17:18:28425 :: Cannot find item by 1869376609
    0301 17:18:28425 :: Cannot find item by 1869376609
    0301 17:18:28425 :: Cannot find item by 1870225255
    0301 17:18:28425 :: Cannot find item by 1870225255
    0301 17:18:28425 :: Cannot find item by 1946761521
    0301 17:18:28425 :: Cannot find item by 1946761521
    0301 17:18:28425 :: Cannot find item by 174421097
    0301 17:18:28425 :: Cannot find item by 174421097
    0301 17:18:28425 :: Cannot find item by 154677810
    0301 17:18:28425 :: Cannot find item by 154677810
    0301 17:18:28425 :: Cannot find item by 154415664
    0301 17:18:28425 :: Cannot find item by 154415664
    0301 17:18:28425 :: Cannot find item by 2036281703
    0301 17:18:28425 :: Cannot find item by 2036281703
    0301 17:18:28425 :: Cannot find item by 1818322953
    0301 17:18:28425 :: Cannot find item by 1818322953
    0301 17:18:28425 :: Cannot find item by 1919443721
    0301 17:18:28425 :: Cannot find item by 1919443721
    0301 17:18:28425 :: Cannot find item by 1935764852
    0301 17:18:28425 :: Cannot find item by 1935764852
    0301 17:18:28425 :: Cannot find item by 1634035807
    0301 17:18:28425 :: Cannot find item by 1634035807
    0301 17:18:28425 :: Cannot find item by 171075438
    0301 17:18:28425 :: Cannot find item by 171075438
    0301 17:18:28425 :: Cannot find item by 1601332580
    0301 17:18:28425 :: Cannot find item by 1601332580
    0301 17:18:28425 :: Cannot find item by 858797107
    0301 17:18:28425 :: Cannot find item by 858797107

     

    Screenshot_2.png

  10. Hi guys i have a bug with the lycan GetMoveMotionSpeed...maybe can someone help me?

    Sysser ch1:

    Spoiler
    
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)
     GetMoveMotionSpeed: cannot find motion (name [GM]Lycan race 8 mode 8)

     

    Thank you :D

×
×
  • 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.