Jump to content
Maintenance : Final step ×

TMP4

Contributor
  • Posts

    1114
  • 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

15889 profile views

TMP4's Achievements

Perfect

Perfect (15/16)

  • Great Content Rare
  • Well Followed Rare
  • Posting Machine Rare
  • Reacting Well
  • Dedicated

Recent Badges

11.8k

Reputation

  1. I used this: Client should be novaline because that's the only, but the serverside should be mainline. Either mainline or mainline_released.
  2. The game does not even use libpng. You're using a DevIL compiled with libpng included what is totally unneceserry. You have 2 choice: Use DevIL without png and others because the game only uses tga and DevIL supports that by default. Use this to compile the lib. Then on your MakeFile include the lib like this: LIBS += ../../../extern/lib/libIL.a Copy the lib from the bsd where you compiled the game to your vps, because it is there. It's not a "clean method" but if you install libpng that may install newer version, and while your src uses x32 libs, you're installing x64 version on your x64 vps so it will not work... PS if you use static libs for everything like this with libIL.a, you don't need any .so file on your vps because static libs are included to the game file.
  3. Yes that's what I did too in the meantime. But I have a feeling it'll be deprecated too in MariaDB soon.
  4. Did you read what ChatGPT said to you? It talked about a completly different thing. Like asking about a paint of a car then the person starts talking about the motor of the car ? ---------------- However my 1. question is still a mystery for me. Anyone using MySQL8.0.35 can check it for me please if they have the host? It's enough to check it when starting the db and see "AsyncSQL: connected to " if there is an ip or empty string.
  5. Mysql includes should be fine. LIBS += /usr/local/lib/mysql/libmysqlclient.a /usr/lib/libz.a INCDIR += -I/usr/local/include Some line from Depend about MySQL: .obj/NetBase.o: PeerBase.h DBManager.h /usr/local/include/mysql/mysql.h .obj/NetBase.o: /usr/include/stdbool.h /usr/include/stddef.h .obj/NetBase.o: /usr/include/stdint.h /usr/include/machine/_stdint.h .obj/NetBase.o: /usr/include/x86/_stdint.h .obj/NetBase.o: /usr/local/include/mysql/field_types.h .obj/NetBase.o: /usr/local/include/mysql/my_list.h .obj/NetBase.o: /usr/local/include/mysql/mysql_com.h .obj/NetBase.o: /usr/local/include/mysql/my_command.h .obj/NetBase.o: /usr/local/include/mysql/my_compress.h .obj/NetBase.o: /usr/local/include/mysql/mysql/udf_registration_types.h .obj/NetBase.o: /usr/local/include/mysql/mysql/client_plugin.h .obj/NetBase.o: /usr/local/include/mysql/mysql/plugin_auth_common.h .obj/NetBase.o: /usr/local/include/mysql/mysql_version.h .obj/NetBase.o: /usr/local/include/mysql/mysql_time.h Fresh BSD, only MySQL80 was installed.
  6. I just updated my server to be compatible with MySQL80. I have two question: 1. in AsyncSQL.cpp CAsyncSQL::Connect function the m_stHost value is lost after mysql_init. fprintf(stdout, "before m_stHost %s\n", m_stHost.c_str()); if (0 == mysql_init(&m_hDB)) { fprintf(stderr, "mysql_init failed\n"); return false; } fprintf(stdout, "after m_stHost %s\n", m_stHost.c_str()); Output: before m_stHost 127.0.0.1 after m_stHost Why is it happening? I can't see any relation to m_stHost. There's surely something I'm not seeing here. The other variable like m_stUser doesn't affected. It doesn't cause any problem because later the mysql_real_connect function convert the empty host value to "localhost", so it works except the console print at the function end will display "AsyncSQL: connected to " (I know i can do something like copy m_stHost to m_stHost2 and display that in the change "AsyncSQL: connected to %s" but I really want to know why it's happening..) My whole AsyncSQL.cpp if needed: [Hidden Content] -------------------------------------------------------------------- 2. MYSQL_OPT_RECONNECT is deprecated. "WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version." Has anyone dealt with this yet? It's just a warning as of now but my guess is they'll remove it pretty soon since it related to some security issue.
  7. Thank you, it actually solved the issue however it is not clear for me why the issue came from the quickslot's items. My 'fear' is there's still some issue and it's just a workaround to hide it.
  8. 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.
  9. 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
  10. 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)
  11. 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.
  12. 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.
  13. 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.
  14. 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 ?
  15. Thank you so much! ? I downloaded it and uploaded it to the mega.nz archive.
×
×
  • 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.