Jump to content

PetePeter

Member
  • Posts

    106
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by PetePeter

  1. 6 minutes ago, Hunger said:

    Some dudes from Webzen decided to better send npc’s from a file instead of the server but there are self-named developers like you installing every single system/release from porkmmo just to look better nevermind performance. 
    They didn’t change that just for Penger so he can crack the code they were trying to fix old stupid code. But yes, you are better than Webzen’s developers. He should do as you tell him to because: yes. 

    If you use your brain like you said, you will understand than my solution work with the regen from client, not need to do it server side as the data are in the txt file. Good try to show how good you are

  2. 51 minutes ago, Hunger said:

    Sorry i will log out you have 3 layers of brain. Check out Penger’s post about atlas info via text from the client. Cheers! 

    lol worst answer ever, no sense.
    v7tuQ3l.png

     

    2 hours ago, Hunger said:

    Better a static message with a dict for each mob/map via python. 

    You are very good at coding xD

  3. 36 minutes ago, Hunger said:

    What are you talking about? Npc’s are static. Even Nakajima which is a moving NPC. Are you going to send packages each time a boss moves around the map? Good stuff. Keep up the good work 👍

    That's not how the system work, the system he talk about is just an indication of where the boss spawn and how long does it take to respawn. That's not a real time tracker, exactly like the NPC position. And the respawn time is not in real time also, that's just the seconds set on the regen

     

  4. 27 minutes ago, Hunger said:

    I think is going to kill your server if that info is live (i’m talking about the respawn time & coordinates). Better a static message with a dict for each mob/map via python. 

    What are you talking about ? That's just the same packet as the NPC position, just need to add an exception for boss and add the respawn time.
    Like that:

     

    // sectree_manager.h
    struct npc_info
    {
    	BYTE bType;
    	const char* name;
    	long x, y;
    	DWORD dwVnum;
    #ifdef ENABLE_SHOW_BOSS_POS
    	DWORD dwTime;
    	npc_info(BYTE bType, const char* name, long x, long y, DWORD dwVnum, DWORD dwTime) : bType(bType), name(name), x(x), y(y), dwVnum(dwVnum), dwTime(dwTime) {}
    #else
    	npc_info(BYTE bType, const char* name, long x, long y, DWORD dwVnum) : bType(bType), name(name), x(x), y(y), dwVnum(dwVnum) {}
    #endif
    };
    
    // sectree_manager.cpp
    		{
    			np.bType = it->bType;
    			strlcpy(np.name, it->name, sizeof(np.name));
    			np.x = it->x;
    			np.y = it->y;
    			np.dwVnum = it->dwVnum;
    #ifdef ENABLE_SHOW_BOSS_POS
    			np.dwTime = it->dwTime;
    #endif
    			buf.write(&np, sizeof(np));
    		}

     

    That's not a complete code, juste to give you hint about it

  5. Connection error: SQLSTATE[HY000] [2002] Can't connect to MySQL server on 'bts.metin2legend.ro' (115)Connection error: SQLSTATE[HY000] [2002] Can't connect to MySQL server on 'bts.metin2legend.ro' (115)Connection error: SQLSTATE[HY000] [2002] Can't connect to MySQL server on 'bts.metin2legend.ro' (115)Connection error: SQLSTATE[HY000] [2002] Can't connect to MySQL server on 'bts.metin2legend.ro' (115) 

    You really must hide developpement error message from your website

  6. 20 hours ago, Debloat said:

    Seems like the memory leak is in the same place, but notice that this is only the top of the call stack, there are many things in the Call Stack that I don't understand well.

    b5c0cd09262afa9f4495f5cd7476469c.png

     

    Use the call stack to see the older function called (CreateDDSTexture, CreateFromMemoryFile) you will see the image the game try to load, the problem must come from one texture badly loaded or something like that.

    The crash don't mean the code is bad, try to look deeper than the last call stack

    • Good 1
  7. 14 minutes ago, Akino said:

    This is not practical. For example, if I have a web hosting hosted by blazingfast with cpanel and a dedicated server at OVH, it does not make sense for me to host MySQL on the web hosting, in case of web crashes, I would have very bad glitches in the game.

    In case of being a forum, this would be convenient, for example using WLBB or any other

    That's why I said on the same network, you need to connect to mysql with local request

  8. 33 minutes ago, ASIKOO said:

    ⚠️ PASSWORD() function deleted in MySQL 8 😕  (if you use it)

    <?php
    
    	$real_password = "test";
    	$password = '*'.strtoupper(sha1(sha1($real_password, true)));
    ?>

     

    True, thanks for the information. But it's work on MariaDB if anyone want to use it like that.

    PS: You can do it like that with mysql 8 directly instead of using php (If it's needed for the game for exemple)

     

    SELECT CONCAT('*', UPPER(SHA1(UNHEX(SHA1('yourpassword')))));

     

    • Good 1
  9. 6 minutes ago, Ceettosa said:

    Could you share the hash algorithm with us? is think its md5 or something? I would like to use it as register for my website

    You can do it with mysql itself :

    SELECT PASSWORD('yourpassword');

     

    or directly on the insert query

    INSERT INTO account(login,password,status) VALUES ('admin', PASSWORD('yourpassword'), 'OK')

     

    • Good 1
  10. 53 minutes ago, Draveniou1 said:

    I agree, but I also tried to make the regular item-shop

     

    --------------------------------------------------------------

    The problem with the normal item-shop is that items are deleted from memory after a time limit

    --------------------------

    char szQuery[QUERY_MAX_LEN]; snprintf(szQuery, sizeof(szQuery), "DELETE FROM item%s WHERE id=%u", GetTablePostfix(), m_data.id); CDBManager::instance().ReturnQuery(szQuery, QID_ITEM_DESTROY, 0, NULL);

    --------------------------------------------------------------

    Because it's not means to be used this way ... item_award exist for a reason, touching the item table while the game is running it's stupid (unless you modify no cache items like safebox)

    • Metin2 Dev 1
    • Good 1
  11. 1 hour ago, VegaS™ said:

    imePasteString and chatGetLinkFromHyperlink is responsible for this.

    Here you have a small tutorial on how to disable it:

    I think he mean about copy from other players. If you alt+click on a hyperlink it's will acting as you do on your own item and so you can send message with an item who is not your

    • muscle 1
  12. 	def ExitSelect(self):
    		self.dlgQuestion.Hide()
    		self.exitPopupDlg = uiCommon.QuestionDialog()
    		self.exitPopupDlg.SetText(localeInfo.DO_YOU_WANT_CLOSE)
    		self.exitPopupDlg.SetAcceptEvent(lambda arg=True: self.ExitSelectAnswer(arg))
    		self.exitPopupDlg.SetCancelEvent(lambda arg=False: self.ExitSelectAnswer(arg))
    		self.exitPopupDlg.Open()
    
    	def ExitSelectAnswer(self, arg):
    		if self.exitPopupDlg:
    			self.exitPopupDlg.Hide()
    		if arg:
    			self.ExitSelectConfirm()
    
    
    	def ExitSelectConfirm(self):
    		if LEAVE_BUTTON_FOR_POTAL:
    			if app.loggined:
    				self.stream.SetPhaseWindow(0)
    			else:
    				self.stream.setloginphase()
    		else:
    			self.stream.SetLoginPhase()
    		self.Hide()

    Try this, must work

    • Love 1
  13. 3 minutes ago, Draveniou1 said:

    1) Download cheat engine   2)  Try to stick the client in 1 second with the cheat engine and you will see that the server will output game.core

     

    solution and works perfectly

    			case SCMD_QUIT:
    				if (d)
    					d->DelayedDisconnect(2);
    					d->ChatPacket(CHAT_TYPE_COMMAND, "quit");
    				break;
    
    or
    
    			case SCMD_QUIT:
    				if (d)
    				{
    					d->DelayedDisconnect(2);
    					d->ChatPacket(CHAT_TYPE_COMMAND, "quit");
    				}
    				break;

     

    Did you understand than "d = ch->GetDesc()" ?

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