Jump to content

TMP4

Contributor
  • Posts

    1112
  • Joined

  • Last visited

  • Days Won

    20
  • Feedback

    100%

Everything posted by TMP4

  1. You may misunderstood me: 1. correct version: case SCMD_QUIT: if (d) d->DelayedDisconnect(2); break; 2. correct but redundant version: case SCMD_QUIT: ch->ChatPacket(CHAT_TYPE_COMMAND, "quit"); if (d) d->DelayedDisconnect(2); break;
  2. The thing it works, and the thing it's right is a totally different story ? Please don't be mad ? At least remove the d->ChatPacket(CHAT_TYPE_COMMAND, "quit"); because that is incorrect and redundant, and is outside of the if as hachiwari said. (If you really want to keep it, place if before the if and change back the d->ChatPacket to ch->ChatPacket)
  3. First of all you can't call it a fix, since you did not fixed the root of the error, just doing the disconnect in another way. (Let's say I broke my phone, if I buy a new phone then I did not fix my old phone) Secondly the "d->ChatPacket(CHAT_TYPE_COMMAND, "quit");" is redundant and not even correct with that d. It would be d->GetCharacter()->ChatPacket... but since we have ch we can use ch-->ChatPacket as it was. But again, it's redundant so better to remove, especially you forgot the braces ?
  4. Thanks, applied. 2021.10.24: - Applied a fix regarding a sound issue: [Hidden Content]
  5. Give me your link in DM and I'll have a look. Edit: @GoldCash Your patchlist.txt is wrong, you have to remove the D:/Client/ from every line. Also when I first opened the link, it said website unavailable for like 5 second then Chrome refreshed. I'm sure there are some protection / pre-filter enabled in your webserver. I never used LiteSpeed so can't tell more.
  6. Maybe your site have a redirect from http to https or something. In that case, use https link in the patcher.
  7. You can use the domain name and that's a better option.
  8. If you open your link in a browser does that work? If not, it's not related to the patcher. You need a working webserver.
  9. Small update, mostly convenience. 2021.10.18: - Changed "localhost" to "127.0.0.1" in Ch3-4 CONFIG files (just to be uniform with Ch1-2). - Changed the test server numbers from 11-12 to 21-22 in serverinfo.py to avoid state conflict. - Changed folder "horse_event1" to "pony" in mob_proto (20119 & 20219) so they will work better. - Commented 2410 from metin2_map_skipia_dungeon_02/regen.txt since that group_group not exists. - Fixed metin2_map_skipia_dungeon_01/boss.txt (changed Yonghan with Mighty Ice Witch, 8 hours). - Applied two fix regarding the client position & playarea size: 1. [Hidden Content] 2. [Hidden Content] - Added the old Tim extractor because Eternexus can't extract every file. (Eternexus_readme.txt)
  10. Type Visual Studio Installer in your windows's search box, then you can install it from there retrospectively. You need the "C++ MFC for latest v142 build tools".
  11. Speaking to Jxxkub excuse that I've seen this modification too somewhere, but ofc this does not mean you just reposted it. This forum have a strict rule about leaks/reposts, and while the rule needed, it evokes this attitude in some people. Anyway good code, keep it up?
  12. Download Or Google Drive: Download Empire War Rework + Automation I find the original forked_road strange and a mess so I made my own version. It is written in lua-only, even the automation. I wanted to keep things simple. Quest available in English and Hungarian language. For the map, I used metin2_map_sungzi_milgyo. It should be there in every client but I made some modification in it (ex. no-pvp zones at spawn) so I attached it for you. You can set: Minimum level to join Maximum attender / empire Required kill (point) to win Enable-Disable looser reward How to automate? If you want to automate the Empire War then install events_automation.quest too. The Empire War will run every Friday 20:00. (You can change it in the quest). What is looser reward? The looser empires can stay in the end for the reward (enabled in automation). If someone kill other player, first there is a warning, second kill he will get ported out. I advice to keep looser reward on, then everyone will be encouraged to participate. What is the reward? By default it will load a regen (provided). It have tanakas, golden frogs and fire goblets. Feel free to edit or change it. Have fun, TMP4
  13. After you create your character does they appear in player.player & player.player_index table? If not, you may have mismatched the db source player create function (ex. column names), if they does save to the database just don't appear in your client then the problem is bigger.
  14. Place this to season1/interface/oxevent and you can repack it with Eternexus: [Hidden Content]
  15. Did you set your IP? I have to ask because lots of people setting the IP what I got in the video, but you have to set your IP what you got from your DHCP server.
  16. If there is no syserr, does the core crash where they were? You can check it via the ps command after it happens. It would give an answer why they can only log in after a server restart -> because the core what they are in is offline. If the core crashed, provide a gdb backtrace.
  17. Ymir did not program it because they did not needed it, however it's not that hard: def AppendTimerBasedOnWearLastTime(self, metinSlot): if 0 == metinSlot[0]: if item.COSTUME_TYPE_BODY == item.GetItemSubType() or item.COSTUME_TYPE_HAIR == item.GetItemSubType(): defaultValue = 0 for i in xrange(item.LIMIT_MAX_NUM): (limitType, defaultValue) = item.GetLimit(i) defaultValue += app.GetGlobalTimeStamp() if item.LIMIT_TIMER_BASED_ON_WEAR == limitType: break self.AppendMallItemLastTime(defaultValue) else: self.AppendSpace(5) self.AppendTextLine(localeInfo.CANNOT_USE, self.DISABLE_COLOR) else: endTime = app.GetGlobalTimeStamp() + metinSlot[0] self.AppendMallItemLastTime(endTime)
  18. It is for that. You don't need Internet at all. You only need a router because it is a VM what needs to get a local IP address. If you don't have a router, then you can create a Host-only adapter in Virtualbox where you can turn on it's DHCP server and that will act like a router's DHCP server. Here is a tutorial: link (The host only adapters moved from settings to tools in newer Virtualbox version if you can't find it) But again, that only needed when you don't have any router. If you are in a wired connection you 99,99% have one and follow the video.
  19. Check the video in the first post, I literally show off how to start the server on localhost and how to connect.
  20. I usually use Google with a workaround: When a password reset email sent, an entry will be inserted to a database with the current timestamp and I only let the next email to be sent when the previous timestamps is at least 5 minute behind the current server time ? otherwise I notice the user to wait x time and try again. I only use mail for password reset tho but you can adapt this method to users like checking the ip and the ip's last timestamp. With this "trick" you can't really get blocked, especially if you just use it for password reset since the maximum email sent per day is (60/5)*24=288 and that should be enough for larger servers too. I think it only affects the user experience a bit, it’s still just below the limit. However I accept that paid solutions are better ?
  21. @Draveniou1 That fix is actually against hackers who bypasses the clientside block.
  22. To be safe as P3NG3R said, In shop.cpp edit this: if (r_item.price < 0) To this: if (r_item.price < 0 || (IsPCShop() && r_item.price <= 0)) (You may have the original check with <= too)
  23. VS19 community. I put _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1; to the c++ preprocessors in order to use stdext::hash_map in VS19 because dump_proto is old and needs that. Quote from hash_map: #ifndef _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS #error <hash_map> is deprecated and will be REMOVED. Please use <unordered_map>. You can define \ _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS to acknowledge that you have received this warning. #endif // _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS I'm sure it is removed in VS22. You can try to change every #include <hash_map> to #include <unordered_map> and every stdext::hash_map to std::unordered_map in dump_proto's source if you are using VS22. Or you can try the boost/unordered_map.hpp too. No support for that from me tho.
  24. I'm not doing anything special. Perhaps run it in the VS for debug and when it stops it may show why.
×
×
  • 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.