-
Posts
1106 -
Joined
-
Last visited
-
Days Won
20 -
Feedback
100%
TMP4 last won the day on March 11 2022
TMP4 had the most liked content!
About TMP4
- Birthday July 21
Informations
-
Gender
Male
-
Country
Hungary
Recent Profile Visitors
14635 profile views
TMP4's Achievements
-
TMP4 started following Metin2 Closed Beta Content (2003-2004)
-
Nice find, thank you for posting this topic. That "2003 February like 1.Closed Beta" must be just an early concept presentation and not a playable game. There's no way they developed it then scrapped it right away and came with what we have now.
-
Make NPC names load from clientside mob_proto: Look for CPythonNetworkStream::__RecvCharacterAppendPacket in PythonNetworkStreamPhaseGameActor.cpp Add this to the begginning of the function: #ifdef ENABLE_MULTILANGUAGE if (pkNetActorData->m_bType == CActorInstance::TYPE_NPC && !(pkNetActorData->m_dwRace >= 20101 && pkNetActorData->m_dwRace <= 20109) && !(pkNetActorData->m_dwRace >= 34001 && pkNetActorData->m_dwRace <= 34099)) // load npc names from clientside { const char* c_szName; CPythonNonPlayer& rkNonPlayer = CPythonNonPlayer::Instance(); if (rkNonPlayer.GetName(pkNetActorData->m_dwRace, &c_szName)) pkNetActorData->m_stName = c_szName; } #endif
-
char.cpp in void CHARACTER::ChatPacket this: #ifdef ENABLE_MULTILANGUAGE std::string sTranslateText; if (type != CHAT_TYPE_COMMAND) { if (GetLang() > MAX_LANGUAGES) sTranslateText = LC_TEXT(DEFAULT_LANGUAGE, format); else sTranslateText = LC_TEXT(GetLang(), format); } #endif and this a little under: #ifdef ENABLE_MULTILANGUAGE int len = vsnprintf(chatbuf, sizeof(chatbuf), format, args); if (type != CHAT_TYPE_COMMAND) len = vsnprintf(chatbuf, sizeof(chatbuf), sTranslateText.c_str(), args); #else Is just not needed at all and makes this problem. Every shout, party, info etc chat would go to LC_TEXT what adds a "@0949" to the message if translation not found in in locale.cpp's locale_find (it's hidden but you can see in /n for example or if you write messages to console) and that "@0949" makes accents bad plus you get a syserr each time somebody shout or party or guild chat etc. So you can delete this 2 ifdef if you already set every LC_TEXT(DEFAULT_LANGUAGE.. / LC_TEXT(ch->GetLang().. and I'm sure you did because LC_TEXT's new first attribute is mandatory so if you didn't then you couldn't compile the game. So that's why I said this is just not needed at all and can be removed. Edit: LC_TEXT(TRANSLATE_LANGUAGE will not work. Use LC_TEXT(ch->GetLang().. (Sorry for bumping old topic but I wanted to share the fix)
-
TMP4 started following Multi Language System
-
First of all thanks for the release. If anyone try to use this multilang system, here's some tip for the quests because making different quest states for each language as in the example will be a nightmare. translate.lua: --Default arrays gameforge.blacksmith = {} gameforge.blacksmith._10_npcChat = {} gameforge.blacksmith._20_sayTitle = {} gameforge.blacksmith._30_say = {} gameforge.blacksmith._40_sayTitle = {} gameforge.blacksmith._50_sayReward = {} --EN gameforge.blacksmith._10_npcChat["en"] = "I want to upgrade something. " gameforge.blacksmith._20_sayTitle["en"] = "Blacksmith " gameforge.blacksmith._30_say["en"] = "Greetings![ENTER]I am responsible for upgrading items. If you want[ENTER]to upgrade an item, just bring it to me. " gameforge.blacksmith._40_sayTitle["en"] = "Information: " gameforge.blacksmith._50_sayReward["en"] = "Drag an item from your inventory onto the[ENTER]Blacksmith. " --HU gameforge.blacksmith._10_npcChat["hu"] = "Szeretnék valamit feljavíttatni. " gameforge.blacksmith._20_sayTitle["hu"] = "Kovács " gameforge.blacksmith._30_say["hu"] = "Üdvözöllek![ENTER]Én felelek a tárgyak feljavításáért. Ha fel[ENTER]szeretnél javíttatni egy tárgyat, hozd csak ide[ENTER]nekem. " gameforge.blacksmith._40_sayTitle["hu"] = "Információ: " gameforge.blacksmith._50_sayReward["hu"] = "Húzz rá egy tárgyat a leltáradból a Kovácsra. " questlib.lua: function get_lang_name() if get_lang() == 1 then return "hu" end return "en" end blacksmith.quest: quest blacksmith begin state start begin when blacksmith.chat.gameforge.blacksmith._10_npcChat[get_lang_name()] begin say_title(gameforge.blacksmith._20_sayTitle[get_lang_name()]) say(gameforge.blacksmith._30_say[get_lang_name()]) wait() say_title(gameforge.blacksmith._40_sayTitle[get_lang_name()]) say_reward(gameforge.blacksmith._50_sayReward[get_lang_name()]) end end end Some caching mechanism to the get_lang_name() would be nice too. Also do not use this in notice_all because it will notice all in the player's language... Maybe use ["en"] to display notice_alls in english for everyone or code some translating mechanism for the client (e.g. replace chars when displaying the messages depending on the current lang). +1 note: the default qc did not like the [get_lang_name()] in the when statement but a friend gave me a "fixed" qc which you can download here.
-
julien57190 started following TMP4
-
thekignngn started following TMP4
-
martineden97 started following TMP4
-
habernative started following TMP4
-
cms [Replica] Old Metin2 Website & ItemShop
TMP4 replied to TMP4's topic in Web Development & Scripts / Systems
Then it does not insert coin column. Try this: mysqli_query($sqlServ, $exec); --> mysqli_query($sqlServ, $exec) or die('Unable to execute query. '. mysqli_error($sqlServ)); then it will display the error.- 33 replies
-
- 1
-
cms [Replica] Old Metin2 Website & ItemShop
TMP4 replied to TMP4's topic in Web Development & Scripts / Systems
Check the insert into query in php and your account table. Most likely you missing a column. If I have to guess, it'll be the coin column. Add it to your table, or edit the insert query.- 33 replies
-
It's not a bug. It comes from the PM Flood kick hack fix. I believe It does not affect normal players, since a normal player does not send a lot of messages in such speed. "two or more messages at high speed" It's actually 4 if you check the src or your gif.. Do not uninstall completely this fix. If you edit "ch->GetPMCounter() > 3" in input_main.cpp to something bigger then you can flood other players more before the disconnect happens, if your players are typing champions
-
xrhstos000 left Positive feedback for TMP4
-
xrhstos000 left Positive feedback for TMP4
-
xrhstos000 left Positive feedback for TMP4
-
Thank you so much! I downloaded it and uploaded it to the mega.nz archive.
- 1418 replies
-
- 97
-
In the source files the language texts are in korean. If you open the file with a text editor with a bad character encoding, the korean letters will be converted to something else and it won't find their translation in locale_string. That's happened to you. Once you saved the file you can't fix it, the korean letters are gone. Take a backup and be sure next time you edit it with keeping the encoding. You can turn off auto character encoding in Notepad++ settings, or use other editor, for example Visual Studio.
-
The problem I don't have backup of the video file and youtube won't let you download it if it's striked. If I have backup, I would reupload it to somewhere else.
-
Any chance anyone saved it?
-
2023.08.05: - New freshly installed VM with FreeBSD 13.2. - Installed a fix about an exploit: [Hidden Content] - Expect this as the last update unless there will be some serious problem. What's left on my todo list is MySQL8 compatibility, sadly don't expect it from me, lately I am interested in other things than Metin2. If anyone do it and wanna share it (I will include the credit), contact me.
-
Yes. It is a 60 second loop timer, not a 1-2 second one. But you're free to modify, and events_automation.quest is optional, if you don't wanna use it then don't use it, or do it in another way.
-
?FreeBSD 13.2 and MySQL 5.6?
TMP4 replied to 7teendev's topic in Community Support - Questions & Answers
[Hidden Content] There's a readme inside. Tested on 13.1 and 13.2. Probably won't work on 14.x- 7 replies
-
- 383
-
Here's my examples