Jump to content

Filachilla

Member
  • Posts

    119
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Filachilla

  1. Try to up GNUMakeFile in cryptopp link:

    CXX	= g++9
    CC = gcc9

    + be carefully where is your new lib linked..
    You can make something like this:

    libcryptopp.a: $(LIBOBJS)
    	$(AR) $(ARFLAGS) $@ $(LIBOBJS)
    ifeq ($(IS_SUN),0)
    	$(RANLIB) $@
    endif
    	mv $@ ../lib/

    for move new compiled lib into lib folder in extern..

    Into db & game too change CXX a CC like in GNUMakeFile
     

    • Good 1
  2.  

    Yesterday, I got motivated to do at least some small things with the keys. It seems like a good idea to share it in one thread, in case someone wants to explore more options without having to search for them.

     

    Spoiler
    #ifdef __OBFUSCATE_KEYS__
    #include <string>
    #include <array>
    
    constexpr int NUM_VALUES = 10;
    
    using EterPackKey = std::array<std::string, NUM_VALUES>;
    
    static std::array<EterPackKey, 4> s_strEterPackKey = {{
    	{ "4", "5", "1", "2", "9", "4", "0", "1" },
    	{ "9", "2", "3", "6", "7", "2", "1", "5" },
    	{ "6", "8", "1", "2", "8", "5", "7", "3", "1" },
    	{ "1", "7", "1", "0", "2", "0", "1" }
    }};
    
    static std::array<EterPackKey, 4> s_strEterPackSecurityKey = {{
    	{ "7", "8", "9", "5", "2", "4", "8", "2" },
    	{ "5", "2", "7", "3", "4", "8", "3", "2", "4" },
    	{ "1", "6", "3", "2", "9", "4", "2" },
    	{ "4", "8", "6", "2", "7", "4", "7", "2", "6" }
    }};
    
    static unsigned long s_EncryptEterPackKey(int key)
    {
    	std::string sEterPackKey = "";
    	unsigned long iEterPackKey = 0;
    
    	for (int iter = 0; iter < (sizeof(s_strEterPackKey[key]) / sizeof(std::string)); ++iter)
    	{
    		sEterPackKey.append(s_strEterPackKey[key][iter]);
    	}
    
    	iEterPackKey = std::stoul(sEterPackKey);
    
    	return iEterPackKey;
    }
    
    static unsigned long s_EncryptEterPackSecurityKey(int key)
    {
    	std::string sEterPackSecurityKey = "";
    	unsigned long iEterPackSecurityKey = 0;
    
    	for (int iter = 0; iter < (sizeof(s_strEterPackSecurityKey[key]) / sizeof(std::string)); ++iter)
    	{
    		sEterPackSecurityKey.append(s_strEterPackSecurityKey[key][iter]);
    	}
    
    	iEterPackSecurityKey = std::stoul(sEterPackSecurityKey);
    
    	return iEterPackSecurityKey;
    }
    #endif
    
    #ifdef __PACK_ENCRYPTION__
    static unsigned long s_adwEterPackKey[] =
    {
    #ifdef __OBFUSCATE_KEYS__
    	s_EncryptEterPackKey(0),
    	s_EncryptEterPackKey(1),
    	s_EncryptEterPackKey(2),
    	s_EncryptEterPackKey(3)
    #else
    	45129401,
    	92367215,
    	681285731,
    	1710201
    #endif
    };
    
    static unsigned long s_adwEterPackSecurityKey[] =
    {
    #ifdef __OBFUSCATE_KEYS__
    	s_EncryptEterPackSecurityKey(0),
    	s_EncryptEterPackSecurityKey(1),
    	s_EncryptEterPackSecurityKey(2),
    	s_EncryptEterPackSecurityKey(3)
    #else
    	78952482,
    	527348324,
    	1632942,
    	486274726
    #endif
    };
    #else
    static unsigned long s_adwEterPackKey[] =
    {
    #ifdef __OBFUSCATE_KEYS__
    	s_EncryptEterPackKey(0),
    	s_EncryptEterPackKey(1),
    	s_EncryptEterPackKey(2),
    	s_EncryptEterPackKey(3)
    #else
    	45129401,
    	92367215,
    	681285731,
    	1710201
    #endif
    };
    
    static unsigned long s_adwEterPackSecurityKey[] =
    {
    #ifdef __OBFUSCATE_KEYS__
    	s_EncryptEterPackSecurityKey(0),
    	s_EncryptEterPackSecurityKey(1),
    	s_EncryptEterPackSecurityKey(2),
    	s_EncryptEterPackSecurityKey(3)
    #else
    	78952482,
    	527348324,
    	1632942,
    	486274726
    #endif
    };
    #endif

     

    It's not much, but it will surely catch the attention of a few people too.

  3. I do not have time to read full topic, but I using, and as I see, you using too last (from package) mariadb 10.11 already

    My easy friendlyuse tut its: (only clean freebsd install, because when you uninstall mysql, so its fine or !!!necessary to delete that folder become install new mysql sever - how some guys said before me, etc.. Now idk I rlly just only scroll, so maybe is here solution)

    1. pkg install mariadb-server (you can use pkg search mariadb, but when you use pkg (last freebsd) its actual for that version, so you dont must define version, its just simple to install last..)
    2. (go to rc.cong -> add mysql_enable="YES")
    3. run first time mariadb via command like "service mysql-server start" then that coma create new mysql folder and create basic settings from new install..
    4. First of all is better or required to stop mysql (service mysql-server stop) go to -> /usr/local/etc/mysql/conf.d and open server.cnf
    this is a very simple so you do this steps:

    1.

    bind-address			= 127.0.0.1

    comment this line like #[space] so should looks like:

    # bind-address			= 127.0.0.1


    for some tables whats just wrong and I think you dont repair it before, you can or "must" add this line:

    sql_mode = NO_ENGINE_SUBSTITUTION

    under all that just in mysqld table ? so its for me after this line..: # innodb_flush_method        = O_DSYNC

    5. Now you can run your mariadb simple via service mysql-server start..


    6. Run command: mysql_secure_installation (its speficied by your settings, but I think there is no much ways to set it different)

    7. create new user something like:

    CREATE USER 'root'@'%' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

    for login in navicat, so here you just change password by your password..
     

    CREATE USER 'game'@'127.0.0.1' IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON *.* TO 'game'@'127.0.0.1' WITH GRANT OPTION;

    and this is for your internal communication, simple this is that one thing what you have in config ? too dont forgot change password ?

    8. Now you just flush tables like

    flush privileges;


    and thats all you can quit like (quit;) and working ? 


    btw: Sorry for my english and when you have some question you can ask me..


    src: For source you must in log.cpp delete DELAYED, because its not as I know supported like that in mariadb.. Second change is change libmysqlclient.a to libmariadbclient.a in makefile ?

    I think thats all, so maybe you can got problem with AsyncSQL.cpp (its in libsql)
    but you can solve that very simple:

    You can replace connect function with that one:
     

    bool CAsyncSQL::Connect()
    {
    	if (0 == mysql_init(&m_hDB))
    	{
    		fprintf(stderr, "mysql_init failed\n");
    		return false;
    	}
    
    	//mysql_options(&m_hDB, MYSQL_SET_CHARSET_NAME, m_stLocale.c_str());
    	if (!m_stLocale.empty())
    	{
    		//mysql_options(&m_hDB, MYSQL_SET_CHARSET_DIR , " /usr/local/share/mysql/charsets/");
    		//mysql_options(&m_hDB, MYSQL_SET_CHARSET_DIR , "/usr/local/share/mysql/charsets");
    		//mysql_options(&m_hDB, MYSQL_SET_CHARSET_DIR , "/usr/local/share/mysql");
    		if (mysql_options(&m_hDB, MYSQL_SET_CHARSET_NAME, m_stLocale.c_str()) != 0)
    		{
    			fprintf(stderr, "mysql_option failed : MYSQL_SET_CHARSET_NAME %s ", mysql_error(&m_hDB));
    		}
    	}
    
    	if (!mysql_real_connect(&m_hDB, m_stHost.c_str(), m_stUser.c_str(), m_stPassword.c_str(), m_stDB.c_str(), m_iPort, NULL, CLIENT_MULTI_STATEMENTS))
    	{
    		fprintf(stderr, "mysql_real_connect: %s\n", mysql_error(&m_hDB));
    		return false;
    	}
    
    	// my_bool -> bool
    	bool reconnect = true;
    
    	if (0 != mysql_options(&m_hDB, MYSQL_OPT_RECONNECT, &reconnect))
    		fprintf(stderr, "mysql_option: %s\n", mysql_error(&m_hDB));
    
    	// removed reconnect
    	// fprintf(stdout, "AsyncSQL: connected to %s (reconnect %d)\n", m_stHost.c_str(), m_hDB.reconnect);
    	fprintf(stdout, "AsyncSQL: connected to %s\n", m_stHost.c_str());
    
    	m_ulThreadID = mysql_thread_id(&m_hDB);
    
    	m_bConnected = true;
    	return true;
    }

    Just to remove reconnect and nothing more ?

  4. 4 minutes ago, LoKnarash said:

    I don't have a screen at hand nor the possibility of doing so, I'm updating to dtx9 for tests with rtx remix, but I've never noticed problems with the font, in fact it has been improved, the only real problem is on compatibility with some GPUs that I don't quite understand ( and I didn't even elaborate).

    My friend have my same computer, same parts (motherboard, CPU, GPU, RAM, etc.) it works for me and not for him... we tried to see the differences but nothing, in the end I solved it with an option to disable in case

    *These things are possible to fix, but for what? No sense do it..

    As I said, very easily is use wrapper and build some custom dll, so far still exist much open source sdk.. Second way is just port to dx9 and world is open ? dx9 support msaa, ssaa, txaa and more things than pretty old dx8..

  5. Base path for mariadb is here:

    /usr/local/etc/mysql/conf.d/server.cnf

    when you have some questions or need help, send me pm


    Edit: Latest mariadb for 14.0 freebsd is 10.11 (no sense to use old version)

  6. 25 minutes ago, LoKnarash said:

    Nah, That's not true, dtx8 supports antialising without any problems, I've been using it for over 2 years on my client.

    Only MSAA as I know, but this look very horrible in game.. (font problems, etc..) Primary is better just implement dx9..

    Edit: Btw. these things are possible to fix, but for what? No sense do it..

  7. 1 hour ago, czeqwerty1337 said:

    Hello after I installed mariadb and try to run the server, so I have errors like this everytime.. what to do? 

    mysql_real_connect: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
     

    Can you login in navicat?

    this
    
    bind-address			= 127.0.0.1
    
    to
    
    # bind-address			= 127.0.0.1
    
    add in [mysqld]
    
    sql_mode = NO_ENGINE_SUBSTITUTION
    

    for some incorrect tables

  8. Solved
     

    	case SAFEBOX_MONEY_STATE_WITHDRAW:
    		if (pSafebox->GetSafeboxMoney() < p->lMoney)
    		{
    			ch->ChatPacket(CHAT_TYPE_INFO, "You don't have enough gold.");
    			return;
    		}
    
    		if (ch->GetGold() + static_cast<int64_t>(p->lMoney) >= GOLD_MAX)
    		{
    			ch->ChatPacket(CHAT_TYPE_INFO, "You cannot withdraw anymore gold.");
    			return;
    		}
    		pSafebox->SetSafeboxMoney(pSafebox->GetSafeboxMoney() - p->lMoney);
    		ch->PointChange(POINT_GOLD, static_cast<int>(p->lMoney));
    		break;
    	}

    OR

    	case SAFEBOX_MONEY_STATE_WITHDRAW:
    		if (pSafebox->GetSafeboxMoney() < p->lMoney)
    		{
    			ch->ChatPacket(CHAT_TYPE_INFO, "You don't have enough gold.");
    			return;
    		}
    
    		const int64_t nTotalMoney = static_cast<int64_t>(ch->GetGold()) + static_cast<int64_t>(p->lMoney);
    		if (GOLD_MAX <= nTotalMoney)
    		{
    			ch->ChatPacket(CHAT_TYPE_INFO, "You cannot withdraw anymore gold.");
    			return;
    		}
    		pSafebox->SetSafeboxMoney(pSafebox->GetSafeboxMoney() - p->lMoney);
    		ch->PointChange(POINT_GOLD, static_cast<int>(p->lMoney));
    		break;

     

  9. @ Mali How to increase yang limit for withdraw?

    When I increase limit to 9 (dlgPickMoney.SetMax(9)) and trying withdraw for example -> my inventory 1.999.999.999 Yang -> my Safebox 1.000.000.000 Yang ->  My withdraw from safebox -> 10.000 Yang so its works and I got message "You cannot withdraw anymore gold." but when I try to withdraw for example 888.888.888 Yang my inventory stay still same (because 2kkk limit) but from safebox are gold destroyed without this check:

    		if (ch->GetGold() + static_cast<int>(p->lMoney) >= GOLD_MAX)
    		{
    			ch->ChatPacket(CHAT_TYPE_INFO, "You cannot withdraw anymore gold.");
    			return;
    		}



    EDIT: Can be problem int type for lMoney when my inventory is too int and trying check value more than 2147483647? Because 1.999.999.999 + 888.888.888 withdraw?

  10. On 1/6/2024 at 9:37 PM, rttrrtrrr said:

    Tutorial said to place the files under this paths"

              "default_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_01.sub",

                        "over_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_02.sub",

                        "down_image" : "d:/ymir work/ui/game/windows/tab_button_large_half_03.sub","
    I don't find this directory...

    This is path in ETC pack

    • Good 1
  11. 17 minutes ago, rttrrtrrr said:

    Hi, I am new to m2 dev, I tried to implement 4 inventory from Extension, and I failed, I don't understand where to place the files under ymir work, i suppose there is my problem. I have done everything and i tried to place the files under ymir work in "Eternexus\locale_ro\locale\ro\ui". When I open the client, i still have 2 inventory and my character looks empty(like doesn't have anything equiped)  thanks in advance.

    ymir work is base shared folder, I dont know about this included tutorial, but gui/interface is in ETC pack.. When you dont see inventories, maybe you made something bad with grids..

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