-
Posts
137 -
Joined
-
Last visited
-
Days Won
3 -
Feedback
100%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by Mitachi
-
@ Mali be careful, Webzen wants to take you out, it's a trap.
- 16 replies
-
- 12
-
official SungmaHee Tower Official Servers (C++, Python)
Mitachi replied to Rakancito's topic in Features & Metin2 Systems
Every time this guy releases something he gets slapped in the face, I'm sorry for that. When you release something it has to be ready to use, unfortunately. In another context that would be fine, but in a forum where 10/10 releases are ready to install/use, people WANT THIS. Dungeons should clearly be done in Lua, doing them in c++ just complicates your life, there is no real pattern, you use *10 lines of code and throw 15 years of hard tested lua dungeons pratices in the trash. But it's a release and plus it's not the first time you've released a dungeon in c++, clearly you can do whatever the fuck you want! ff: Since I've been on metin I've only known 3 developers who did only lua, all 3 swore they were the best in the world. -
Actually it is intended to be so, you get on and off the mount often during farming, equipping the item at the beginning avoids having to equip it every time (and even in the case of waiting seconds) To recall the mount you just have to do CTRL + G If you want CTRL + B to remove the seal anyway, that's enough: [Hidden Content] Or if you want CTRL + B don't remove your mount: [Hidden Content] For those who want bonuses to be awarded even if you are not riding, but simply have the mount summoned: [Hidden Content] If you use the mount costume system present in the Owsap files you may run into some problems.
- 16 replies
-
- 65
-
Download Center Internal Mega.nz GitHub Hi devs, I wanted to add this feature to my mainlines, being that this system is now considered standard in all servers. I downloaded the public version that emulated how the Pet System worked, but I decided to make my own (and am sharing it so you can test it for me as well) In game pic: Pros: Fewer lines of code (50 or so, versus 1200+ in the public system) By not using apply_type and value to assign the monster to ride, we will not lose a usable bonus Being horse-based, trivially it is code that has been tested for years. If you are on the mount and warp, you will still be on the mount at login (being that we use EnterHorse) You can take advantage of the horse name system with a few modifications You only get mount bonuses if you are riding it and not while it is summoned Cons: I couldn't find any Thanks to @ HFWhite for testing. You should at least have the mount costume system.
- 16 replies
-
- 205
-
It seems a bad use from quest, anyway, you can check the ptr before use bool CDungeon::IsUniqueDead(const std::string& key) { auto it = m_map_UniqueMob.find(key); if (it == m_map_UniqueMob.end()) { sys_err("Unknown Key or Dead : %s", key.c_str()); return true; } return it->second ? it->second->IsDead() : false; // 0x0 check }
-
Something like: if (bDropInventory) // Drop Inventory { const bool bIsQuestRunning = IsQuestRunning(); std::vector<BYTE> vec_bSlots{}; for (int j = 0; j < INVENTORY_MAX_NUM; ++j) { pkItem = GetInventoryItem(j); if (pkItem && !(bIsQuestRunning && pkItem->GetType() == ITEM_QUEST)) vec_bSlots.emplace_back(j); } if (!vec_bSlots.empty()) People can somehow bug abuse the quest items, and throw them to the ground while using item.remove() or pc.item_remove() ::IsQuestRunning it's simply a function that returns the above expression, quest::CQuestManager::instance().GetPCForce(GetPlayerID())->IsRunning() #ifdef ENABLE_MISCELLANEOUS bool CHARACTER::IsQuestRunning() const { return quest::CQuestManager::instance().GetPCForce(GetPlayerID())->IsRunning(); } #endif
-
Looking for original (2007~2008) terrain textures
Mitachi replied to narcisxb's topic in File Requests
Literally in all clients, to restore, just remove terrain from patch1. The files were never deleted, but overwritten. Index file gives precedence to files that are higher up, patch1(with the new textures) is above the old ones. -
no
-
Download Center Download (Internal) Download (GitHub) The tutorial contains an already configured json file! Q. What is trivially the difference? A. Here's an example: I tested it, here is some evidence + a dip into the past After installing, you can do /fish_simul to test if it works properly. Non-Critical issue The strings for fish names in Korean are broken at the time of reading I could have done something about it but I noticed that korean names are mostly used by fish_simul (A gm command used to test fishing), and since we are not Korean I didn't bother much to fix it, rather I did a cleanup to my fishing.cpp/.h which I can post below if you want. I thank @ martysama0134 for the idea.
-
It's amazing the follow up to this post, when one releases something small, all the bots come out to be professors. Instead, when a thick developer releases something, nobody says shit, everybody says "wow you have a really long dick." Am I perhaps the only strange one that this check does in InstanceBaseBattle.cpp in ::CheckAdvancing? I ask for the meme BOOL CInstanceBase::CheckAdvancing() { ... //NOTE : Skil을 쓰더라도 Door Type과는 Collision체크 한다. if( bUsingSkill && !rkActorEach.IsDoor() ) continue; #ifdef FUNC_WALK_THROUGH_ENEMY // [Hidden Content] if (!IsAttacking() && rkActorEach.IsEnemy()) continue; #endif
-
I did a small refactory, not tested yet: [Hidden Content]
- 17 replies
-
- 69
-
[Question] MARTYSAMA VS OWSAP FILES
Mitachi replied to duwen123's topic in Community Support - Questions & Answers
If you don't understand much about it and want to create a server, your server will be an abortion. You don't learn to work on files by systems installing, cuz the first tasks should not be "Okay, I'll copy and paste until it works." @ martysama0134 is not aiming not to insert systems, but to create/refactor what he inserts. Exactly by "assistance," what is meant by extended mainline with few systems (tested for years)? This post looks to me like a cleverly designed marketing strategy. Each answer is nothing more than a personal point of view, passed off as objective. Best regards -
Hi loves USE_TUNING and USE_DETACHMENT are part of the same case and are divided by if/else (Probably for the item removed in 2013 by Italian wiki): [Hidden Content] At first glance, when I read it, I didn't understand shit about it, so I decided to improve it and publish it; it's an unpretentious post, so enjoy it. [Hidden Content]
-
I think it is the same person who posed as the owner of another forum, the same person who scammed 100 euros to my team a few days ago, kek.
-
Thank you for sharing, I appreciate these types of additions because they came about to facilitate other types of scripts. I find them very useful
- 22 replies
-
- 1
-
- c++
- improvement
-
(and 1 more)
Tagged with:
-
Nice, thank you! I think it's the first cms released on m2dev
-
Help Unknown packet header 45, 81 and 34 [PAY]
Mitachi replied to Klaus's topic in Community Support - Questions & Answers
Well, there are a few things to consider: If the error occurs every time you perform a certain action, the problem is definitely in the packet in question. If, on the other hand, it doesn't always happen but the package in question is always the same, skip to the part where I talk about the sequence system The packet header number itself isn't a problem, packets have their own cases in a switch, if the case has the same number, the compiler will warn you. It's not just the packet header number that's the problem, packages are literally typed structs, like this: /* We need to be sure that the data types used match */ // Server typedef struct SPacketGCTest { BYTE bHeader; WORD wSize; } TPacketGCTest; // Client typedef struct SPacketGCTest { BYTE bHeader; int wSize; // error, int <-> WORD are not the same. } TPacketGCTest; Usually the sequence system (or ENABLE_SEQUENCE_SYSTEM if you using martysama) corrects for differences in packet weights automatically but I don't like it to be honest, I don't find a valid use for it today, perhaps once it could have been useful. Honestly I turned it off, removing it I noticed less random crashes. TIP: If you have it enabled try disabling it, you will notice the error more easily. I have also disabled _IMPROVED_PACKET_ENCRYPTION_ in my mainline (and not, he didn't cause crashes or at least I didn't notice). But you have to change some things first, otherwise after some hours of activity you come across the sizebuffer error. PRO: More speed performance 34th packet are usually the HEADER_GC_WHISPER, do you have some custom system related? let me know. *ending* When it comes to mistakes of this kind, it is not black or white; there can be many reasons. I told you what I was going to do initially. This guide can certainly be useful to you: -
I really appreciate your 'optimization fetish', great job and thanks for sharing as always
-
Thanks for your constant contribution
-
types c++ source metin2
Mitachi replied to spectrum's topic in Community Support - Questions & Answers
I don't know if you were looking for this, however just search on google, try to be more specific in the questions [Hidden Content] [Hidden Content] -
Awesome, i like the idea!
-
Download GitHub or Mega Hi guys! As we all know, the only trigger for quests on metin2 that is activated upon receipt of an item is pickup trigger (when x.pickup begin). Unfortunately, this only covers the case where you pick up an item from the ground, so it is very limited. Some people were asking to improve this, so I created a new trigger, with which you can cover other cases. For now, it works in these cases: Trade Buy from npc shop Buy from npc shopEx Buy from pc shop Pick up from ground /item command (for testing) Example: Spoiler This is just a draft, it already works, but if you have systems that interact with items, you will have to call it up under those systems as well. You can report to me below any new cases of getting items for new systems, I will help you.
-
@ arves100 we want metin3 from you
-
Welcome I'm Italian too, maybe I've already seen you somewhere