Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/17/19 in all areas

  1. There is some inconsistecies in packet definition of game and client binary. This error usually occurs when one binary expects the size of a packet to be actually larger or smaller than it is: game source typedef unsigned char BYTE; struct test_packet { BYTE header; BYTE value1; int value2; unsigned long value3; } TTestPacket; client source typedef unsigned char BYTE; struct test_packet { BYTE header; BYTE value1; long value2; unsigned long value3; } TTestPacket; As you can see both packet looks almost the same but sizeof(int) is 4 and sizeof(long) is 8. So when one binary copys values pointed by const void* using sizeof(TTestPacket) it will either be missing 4 bytes or have 4 more. Long story short check all your packets declarations
    2 points
  2. The server owner I made became an idiot, enjoy them! [Hidden Content] Pictures of the costumes you find in the archive: click
    1 point
  3. M2 Download Center Download ( Latest Version ) Greetings! The new beta is finished! I'm proud to present r71480. This time a few things have changed. And in this revision, we have a lot of new stuff. In the following I'll provide the download link along with the things I'd love you to test. *** DISCLAIMER *** The core is marked as stable. Anyway, I'll make it clear that I'm not responsible if you use this core since I can't give a warranty that I fixed every single security breach that potentially could happen - that's totally impossible. But we all together made the source great and secure so every public issue is fixed by now. You can use it in production environments now. So... What's new? boot-trigger for quests With this you can execute commands, timers, and all the stuff you'd like to have just on boot-time! revisioning of the 'unique class' (+ a ton of posibilities) added the functionality to create unique-groups temp-Variables for quests upgraded all libs moved completely to the newest clang version fixed some big security issues in the source code fixed the ingame ban and unban commands unified tables and gave them a new way: unify! file clean-up revisioned the makefiles gave the source a new, easier structure removed all external dependencies just install them by ports.. No external-folder necessary! removed 'boost' dependency (no boost lib needed yay) partial implementation of the wolfman (claws etc. are added, needs review) And basically everything that has been offered in the earlier versions of the vanilla core. Nothing should be missing. And if you miss something, just feel free to tell me! What needs testing? There are few things I'd love you to test out: Please check if the core is vulnerable to any security breaches you may know (also the public ones, don't know if I missed something) Please test out the new features! I'd really love to know if the new unique-functions and the boot-trigger does the job. Explanation to new features: Unique with container support Unique has evolved! This time you have a few new possibilities. Don't know what unique is? Here's a short explanation: With the unique-questfunctions you can spawn or set mobs, npcs and now even players to have a unique name. This name is stored into a unique-container. You can access this container and get all the vid's by their unique name (also called: the key) So for example you can spawn a boss with a key. Later on you can check if this specific mob has been killed or not. Or you can set his hp on-the-fly. There's basically no limits! And now with the revised system you'll have even more options. The new unique system works with containers. By default there are two containers reserved: __DEFAULT__ and __CHARACTER__. The first one is for all the basic stuff. And the second one is reserved for players. Now, as you may have noticed, there's a default one which means that the container-stuff is optional. If you just use the unique functions without specifying a container, it'll just use the default stuff. But you CAN use your own containers just as you want to. You can create, delete and list all the containers running. There is a list with all the quest-functions down below. boot-trigger This is pretty self-explanatory. With this release you can use "when boot begin" to specify a block of code that will be executed once the core has been booted. temp-variables With the new temp-variables you can set and remove player-specific variables. They are stored in the core and not written to disk or database. So be careful because they might get dropped once the core shutdowns. It's just a quick storage for people who want to have something like a cache for quick access. new quest functions nil unique.spawn_unique(string key, int vnum, string pos=unused, string container=optional) nil unique.set_unique(string key, int vid, string container=optional) nil unique.purge_unique(string key, string container=optional) nil unique.kill_unique(string key, string container=optional) bool unique.is_unique_dead(string key, string container=optional) int unique.get_hp_perc(string key, string container=optional) nil unique.set_def_grade(string key, int def, string container=optional) nil unique.set_hp(string key, int hp, string container=optional) nil unique.set_max_hp(string key, int maxhp, string container=optional) int unique.get_vid(string key, string container=optional) bool unique.exists(string key, string container=optional) table unique.get_container_list() this prints out all the unique containers table unique.get_container_list(string key) this prints out all the vids in the unique-container "key" nil unique.remove_container(string key) removes a whole container (flushes it when called on standard containers) nil pc.temp_var_set(string key, string value) string pc.temp_var_get(string key) nil pc.temp_var_delete(string key) Thanks a lot for participating! If there are any questions, this is the topic related to it. Further releases will be made public here too! If you'd like to contribute, just post code additions here. Changelog older changelogs Download Useful information: All necessary libs are included. If you're building your own vanilla binary you'll first have to move into every project of the Internal directory and rebuild the libs. The main makefile is not adapted yet, I was too lazy (ps: Still too lazy!) rev 71480 see this post: rev 70220 STABLE Core Sourcecode M2D Storage Password for the archive is: vanilla Password for older source archives: vanillamt2 Best Regards Vanilla
    1 point
  4. In fact it does it on purpose for the people who install without testing or customizing the code.
    1 point
  5. This error started showing after some changes i suppose, check changes you did like new systems and so on. If you instead got a new clean server and client source maybe you should start considering they're either different releases or not so clean.
    1 point
  6. There is another bug with weapon sockets, it doesn't add up the affects given by the metin stones. Solution: You have to skip item.cpp from zip and make changes in only this line: #Find if (m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR) #Replace if ((m_pProto->bType == ITEM_WEAPON || m_pProto->bType == ITEM_ARMOR) && m_pProto->bSubType != WEAPON_QUIVER) It's look better and working
    1 point
  7. And look for 20000 in every fu** place.
    1 point
  8. ON KILL YOU HAVE: pc -> the char npc->the entity victim. You can do like official:
    1 point
  9. I'm working right now on wave_dungeon and I can assure you that you have to redo all of the free version broken.
    1 point
  10. If you use the skill duration extension group bonus, the duration of the STUN will be prolonged in a dangerous/ugly way. (STUN can to last kinda 70 seconds) Can we exclude ONLY the STUN bonus from this calculation? Ps.The official server, says that perch fish is used to remove this "bug" so it's good. Most of players hate this so I think is better to exclude STUN bonus from the duration calculation.
    1 point
  11. It's like official. Item block = Can't go out from the ACCOUNT -> not just from char. Btw if you want to block there too: File: input_main.cpp Find for: "void CInputMain::SafeboxCheckin" Find this if: "if (true == pkItem->isLocked())" Add this new check after:
    1 point
  12. There are several serious errors, please write in english.
    1 point
  13. Nice? I was going to vomit when I saw it xD
    1 point
  14. Can be a bug from bonuslist python lol
    1 point
  15. 1 point
  16. It's not a problem. It's caused from a safety packets limitation made by ymir.
    0 points
×
×
  • 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.