Jump to content

Ocelot2606

Premium
  • Posts

    68
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Ocelot2606

  1. Got this problem

     

    'NoneType' object has no attribute 'GetInventoryType'

     

    	if app.WJ_ENABLE_TRADABLE_ICON:
    		def CantTradableItem(self, destSlotIndex, srcSlotIndex):
    			if app.ENABLE_SPECIAL_INVENTORY:
    				invenType = player.GetSpecialInventoryTypeByGlobalSlot(srcSlotIndex)
    				if invenType == player.INVENTORY_TYPE_INVENTORY:
    					itemInvenPage = srcSlotIndex / player.INVENTORY_PAGE_SIZE
    					localSlotPos = srcSlotIndex - (itemInvenPage * player.INVENTORY_PAGE_SIZE)
    				else:
    					(specialSlotStart, specialSlotEnd) = player.GetSpecialInventoryRange(invenType)
    					specialInventorySlot = srcSlotIndex - specialSlotStart
    					itemInvenPage = specialInventorySlot / player.INVENTORY_PAGE_SIZE
    					localSlotPos = specialInventorySlot - (itemInvenPage * player.INVENTORY_PAGE_SIZE)
    					
    				self.lockedItems[destSlotIndex] = (invenType, itemInvenPage, localSlotPos)
    
    				if self.wndInventory.GetInventoryType() == invenType and self.wndInventory.GetInventoryPageIndex() == itemInvenPage and self.IsShow():
    					self.wndInventory.wndItem.SetCantMouseEventSlot(localSlotPos)
    
    			else:
    				itemInvenPage = srcSlotIndex / player.INVENTORY_PAGE_SIZE
    				localSlotPos = srcSlotIndex - (itemInvenPage * player.INVENTORY_PAGE_SIZE)
    				self.lockedItems[destSlotIndex] = (itemInvenPage, localSlotPos)
    				if self.wndInventory.GetInventoryPageIndex() == itemInvenPage:
    					self.wndInventory.wndItem.SetCantMouseEventSlot(localSlotPos)

     

    anyone a solution for that (using great offshop)

  2. Hello all,

     

    i got some Problems with Compile my Source. I Installed a FreeBSD 10.3 32bit on my Virtual Box and i installed all Packages to Compile my Source.

     

    But all time when i try to Compile i get this Error

     

    g++49: error: directory": No such or File or directory

    gmake: *** :[Makefile:127: OBJDIR/version.o] Error 1

     

    My Makefile

     

    Spoiler

    PLATFORM = $(shell file /bin/ls | cut -d' ' -f3 | cut -d'-' -f1)

    GCC_VERSION = $(shell $(CC) --version 2>&1 | grep "(GCC)" | cut -d' ' -f3  | cut -d'.' -f1)
    BSD_VERSION = $(shell uname -v 2>&1 | cut -d' ' -f2 | cut -d'.' -f1)
    P4_VERSION = $(shell svnversion -n .)

    CC = g++49

    INCDIR =
    LIBDIR =
    BINDIR = ..
    OBJDIR = OBJDIR
    $(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

    # Standard Setting
    LIBS = -pthread -lm -lmd
    # Removed -fno-rtti
    CFLAGS = -g -Wall -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG # -D_USE_SERVER_KEY_

    ifeq ($(GCC_VERSION), 4)
    CFLAGS += -mtune=i686 -fstack-protector-all
    else
    CFLAGS += -mtune=i686
    endif

    # boost
    INCDIR += -I../../../Extern/include/boost

    # DevIL
    INCDIR += -I../../libdevil
    LIBDIR += -L../../libdevil
    LIBS += -lpng -ltiff -lmng -llcms -ljpeg -lIL

    # MySQL
    #ifeq ($(BSD_VERSION), 7)
    INCDIR += -I../../libmysql/7.x-5.1.35
    LIBDIR += -L../../libmysql/7.x-5.1.35
    #else
    #INCDIR += -I../../libmysql/5.x-5.1.35
    #LIBDIR += -L../../libmysql/5.x-5.1.35
    #endif

    LIBS += -lmysqlclient -L/usr/local/lib/mysql -lz

    # Miscellaneous external libraries
    INCDIR += -I../../../Extern/include
    LIBDIR += -L../../../Extern/lib
    LIBS += -lcryptopp -lgtest

    # HackShield
    INCDIR += -I../../libhackshield/include
    LIBDIR += -L../../libhackshield/lib
    LIBS += -lanticpxsvr

    # XTrap
    INCDIR += -I../../libxtrap/include

    # openssl
    #INCDIR += -I/usr/include
    #LIBS += -lssl
    #LIBS += /usr/lib/libssl.a

    # Project Library
    INCDIR += -I../../liblua/include
    INCDIR += -I/usr/local/include
    INCDIR += -L/usr/local/lib/mysql
    INCDIR += -I../../libserverkey
    LIBDIR += -L../../libthecore/lib -L../../libpoly -L../../libsql -L../../libgame/lib -L../../liblua/lib -L../../libserverkey
    LIBDIR += -L/usr/local/lib
    LIBS += -lthecore -lpoly -llua -llualib -lsql -lgame -lserverkey
    USE_STACKTRACE = 0
    ifeq ($(USE_STACKTRACE), 1)
    LIBS += /usr/local/lib/libexecinfo.a
    endif

    TARGET  = $(BINDIR)/gamefile

    CFILE    = minilzo.c

    CPPFILE = BattleArena.cpp FSM.cpp MarkConvert.cpp MarkImage.cpp MarkManager.cpp OXEvent.cpp TrafficProfiler.cpp ani.cpp\
              arena.cpp banword.cpp battle.cpp blend_item.cpp block_country.cpp buffer_manager.cpp building.cpp castle.cpp\
              char.cpp char_affect.cpp char_battle.cpp char_change_empire.cpp char_horse.cpp char_item.cpp char_manager.cpp\
              char_quickslot.cpp char_resist.cpp char_skill.cpp char_state.cpp PetSystem.cpp cmd.cpp cmd_emotion.cpp cmd_general.cpp\
              cmd_gm.cpp cmd_oxevent.cpp config.cpp constants.cpp crc32.cpp cube.cpp db.cpp desc.cpp\
              desc_client.cpp desc_manager.cpp desc_p2p.cpp dev_log.cpp dungeon.cpp empire_text_convert.cpp entity.cpp\
              entity_view.cpp event.cpp event_queue.cpp exchange.cpp file_loader.cpp fishing.cpp gm.cpp guild.cpp\
              guild_manager.cpp guild_war.cpp horse_rider.cpp horsename_manager.cpp input.cpp input_auth.cpp input_db.cpp\
              input_login.cpp input_main.cpp input_p2p.cpp input_teen.cpp input_udp.cpp ip_ban.cpp\
              item.cpp item_addon.cpp item_attribute.cpp item_manager.cpp item_manager_idrange.cpp locale.cpp\
              locale_service.cpp log.cpp login_data.cpp lzo_manager.cpp marriage.cpp matrix_card.cpp\
              messenger_manager.cpp mining.cpp mob_manager.cpp monarch.cpp motion.cpp over9refine.cpp p2p.cpp packet_info.cpp\
              party.cpp passpod.cpp pcbang.cpp polymorph.cpp priv_manager.cpp pvp.cpp\
              questevent.cpp questlua.cpp questlua_affect.cpp questlua_arena.cpp questlua_ba.cpp questlua_building.cpp\
              questlua_danceevent.cpp questlua_dungeon.cpp questlua_forked.cpp questlua_game.cpp questlua_global.cpp\
              questlua_guild.cpp questlua_horse.cpp questlua_pet.cpp questlua_item.cpp questlua_marriage.cpp questlua_mgmt.cpp\
              questlua_monarch.cpp questlua_npc.cpp questlua_oxevent.cpp questlua_party.cpp questlua_pc.cpp\
              questlua_quest.cpp questlua_target.cpp questmanager.cpp questnpc.cpp questpc.cpp\
              refine.cpp regen.cpp safebox.cpp sectree.cpp sectree_manager.cpp sequence.cpp shop.cpp\
              skill.cpp start_position.cpp target.cpp text_file_loader.cpp trigger.cpp utils.cpp vector.cpp war_map.cpp\
              wedding.cpp xmas_event.cpp version.cpp panama.cpp threeway_war.cpp map_location.cpp auth_brazil.cpp\
              BlueDragon.cpp BlueDragon_Binder.cpp DragonLair.cpp questlua_dragonlair.cpp\
              HackShield.cpp HackShield_Impl.cpp char_hackshield.cpp skill_power.cpp affect.cpp\
              SpeedServer.cpp questlua_speedserver.cpp XTrapManager.cpp\
              auction_manager.cpp FileMonitor_FreeBSD.cpp ClientPackageCryptInfo.cpp cipher.cpp\
              buff_on_attributes.cpp check_server.cpp dragon_soul_table.cpp DragonSoul.cpp\
              group_text_parse_tree.cpp char_dragonsoul.cpp questlua_dragonsoul.cpp\
              shop_manager.cpp shopEx.cpp item_manager_read_tables.cpp spamblock.cpp


    COBJS    = $(CFILE:%.c=$(OBJDIR)/%.o)
    CPPOBJS    = $(CPPFILE:%.cpp=$(OBJDIR)/%.o)

    MAINOBJ = $(OBJDIR)/main.o
    MAINCPP = main.cpp

    TESTOBJ = $(OBJDIR)/test.o
    TESTCPP = test.cpp
    TEST_TARGET = $(BINDIR)/test

    default: $(TARGET) $(TEST_TARGET)

    $(OBJDIR)/minilzo.o: minilzo.c
        @$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@
        @echo compile $<

    $(OBJDIR)/version.o: version.cpp
        @$(CC) $(CFLAGS) -D__USER__=\"$(USER)\" -D__HOSTNAME__=\"$(HOSTNAME)\" -D__PWD__=\"$(PWD)\" -D__P4_VERSION__=\"$(P4_VERSION)\" -c $< -o $@
        @echo compile $<

    $(OBJDIR)/%.o: %.cpp
        @echo compile $<
        @$(CC) $(CFLAGS) $(INCDIR) -c $< -o $@

    limit_time:
        @echo update limit time
        @python update_limit_time.py

    $(TARGET): $(CPPOBJS) $(COBJS) $(MAINOBJ)
        @echo linking $(TARGET)....
        @$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(MAINOBJ) $(LIBS) -o $(TARGET)

    $(TEST_TARGET): $(TESTCPP) $(CPPOBJS) $(COBJS) $(TESTOBJ)
        @echo linking $(TEST_TARGET)
        @$(CC) $(CFLAGS) $(LIBDIR) $(COBJS) $(CPPOBJS) $(TESTOBJ) $(LIBS) -o ../test

    clean:
        @rm -f $(COBJS) $(CPPOBJS)
        @rm -f $(BINDIR)/game_r* $(BINDIR)/conv

    tag:
        ctags *.cpp *.h *.c

    dep:
        makedepend -f Depend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(CPPFILE) $(CFILE) $(MAINCPP) $(TESTCPP) 2> /dev/null > Depend

    sinclude Depend

     

     

    I know that the Error tells me That he Cant find g++49/gcc49 but it is installed. I can Compile libthecore etc with g++49 butnot the game i dont know why

     

    I hope for Help sry for bad English

  3. For me Not i do

     

    BYTE CPythonNonPlayer::GetMobLevel(DWORD dwVnum)
    {
        map<DWORD, BYTE>::iterator it;
        it = LevelByVnum.find(dwVnum);
        if (it != LevelByVnum.end()) {
            return it->second;
        }
        return 0;
    }
     
    under
    
    bool CPythonNonPlayer::LoadNonPlayerData(const char * c_szFileName)
    
    an insert after
    
    bool CPythonNonPlayer::LoadNonPlayerData(const char * c_szFileName)
     
    this line
    
    LevelByVnum[pNonPlayerData->dwVnum] = pNonPlayerData->bLevel;
    I replace
     
    
    m_dwLevel = c_rkCreateData.m_dwLevel; 
    with this
    
    BYTE level_mob = CPythonNonPlayer::Instance().GetMobLevel(c_rkCreateData.m_dwRace);
    m_dwLevel = ((c_rkCreateData.m_dwRace > 8 && c_rkCreateData.m_bType == CActorInstance::TYPE_ENEMY) ? level_mob : c_rkCreateData.m_dwLevel);
    and i icnlude PythonPlayer.h at least i add
                
    DWORD        GetMobLevel;
                std::map<DWORD, BYTE> LevelByVnum;
    under
    
                BYTE        bType;                  // Monster, NPC
                BYTE        bRank;                  // PAWN, KNIGHT, KING
                BYTE        bBattleType;            // MELEE, etc..
                BYTE        bLevel;                 // Level
                BYTE        bSize;

     

    but i cant compile

  4. At client src:

    Change this(InstanceBase.cpp):

    m_dwLevel = c_rkCreateData.m_dwLevel

    To this:

    	BYTE level_mob = CPythonNonPlayer::Instance().GetMobLevel(c_rkCreateData.m_dwRace);
    
    	m_dwLevel = ((c_rkCreateData.m_dwRace > 8 && c_rkCreateData.m_bType == CActorInstance::TYPE_ENEMY) ? level_mob : c_rkCreateData.m_dwLevel);

    Ah and don't forget to include PythonNonPlayer.h

    After that open PythonNonPlayer.h and add this:

    		std::map<DWORD, BYTE> LevelByVnum;

    After that find:

            const TMobTable *	GetTable(DWORD dwVnum);

    And add this:

            BYTE				GetMobLevel(DWORD dwVnum);

    Next we need to open PythonNonPlayer.cpp:

    Find this line:

    m_NonPlayerDataMap.insert(TNonPlayerDataMap::value_type(pNonPlayerData->dwVnum, pNonPlayerData));

    Under that line add this:

    LevelByVnum[pNonPlayerData->dwVnum] = pNonPlayerData->bLevel;

    And finally add this event:

    BYTE CPythonNonPlayer::GetMobLevel(DWORD dwVnum)
    {
    	map<DWORD, BYTE>::iterator it;
    	it = LevelByVnum.find(dwVnum);
    	if (it != LevelByVnum.end()) {
    		return it->second;
    	}
    	return 0;
    }

    It's untested but it will probably work

    Dont work

  5. The new update is not containing the new pets yet, so no problem :)

    Here are the old and the new crclist files, there you can see the modified files:

    Old

    New

     

    I think the new login packet has got a new data in byte probably(last used slot).

     

     

    metin2_patch_etc

    metin2_patch_etc_costume1

    metin2_patch_new_select_ui

    metin2_patch_pc3

    metin2_patch_pc3_m

    metin2_patch_pet1

    metin2_patch_ramadan_costume

     

    Was patched on Tuesday

  6.  

    packet.h

    SHOP_HOST_ITEM_MAX_NUM = 40,
    to
    SHOP_HOST_ITEM_MAX_NUM = 80,

    src/Server/common/length.h

    SHOP_HOST_ITEM_MAX_NUM = 40,
    SHOP_PRICELIST_MAX_NUM = 40,
    to 
    SHOP_HOST_ITEM_MAX_NUM = 80,
    SHOP_PRICELIST_MAX_NUM = 80,

    src/Server/game/shop.cpp

    m_pGrid = M2_NEW CGrid(5, 9);
    
    to
    m_pGrid = M2_NEW CGrid(10, 9);

    shopdialog.py

    import uiScriptLocale

     

    window = {

    "name" : "ShopDialog",

     

    "x" : SCREEN_WIDTH - 400,

    "y" : 10,

     

    "style" : ("movable", "float",),

     

    "width" : 184 + 160,

    "height" : 328,

     

    "children" :

    (

    {

    "name" : "board",

    "type" : "board",

    "style" : ("attach",),

     

    "x" : 0,

    "y" : 0,

     

    "width" : 184 + 160,

    "height" : 328,

     

    "children" :

    (

    ## Title

    {

    "name" : "TitleBar",

    "type" : "titlebar",

    "style" : ("attach",),

     

    "x" : 8,

    "y" : 8,

     

    "width" : 169 + 160,

    "color" : "gray",

     

    "children" :

    (

    { "name":"TitleName", "type":"text", "x":84+80, "y":4, "text":uiScriptLocale.SHOP_TITLE, "text_horizontal_align":"center" },

    ),

    },

     

    ## Item Slot

    {

    "name" : "ItemSlot",

    "type" : "grid_table",

     

    "x" : 12,

    "y" : 34,

     

    "start_index" : 0,

    "x_count" : 10,

    "y_count" : 8,

    "x_step" : 32,

    "y_step" : 32,

     

    "image" : "d:/ymir work/ui/public/Slot_Base.sub",

    },

     

    ## Buy

    {

    "name" : "BuyButton",

    "type" : "toggle_button",

     

    "x" : 21,

    "y" : 295,

     

    "width" : 61,

    "height" : 21,

     

    "text" : uiScriptLocale.SHOP_BUY,

     

    "default_image" : "d:/ymir work/ui/public/middle_button_01.sub",

    "over_image" : "d:/ymir work/ui/public/middle_button_02.sub",

    "down_image" : "d:/ymir work/ui/public/middle_button_03.sub",

    },

     

    ## Sell

    {

    "name" : "SellButton",

    "type" : "toggle_button",

     

    "x" : 104 + 160,

    "y" : 295,

     

    "width" : 61,

    "height" : 21,

     

    "text" : uiScriptLocale.SHOP_SELL,

     

    "default_image" : "d:/ymir work/ui/public/middle_button_01.sub",

    "over_image" : "d:/ymir work/ui/public/middle_button_02.sub",

    "down_image" : "d:/ymir work/ui/public/middle_button_03.sub",

    },

     

    ## Close

    {

    "name" : "CloseButton",

    "type" : "button",

     

    "x" : 0,

    "y" : 295,

     

    "horizontal_align" : "center",

     

    "text" : uiScriptLocale.PRIVATE_SHOP_CLOSE_BUTTON,

     

    "default_image" : "d:/ymir work/ui/public/large_button_01.sub",

    "over_image" : "d:/ymir work/ui/public/large_button_02.sub",

    "down_image" : "d:/ymir work/ui/public/large_button_03.sub",

    },

     

    ),

    },

    ),

    }

     

    by @Endymion & .py by @Theodor

     

    I swear that doenst work so you get bugs and cant buy any items from slots 46+ ;)

  7. Can anyone Post what i have to do in item_proto.txt

     

    I try this

     

    90014    Gelber Stift    ITEM_RING    NONE    1    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    0    0    0    0    0    0

     

    but if i use my Item it goes in the Right Slot but my Chat is still normal

  8. Cant Complile

     

    
    

    AsyncSQL.h: In constructor 'CAsyncSQL::CAsyncSQL()':
    AsyncSQL.h:201: warning: 'CAsyncSQL::m_iCopiedQuery' will be initialized after
    AsyncSQL.h:175: warning:   'int CAsyncSQL::m_iPort'
    AsyncSQL.cpp:19: warning:   when initialized here
    AsyncSQL.cpp: At global scope:
    AsyncSQL.cpp:712: error: expected `)' before '{' token
    AsyncSQL.cpp: In member function 'void CAsyncSQL2::SetLocale(const std::string&)':
    AsyncSQL.cpp:713: error: 'stLocale' was not declared in this scope
    Makefile:41: recipe for target 'AsyncSQL.o' failed
    gmake[1]: *** [AsyncSQL.o] Error 1
    gmake[1]: Leaving directory '/usr/wolfman_branch/wolf/Srcs/Server/libsql'
    Makefile:25: recipe for target 'default' failed
    gmake: *** [default] Error 2

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