Jump to content

TMP4

Contributor
  • Posts

    1112
  • Joined

  • Last visited

  • Days Won

    20
  • Feedback

    100%

Posts posted by TMP4

  1. 16 hours ago, Filiq said:

    Hello, 

    ChildLoop: AsyncSQL: query failed: Data truncated for column 'size' at row 1 (query: replace into mob_proto (vnum, name, locale_name, type, rank, battle_type, level, size, ai_flag, setRaceFlag, setImmuneFlag, on_click, empire, drop_item, resurrection_vnum, folder, st, dx, ht, iq, damage_min, damage_max, max_hp, regen_cycle, regen_percent, exp, gold_min, gold_max, def, attack_speed, move_speed, aggressive_hp_pct, aggressive_sight, attack_range, polymorph_item, enchant_curse, enchant_slow, enchant_poison, enchant_stun, enchant_critical, enchant_penetrate, resist_sword, resist_twohand, resist_dagger, resist_bell, resist_fan, resist_bow, resist_fire, resist_elect, resist_magic, resist_wind, resist_poison, dam_multiply, summon, drain_sp, skill_vnum0, skill_level0, skill_vnum1, skill_level1, skill_vnum2, skill_level2, skill_vnum3, skill_level3, skill_vnum4, skill_level4, sp_berserk, sp_stoneskin, sp_godspeed, sp_deathblow, sp_revive) values (101, "??", "Wild Dog", 0, 0, 0, 1, 0, 0, 1, 0,

    in syserr db and in all database at 'size' is empty, same as in mob_proto.txt, i mention, i didn't change anything

    Thanks  for reporting this. It is because of the MySQL56 having sql_mode set to STRICT_TRANS_TABLES thefefore we can not save zeroth element to the size column because it is an "enum" type, it would be invalid, "enum" must have a specified element (from 1 to n) or null. To solve this we can either change sql_mode in my.cnf but I choose to just modify the size column from "enum" to "set" ("set" can be set for zeroth element), because it would be harder for people to configure the mysql server if they put it to vps. Also it is an unused column, not worth the hassle.

    So Mega archive updated:

    2022.12.14: - Fixed an issue with mob_proto size column after the MySQL56 update. Because MySQL56 have set sql_mode to
                  STRICT_TRANS_TABLES by default, we could not save zeroth element for an enum. The easiest solution is to
                  modify it from "enum" to "set", because we can set zeroth element for "set" type.
                - Added locale_string.txt translation for "´ő ŔĚ»ó ŔĚ ľĆŔĚĹŰŔ¸·Î ĽÓĽşŔ» Ăß°ˇÇŇ Ľö ľř˝Ŕ´Ď´Ů"; (6-7 bonus).

    You can modify the size column in navicat design table, just set size to "set". Or you can run this query:

    ALTER TABLE `mob_proto` MODIFY COLUMN `size`  set('SMALL','MEDIUM','BIG') CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT 'SMALL' AFTER `level`;
    


     ---------------------------------------------------------------------------
     

    10 hours ago, Pseudabo said:

    @ TMP4 Today I added cython and I found some wrong things, you can update your source..

    1. I found some mistakes in code with double ";;" (you can but not must repair it, just why not..)

    DXTCImage.cpp line 671 -> ;;
    GrpDevice.cpp line 735 -> ;;
    GrpImageTexture.cpp line 100 -> ;;
    spherepack.cpp -> line 42 -> ;; line 704 -> ;; line 740 -> ;;
    GameType.h line 70 -> ;;

    2. In PythonLauncher.cpp

    search:

    PyModule_AddIntConstant(builtins, "TRUE", 1);
    PyModule_AddIntConstant(builtins, "FALSE", 0);

    replace:

    TRUE to True and FALSE to False

    Now root:

    consolemodule.py line 501 -> FALSE to False
    interfacemodule.py line 1112 -> FALSE to False
    intrologin.py line 799 -> FALSE to False
    uiaffectshower.py line 537 -> FALSE to False line 548 -> FALSE to False
    uiinventory.py line 128 -> FALSE to False

    consolemodule.py line 497 -> TRUE to True line 623 -> TRUE to True line 629 -> TRUE to True
    intrologin.py line 804 -> TRUE to True
    ui.py line 1283 -> TRUE to True
    uiaffectshower.py line 262 -> TRUE to True line 266 -> TRUE to True -> line 643 -> TRUE to True
    uiinventory.py line 230 -> TRUE to True line 995 -> TRUE to True

    3. in root

    intrologin.py line 755 -> locale. to localeInfo. line 762 -> locale. to localeInfo.

    4. PythonUtils.cpp -> add to up:

    #define PyLong_AsLong PyLong_AsLongLong
    #define PyLong_AsUnsignedLong (unsigned long)PyLong_AsLongLong

    5. warnings in console

    VertexShaders.h line 171  %s -> %p

    Error.cpp line 59 -> change to:

    fprintf(fException, "Time Stamp: 0x%08x - %s\n", static_cast<unsigned char>(module_time), ctime(&module_time));


     

    I knew about these, yes the ;;, warnings, or even TRUE instead of True and stuffs like that can hurt eyes but since it is a reference serverfile and not advanced files, I kept everything as it was, unless it is a bug/exploit.

    But thanks for the list, it is useful and people can use it to tidy and improve their code.

    • Love 2
  2. 2 hours ago, БlyatMAN said:

    Try to put the 3d one. On first and second its ok but when you cant add more then 2 its problem.

    Yes that's a missing translation.

    Add this to locale_string:

    "´ő ŔĚ»ó ŔĚ ľĆŔĚĹŰŔ¸·Î ĽÓĽşŔ» Ăß°ˇÇŇ Ľö ľř˝Ŕ´Ď´Ů";
    "You cannot add more bonus.";

    Then it will show the translated text when you want to add a 3rd 6-7:

    K-perny-k-p-2022-12-13-233017.png

  3. 12 hours ago, БlyatMAN said:

    when i add 6/7 on item i have this error in syserr 

    locale_find: LOCALE_ERROR: "더 이상 이 아이템으로 속성을 추가할 수 없습니다";

    and i put it in string with the translation but still dosent work any fix?

    or i did something wrong?

    I only tested english now but it works.

    What language do you use?
    If it works in the untouched serverfile, you may messed up the cpp file character encoding (char_item.cpp i think).

  4. 4 hours ago, Ulas said:

    directx8.lib have problem if you click item shop menu you can saw @ TMP4

     

    Could not reproduce it. First I tought it maybe your attached debugger, but I tried with a debugger too:

    In the past year and a half, no one has reported such an error to me, even though quite a lot of people have used and are using this server file.
    Is it happening with an untouched source too? (Redownload & test)

    • Love 1
  5. On 12/4/2022 at 5:31 AM, garofolo said:

    BUGGGGGGGG SOMEONE HAVE FIX????

    So I reinscpected the level refresh. Actually it is quite simple to make others players see your actual level:

    PythonNetworkStreamPhaseGame.cpp

    bool CPythonNetworkStream::RecvPointChange()
    {
    	[...]
    	if (PointChange.dwVID == pInstance->GetVirtualID())
    	{
    		[...]
    	}
    	//Add this else
    	else
    	{
    		if (PointChange.Type == POINT_LEVEL)
    		{
    			pInstance = CPythonCharacterManager::Instance().GetInstancePtr(PointChange.dwVID);
    			if (pInstance)
    			{
    				pInstance->SetLevel(PointChange.value);
    				pInstance->UpdateTextTailLevel(PointChange.value);
    			}
    		}
    	}
    
    	return true;
    }

    You just need to add that else and it will work.

    Be aware it will only work when pointchange packet is broadcasted, e.g. someone leveled up via killing mobs, getting exp.
    If a player receive level by GM command (/level, /advance) the packet will not broadcasted to all players, only the specific player gets it.

    Edit: Mega archive updated with this change.

    2022.12.05: - Added level refresh for other players at RecvPointChange in PythonNetworkStreamPhaseGame.cpp line 1540-1550.
    • Good 1
  6. 59 minutes ago, Shishiro said:

    i need help,

    I'm running the game on Freebsd 9.2 can someone give me the libs please

    Shared object "libcxxrt.so.1" not found, required by "game"
     

    Two very important thing:

    • Do not use FreeBSD 9.2 in late 2022. It was EOL at December 31, 2014...
    • Do not download random libs from the internet. If you have an x64 vps, then compile game-db in virtualbox running same FreeBSD version just x32 where you can compile, and take the libs from the vm.
  7. 1 hour ago, Ulas said:

    I do again create item

    The item is not time limited probably that's why the socket 2 does not set in the player.item table.

    I suggest you to modify the ride.quest then like this:

    			ride_info = {
    				[71114] = { 20110,	5*60,					apply.DEF_GRADE_BONUS,	75,		75,	true	},
    				[71115] = { 20110,	24*60,					apply.DEF_GRADE_BONUS,	100,	75,	false	},
    				[71116] = { 20111,	5*60,					apply.DEF_GRADE_BONUS,	100,	80,	true	},
    				[71117] = { 20111,	24*60,					apply.DEF_GRADE_BONUS,	150,	80,	false	},
    				[71118] = { 20112,	5*60,					apply.DEF_GRADE_BONUS,	125,	85,	true	},
    				[71119] = { 20112,	24*60,					apply.DEF_GRADE_BONUS,	200,	85,	false	},
    				[71120] = { 20113,	5*60,					apply.ATT_GRADE_BONUS,	200,	85,	true	},
    				[71121] = { 20113,	24*60,					apply.ATT_GRADE_BONUS,	300,	85,	false	},
    				[71171] = { 20227,	item.get_socket(2)*60,	apply.MOV_SPEED,	60,		1,	false,	false,	false},
    				[71172] = { 20226,	item.get_socket(2)*60,	apply.MOV_SPEED,	60,		1,	false,	false,	false},
    			}

    Don't forget to recompile the quests via make.py or questcompile command.

    Edit: Tested it, updated the mega.nz archive with this quest modification.

    • Good 1
  8. 10 hours ago, Ulas said:

    Have mount bug 

     

    The right id for the boar mount is 71114. Use that.
    71115 were unused / experimental item, what were not available for players.
    But as you highlighted in your quest, it takes the item_proto's socket 2 value * 60. If you set a socket 2 value greater than 0, or modifiy the quest for a fix time like 71114 have, then 71115 will work too.

    10 hours ago, siema said:

    Hello, why alchemy requires now 15 slots for class upgrade? If i remember correctly it used to be 4 in previous version?

    It's the very first version, that's why it needs 15 slots from Rough to Cut.
    They nerfed the requirements over the years. 

    The first version values are: 

    • Rough to Cut: 15
    • Cut to Rare: 10
    • Rare to Antique: 5
    • Antique to Legendary: 3
    • Legendary to Mythic: not exist in the first version
    • Good 1
  9. On 11/14/2022 at 6:10 PM, uncons said:

    Hi guys i want this metin2 server but help me pls for mysql55-client , mysql55-server i searched mysql but have not mysql55

    can i upload mysql 56 ? my first developer time btw. help me please for this bcs my server waiting this. Thanks

    https://metin2.download/picture/rZ0ahQla7sh35n4J0JKm4WAyRssLkiSh/.png

    Just pkg install mysql56-server

    No need to do any modification. It'll work as 55.

    Edit: VDI replaced MySQL55 with MySQL56. Also updated the tutorial txts. Mega archive updated.

    • Good 1
  10. 1 minute ago, iTsShowTime said:

    I was whatching this topic

     

    And i saw many patchs and i like to know if any of that can be apply to your files, for that I needed to know what patch the files have and from which patch I can implement it to stay as current as possible.

    Thats only the unpacked clientside parts, mostly without the binary c++ and root part.

    You can apply anything unless you code the svside and clientside binary part. They're not 1 click install.

    However there are releases in this forum (free and paid too) for new systems, new dungeons etc to install easier.

    • Love 2
  11. 1 hour ago, БlyatMAN said:

    what msql version runs pecause i put the svfl on vps but homepage is not creating accounts.?

    That problem is not related to that but MySQL55 and 56.

    Probably your website wants to write an extra column, but that column does not exist in the account table. Check this:

     

    18 hours ago, iTsShowTime said:

    @ TMP4 Hey bro, do you know what's the next official patch after the one you use to this files?

     

    Thanks allot

    Don't know what you mean. The 40k was the last official serverside leak.

  12. 6 hours ago, lordzokarum said:

    I guess I didn't express myself properly with this DEX HP DEFENCE stuff. Please look at the video you will understand

     

    video explanation

     

    https://vimeo.com/767985960

    DEX does not incrase defence. They're nex to each other but they're completly different. It is what it has been since metin2 released.

    Let me quote the tooltips when you hover them:

    • HP: "Increase Increase HP and defence" <-- works fine in your video
    • DEX: "Increase attack and evasion" <-- works fine in your video

    K-perny-k-p-2022-11-07-091743.png

    • Good 1
  13. On 11/3/2022 at 3:25 PM, lordzokarum said:

    @ TMP4

    Found an interesting situation. 

    1. Open Character Status window (click c)
    2. click on Defence increase button (the + plus button) = Defence is NOT increasing
    3. click on HP increase button (the + plus button) = HP increases BUT Defence increases TOO

    can anyone help??

    Thanks

    DEX does not increase Defence, yes they're next to each other but they're completly different thing
    If you hover on the DEX: "Increase attack and evasion" And those 2 are really increasing.

    1 hour ago, lordzokarum said:

    @ TMP4

    which offline shop do you suggest for this files??

    It's up to you. The one you can install / afford. I'm not running any live server, I cannot share my experience about offline shops. What's sure is if you go with a free public version, you gonna need some skill to fix bugs and patch things.

    • Good 1
  14. 7 hours ago, lordzokarum said:

    $UserID=mysqli_real_escape_string($sqlServ, $_POST["UserID"]);
    $Password=mysqli_real_escape_string($sqlServ, $_POST["Password"]);
    $Password2=mysqli_real_escape_string($sqlServ, $_POST["Password2"]);
    $Email=mysqli_real_escape_string($sqlServ, $_POST["Email"]);
    $UserName=mysqli_real_escape_string($sqlServ, $_POST["UserName"]);
    $DeleteCode=mysqli_real_escape_string($sqlServ, $_POST["DeleteCode"]);
     

    $exec="insert into account (Login,Password,Real_name,Email,social_id) values('$UserID',password('$Password'),'$UserName','$Email','$DeleteCode')";
    mysqli_query($sqlServ, "set names big5 ");
    mysqli_query($sqlServ, "set CHARACTER big5 ");
    mysqli_query($sqlServ, $exec);

     

    PS : same happened with metin2CMS too

    Real_name does not exists in a default account table, so add it.

    ALTER TABLE account ADD COLUMN `real_name` VARCHAR(255) DEFAULT NULL AFTER `email`;

    • Good 1
  15. 1 hour ago, Nuzzo said:

    You are right.

    I worked for a few weeks on VDI, using mysql 5.5 which was already inside.

    I am trying to port the database to VPS with mysql 5.6.
    If I backup the database once I get into the game some things don't work, such as pg and npc names.

    Instead if I manually enter via navicat, I get errors and it does not load some tables. 

    Try to use mysqldump for the backup and restore: https://www.sqlshack.com/how-to-backup-and-restore-mysql-databases-using-the-mysqldump-command/

  16. On 10/10/2022 at 11:01 AM, TonisBoss said:

    Mysql55-server service ended support on FreeBSD13.1 and can't install the service.
    What should I do?

    Use MySQL56. pkg install mysql56-server 
    Since the tar.gz cames from a mysql55 server I suggest you to use the provided sql dump files instead to create the database. Don't forget to create the mysql users for the server.

    6 hours ago, Nuzzo said:

    I am trying with mysql56, but I am having problems. I think some data and some structures are different, I worked with vdi until now using mysql55 but now that I put everything on vps, it doesn't work

    MySQL56 works by default. No modifications need to be made. I'm using it for my test srv.

    "I am having problems" If you do not tell us your problems, we cannot help.

  17. 4 hours ago, Kafsoul said:

    I have connection problem with client to server, i've changed  ip address but server "..."

    Freebsd IP 192.168.1.193
    fdjk0ub.png

    Client Pack Root IP 192.168.1.193
    1ywjxr6.png

    Serverfiles game99 CONFIG File
    j7w9zyf.png

    Servers Offline On Client
    7xokl92.png

    I can't connect the server 😞
    9225xz8.png

    what should i do for connect? I tested Navicat, PuTTy and WinScP can connect server but i can't with the client. Should i change any port or FreeBSD IP? Please help.

    Your server have Ip of 192.168.1.193 but you set 193.168.0.193 on client.

    • Love 1
×
×
  • 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.