-
Posts
1112 -
Joined
-
Last visited
-
Days Won
20 -
Feedback
100%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by TMP4
-
-
1 minute ago, Draveniou1 said:
if remove this d-> Then there will be other problems on the game.core server in some random situations.
If you want to it but after that you will soon encounter problems with many players online with game.core
It's better to stay that way ----> if (d) d->DelayedDisconnect(2); d->ChatPacket(CHAT_TYPE_COMMAND, "quit");
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;
-
14 minutes ago, Draveniou1 said:
It's a different fix that may temporarily help many people who have had this problem for many years........ It has also been tested with many online players and works perfectly without any problems
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
-
2
-
-
-
1 hour ago, Veltor88 said:
I dont know if you noticed @TMP4 (i see nothing about it in changelog), but on 40k files some sound dont work after teleport (like horse gallop), here the fix
Thanks, applied.
2021.10.24: - Applied a fix regarding a sound issue: https://metin2.dev/topic/21011-old-error-with-sound/
-
1
-
-
20 minutes ago, GoldCash said:
Dont work
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 minutes ago, GoldCash said:
So i use domain name http://something/patcher and than i can see what in the web but patcher dont work
Maybe your site have a redirect from http to https or something. In that case, use https link in the patcher.
-
8 minutes ago, GoldCash said:
And i must write IP adress? Or I can use the domain name?
You can use the domain name and that's a better option.
-
1
-
-
1 hour ago, GoldCash said:
I have right IP adress
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.-
1
-
-
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. https://metin2.dev/topic/27934-fixwindows-opening-at-the-wrong-position/ 2. https://metin2.dev/topic/22740-fix-clients-height-taskbar-collision-after-vsupdate/ - Added the old Tim extractor because Eternexus can't extract every file. (Eternexus_readme.txt)
-
3
-
-
15 minutes ago, pad7rar said:
How to install ~ MFC lib ~ if I already have Visual Studio installed, there is a method without re-installing VS19 ? And include it, I have nothing to change because in the interface.rc I don't have such a thing with asfex.h
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".-
1
-
-
43 minutes ago, LikeWeed said:
But.. why? original code is made by me
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
-
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
-
95
-
1
-
2
-
1
-
1
-
1
-
1
-
1
-
26
-
1
-
7
-
64
-
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.
-
-
9 minutes ago, Akaii said:
First of all: Thanks for sharing.
I downloaded the files and setup the VM exactly as showed in the video.
The VM's network adapter is in bridge mode.
Then I added the IP to the root/serverinfo.py and regenerated/replaced it.However I cannot connect to the server: "Error while connecting to the server"
Any ideas where could be the problem? ThanksDid 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.
-
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.
-
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)
-
1
-
-
21 minutes ago, AdiMit said:
Sorry, I should have been more precise as to what I was trying to do. What I meant was running the server completely offline (as in when you don't have the access to the Internet).
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.
-
1
-
-
1 hour ago, AdiMit said:
Hiya
What settings (and where) should I change (server-side) to make the server work fully offline/localhost (127.0.0.1)?
Thanks in advance
Kind regards!
Check the video in the first post, I literally show off how to start the server on localhost and how to connect.
-
1
-
-
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
-
@Draveniou1 That fix is actually against hackers who bypasses the clientside block.
-
1
-
-
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)
-
1
-
-
46 minutes ago, narcisxb said:
What VS version do you use to compile it?
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.-
1
-
Block riding on mount with wedding armor equipped
in Community Support - Questions & Answers
Posted
Actually yes, look for if pc.is_polymorphed() then syschat("You are polymorphed...") and add
elseif pc.get_wear(0) >= 11901 and pc.get_wear(0) <= 11904 then syschat("No wedding dress allowed.")
when 71114.use or 71115.use or 71116.use or 71117.use or 71118.use or 71119.use or 71120.use or 71121.use or 71171.use or 71172.use or 71161.use or 71124.use or 71125.use or 71126.use or 71127.use or 71128.use or 71137.use or 71138.use or 71139.use or 71140.use or 71141.use or 71142.use or 71131.use or 71132.use or 71133.use or 71134.use or 71164.use or 71165.use or 71166.use begin if pc.is_polymorphed() then syschat("Átváltozva nem használhatod!") elseif pc.get_wear(0) >= 11901 and pc.get_wear(0) <= 11904 then syschat("Nem viselhetsz esküvői ruhát!") elseif false == pc.is_riding() then if true == horse.is_summon() then horse.unsummon() end ride.Ride(item.vnum, 0) else syschat("Először szállj le a mountról a ctrl+g billentyűvel!") end end