Jump to content

Aioria

Inactive Member
  • Posts

    116
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Aioria

  1. Check if u have enable mysql with this command:

    ee /etc/rc.conf

    should have:

    mysql_enable="YES"

    if not, add it/change it.
    then reboot and looking for the 

    Starting mysql

    at the bottom of the loading in vm.

    then use this commands:

    mysqld_safe start 

    and then:

    rehash

    then should works

    you can check in the "../tmp" path if the "mysql.sock" file is there.

  2. Hi guys!
    I've a little issue with the txt in locale.cgf.

    If I use the "1252" it give me a little issue with the ")" character (idk if only this) and put a little "point" near the top:

    https://metin2.download/picture/ngrREQS62UX97mmsLcTCUct27NfB6Sh0/.gif

    Ki41Gpx.png

    Spoiler

    ZXQtvRA.jpg

    but i have to use the "1252", maybe you know what is the problem? If I have to change something in binary or client.

    Or If I can use another similar econding txt ?

     

    • Metin2 Dev 1
    • Love 1
  3. On 10/24/2018 at 12:24 PM, Shogun said:

    ¿A tool to edit the mss files? They are 3 lines of text lol. The only tool you need is notepad.

    The client will search for a mss file with the same folder and filename for every msa found. It's not an actual error and you should disable the message to avoid spam.

    Hi Shogun! Can I ask you which file i should edit to hide this error?

  4. Well, i'm a noob, but i think that if you make a button in game to switch on/off the "(40, ui.__mem_func__(self.__LoadEffect))," in introloading.py should work

    9ilRagL.jpg

    I didn't make the button, just tried to hide the line.
    In this way you hide all effect, so you can even hide which you want to hide.

    another example

    mbvtbbE.jpg

    or you can do the same thing directly in the playersettingmodule.py, but like i said, i'm just a noob, so idk.
    you can do it even with animation.

  5. 16 minutes ago, Syreldar said:

    Could you c/p here the affected code snippets before and after the changes?

    Thank you @Syreldar, but i've solved 3 minutes ago using a method by Vegas to change the failures prompt depending from cases (like by scroll / blacksmith / ecc)
    Anyway i've put here the before and after code:

    Before my code was:

    	else
    	{	
    		// ½ÇÆÐ! ¸ðµç ¾ÆÀÌÅÛÀÌ »ç¶óÁü.
    		DBManager::instance().SendMoneyLog(MONEY_LOG_REFINE, item->GetVnum(), -cost);
    		NotifyRefineFail(this, item, IsRefineThroughGuild() ? "GUILD" : "POWER");
    		item->AttrLog();
    		ITEM_MANAGER::instance().RemoveItem(item, "REMOVE (REFINE FAIL)");
    
    		//PointChange(POINT_GOLD, -cost);
    		PayRefineFee(cost);
    	}
    
    	return true;
    }

    then i change it like this to make the blacksmith not destroy items:

    	else
    	{	
    		// ½ÇÆÐ! ¸ðµç ¾ÆÀÌÅÛÀÌ »ç¶óÁü.
    		DWORD result_fail_vnum = item->GetRefineFromVnum();
    		LPITEM pkNewItem = ITEM_MANAGER::instance().CreateItem(result_fail_vnum, 1, 0, true);
    		BYTE bCell = item->GetCell();
    		ITEM_MANAGER::CopyAllAttrTo(item, pkNewItem);
    		pkNewItem->AddToCharacter(this, TItemPos(INVENTORY, bCell)); 
    
    		//PointChange(POINT_GOLD, -cost);
    		PayRefineFee(cost);
    	}
    
    	return true;
    }

    and then i add 2 lines to solve the crash issue when fail to upgrade an item +0:

    	else
    	{	
    		// ½ÇÆÐ! ¸ðµç ¾ÆÀÌÅÛÀÌ »ç¶óÁü.
    		DWORD result_fail_vnum = item->GetRefineFromVnum();
    		
    		if (result_fail_vnum == 0)
    		{
    			return false;
    		}
    
    		LPITEM pkNewItem = ITEM_MANAGER::instance().CreateItem(result_fail_vnum, 1, 0, true);
    		BYTE bCell = item->GetCell();
    		ITEM_MANAGER::CopyAllAttrTo(item, pkNewItem);
    		pkNewItem->AddToCharacter(this, TItemPos(INVENTORY, bCell));
    
    		//PointChange(POINT_GOLD, -cost);
    		PayRefineFee(cost);
    	}
    
    	return true;
    }

    Anyway thanks for help!

  6. Hello! I've changed the blacksmith to make it like the "scroll" (the item will not be lost if fail) with a guide on turkmmo, but I've a problem, if I did up an item +0 and fail, it gave me error and crash, so i've added this line of code:

    		if (result_fail_vnum == 0)
    		{
    			return false;
    		}

    and it worked, no more crash or error, but there is another problem, when I upgrade a +0 item and fail, it doens't make the classic popup failed, i tried with this:

    		if (result_fail_vnum == 0)
    		{
    			NotifyRefineFail(this, item, IsRefineThroughGuild() ? "GUILD" : "POWER");
    			return false;
    		}

    this:

     

    		if (result_fail_vnum == 0)
    		{
    			NotifyRefineFail(this, item, szRefineType);
    			return false;
    		}

    and this:

    		if (result_fail_vnum == 0)
    		{
    			ChatPacket(CHAT_TYPE_COMMAND, "RefineFailed");
    			return false;
    		}

    and none of them worked.

    What I should change?

    This is the "full" guilty code 

    Spoiler
    
    	{	
    		// 실패! 모든 아이템이 사라짐.
    		DWORD result_fail_vnum = item->GetRefineFromVnum();
    		
    		if (result_fail_vnum == 0)
    		{
    			return false;
    		}
    
    		LPITEM pkNewItem = ITEM_MANAGER::instance().CreateItem(result_fail_vnum, 1, 0, true);
    		BYTE bCell = item->GetCell();
    		NotifyRefineFail(this, item, IsRefineThroughGuild() ? "GUILD" : "POWER");
    		ITEM_MANAGER::CopyAllAttrTo(item, pkNewItem);
    		pkNewItem->AddToCharacter(this, TItemPos(INVENTORY, bCell));
    
    		//PointChange(POINT_GOLD, -cost);
    		PayRefineFee(cost);
    	}
    
    	return true;
    }

     

     

  7. 12 minutes ago, Strix. said:

    do you only copy-paste things, never check? "makepend"

    pkg install makedepend

    Well, i checked, but i don't know vm or these commands, so i just thought that was the command.
    Anyway still

    GY7OdUD.png

    thanks for reply.

    --- edit ---

    Could be because 9.2 is no more supported? In that case can i install manually?

  8. Hi guys! I've an issue, when i compile the db/game source i get this error at first:

    Spoiler

    MjFhxcb.png

    but files are linked at the end, and they works, obviously i want resolve this error (i don't know what issue could be give in future), how can i solve that?

    I'm using freebsd 9.2 and all works fine (at least i think it does) and this are the db/game makefiles:

    Game's 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)
    SVN_VERSION = 40267
    P4_VERSION = $(SVN_VERSION)

    CC = g++

    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 += -mcpu=i686
    endif

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

    # DevIL
    INCDIR += -I../../../Extern/include/devil
    LIBS += -lIL -lpng -ltiff -lmng -llcms -ljpeg

    # MySQL
    INCDIR += -I../../../Extern/include/mysql
    LIBS += -lmysqlclient -lz

    # Miscellaneous external libraries
    LIBS += -lcryptopp -lgtest

    # HackShield
    INCDIR += -I../../../Extern/include/hackshield
    LIBS += -lanticpxsvr

    # XTrap
    INCDIR += -I../../../Extern/include/xtrap

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

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

    TARGET  = $(BINDIR)/game_r$(SVN_VERSION)_$(PLATFORM)

    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


    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__SVN_VERSION__=\"$(SVN_VERSION)\" -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
     

    and db's makefile

    Spoiler

    MAKE = gmake
    CC = g++

    INCDIR =
    LIBDIR =
    BINDIR = ..
    OBJDIR = .obj

    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 = 40146
    $(shell if [ ! -d $(OBJDIR) ]; then mkdir $(OBJDIR); fi)

    TARGET = $(BINDIR)/db_r$(P4_VERSION)

    CFLAGS = -g -Wall -O2 -w -pipe -fno-rtti -fno-exceptions -pthread -D_THREAD_SAFE

    ifeq ($(GCC_VERSION), 4)
    CFLAGS += -mtune=i686
    else
    CFLAGS += -mcpu=i686
    endif

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

    LIBDIR += -L../../libthecore/lib -L../../libsql -L../../libpoly -L../../libgame/lib

    #MySQL
    INCDIR += -I../../../Extern/include/mysql
    LIBDIR += -L../../../Extern/lib

    LIBS = -lthecore -lmysqlclient -lsql -lpoly -lgame -lm -lz

    SRCS =    Config.cpp NetBase.cpp Peer.cpp PeerBase.cpp Main.cpp Lock.cpp DBManager.cpp \
            Cache.cpp LoginData.cpp ClientManager.cpp ClientManagerPlayer.cpp ClientManagerLogin.cpp \
            ClientManagerBoot.cpp ClientManagerParty.cpp ClientManagerGuild.cpp GuildManager.cpp HB.cpp \
            PrivManager.cpp MoneyLog.cpp ItemAwardManager.cpp ClientManagerEventFlag.cpp Marriage.cpp \
            Monarch.cpp BlockCountry.cpp ItemIDRangeManager.cpp ClientManagerHorseName.cpp version.cpp \
            AuctionManager.cpp ProtoReader.cpp CsvReader.cpp 

    OBJS = $(SRCS:%.cpp=$(OBJDIR)/%.o)

    default: $(TARGET)

    $(TARGET): $(OBJS)
        @echo linking ...
        @$(CC) $(CFLAGS) $(LIBDIR) $(OBJS) $(LIBS) -o $(TARGET)
        @touch version.cpp

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

    $(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):
        @mkdir $(OBJDIR)

    clean:
        @rm -f $(OBJS) $(BINDIR)/db_r*

    dep:
        @touch Depend
        makedepend -fDepend $(INCDIR) -I/usr/include/c++/3.3 -I/usr/include/c++/4.2 -p$(OBJDIR)/ $(SRCS) 2> /dev/null

    sinclude Depend
     

    and this if can be helpfull

    fepNZxl.png


    Hope you can help me!

  9. Sorry for update but i need a fix to overflow yangs, and there is nosense to open another topic.

    Can I know in which way this will fix the overflow yangs issue?

    On 10/15/2017 at 1:14 PM, xP3NG3Rx said:
    
    		case POINT_GOLD:
    			{
    				UINT newGold = MINMAX(0, GetGold() + amount, g_llMaxGold);//!!!MaxGold
    				SetGold(newGold);
    				val = GetGold();
    			}
    			break;

     

     

  10. Ok i think i solved. I don't know if it is correct, help me to understand but:
    This was the code before:

    					affectColor = self.__GetAttributeColorMax(value, type)  <------------------
    					self.AppendTextLine(affectString, affectColor)
    
    	def __GetAttributeColor(self, index, value):
    		if value > 0:
    			if index >= 5:
    				return self.SPECIAL_POSITIVE_COLOR2
    			else:
    				return self.SPECIAL_POSITIVE_COLOR
    		elif value == 0:
    			return self.NORMAL_COLOR
    		else:
    			return self.NEGATIVE_COLOR
    
    	def __GetAttributeColorMax(self, value, index): <------------------------
    		MAX_ATTR_VALUE = (
    			[1,2000, "MAX_HP"],

    and then i added 2 arguments (or idk how they names)
     

    					affectColor = self.__GetAttributeColorMax(i, value, type) <------------------
    					self.AppendTextLine(affectString, affectColor)
    
    	def __GetAttributeColor(self, index, value):
    		if value > 0:
    			if index >= 5:
    				return self.SPECIAL_POSITIVE_COLOR2
    			else:
    				return self.SPECIAL_POSITIVE_COLOR
    		elif value == 0:
    			return self.NORMAL_COLOR
    		else:
    			return self.NEGATIVE_COLOR
    
    	def __GetAttributeColorMax(self, value, index, type): <------------------
    		MAX_ATTR_VALUE = (
    			[1,2000, "MAX_HP"],

    P.s: i'm using Nevisor client 2k10

    • Love 1
  11. When i try to update to python 2.7 i get this error in syserr:

    0125 23:20:43598 ::   File "ui.py", line 1493, in OnOverInItem
    
    0125 23:20:43598 ::   File "ui.py", line 84, in __call__
    
    0125 23:20:43598 ::   File "ui.py", line 75, in __call__
    
    0125 23:20:43598 ::   File "uiInventory.py", line 968, in OverInItem
    
    0125 23:20:43598 ::   File "uiInventory.py", line 1144, in ShowToolTip
    
    0125 23:20:43598 ::   File "uiToolTip.py", line 545, in SetInventoryItem
    
    0125 23:20:43598 ::   File "uiToolTip.py", line 1212, in AddItemData
    
    0125 23:20:43598 ::   File "uiToolTip.py", line 844, in __AppendAttributeInformation
    
    0125 23:20:43598 ::   File "uiToolTip.py", line 524, in AppendTextLine
    
    0125 23:20:43598 ::   File "uiToolTip.py", line 207, in AppendTextLine
    
    0125 23:20:43598 ::   File "uiToolTip.py", line 239, in ResizeToolTip
    
    0125 23:20:43598 ::   File "ui.py", line 1912, in SetSize
    
    0125 23:20:43598 :: TypeError
    0125 23:20:43598 :: : 
    0125 23:20:43598 :: an integer is required

    and this error in game:

    https://metin2.download/picture/TLJXu6Y5gOmAlRMcXZ53rh7Y09K33ByF/.gif

    any help? 

    even just tell me which files i have to check in binary source

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