Jump to content

PetePeter

Member
  • Posts

    106
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by PetePeter

  1. 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. 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
  3. 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
  4. 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
  5. 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
  6. Change that function give_item_bonus_and_equip(vnum, bns) pc.give_item2_select(vnum) if bns then item.set_attr(bns) end end
  7. I recommend him, he know what he's doing and he's always helpful !
  8. Just don't use same HOSTNAME, use this way: HOSTNAME: channel1_core1 HOSTNAME: channel1_core2
  9. That's why I said on the same network, you need to connect to mysql with local request
  10. Be sure to have the mysql server on the same machine/network also
  11. 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')))));
  12. 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')
  13. 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)
  14. 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
  15. How about "BroadcastNotice" ? Actually we format the string before sending it, have any way to send the arguments to the "notice_packet_func" function ?
  16. If the define is commented the code is not included on the build, so i don't understand the problem
  17. Or just comment the define xD //#define ENABLE_LIMIT_TIME
  18. 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
  19. Did you understand than "d = ch->GetDesc()" ?
  20. case SCMD_QUIT: if (d) d->SetPhase(PHASE_CLOSE); ch->ChatPacket(CHAT_TYPE_COMMAND, "quit"); break; What's wrong with simple things ?
×
×
  • 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.