Jump to content

Search the Community

Showing results for tags 'c++'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Metin2 Dev
    • Announcements
  • Community
    • Member Representations
    • Off Topic
  • Miscellaneous
    • Metin2
    • Showcase
    • File Requests
    • Community Support - Questions & Answers
    • Paid Support / Searching / Recruiting
  • Metin2 Development
  • Metin2 Development
    • Basic Tutorials / Beginners
    • Guides & HowTo
    • Binaries
    • Programming & Development
    • Web Development & Scripts / Systems
    • Tools & Programs
    • Maps
    • Quests
    • 3D Models
    • 2D Graphics
    • Operating Systems
    • Miscellaneous
  • Private Servers
    • Private Servers
  • Uncategorized
    • Drafts
    • Trash
    • Archive
    • Temporary
    • Metin2 Download

Product Groups

  • Small Advertisement
  • Large Advertisement
  • Advertising

Categories

  • Third Party - Providers Directory

Categories

  • Overview
  • Pages
    • Overview
    • File Formats
    • Network
    • Extensions

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Pillory


Marketplace


Game Server


Country


Nationality


Github


Gitlab


Discord


Skype


Website

  1. M2 Download Center Download Here ( Internal ) Download
  2. Download Metin2 Download [Hidden Content]
  3. Char.h Replace this: void ForgetMyAttacker(bool revive = true); Char_battle.cpp Replace this: void CHARACTER::ForgetMyAttacker(bool revive) { const LPSECTREE pSec = GetSectree(); if (pSec) { FuncForgetMyAttacker f(this); pSec->ForEachAround(f); } if (revive) ReviveInvisible(5); } Char_skill.cpp Search the function: CHARACTER::ComputeSkill( and ADD below // ADD_GRANDMASTER_SKILL ..... // END_OF_ADD_GRANDMASTER_SKILL This //Ninja Stealth improve if (IsPC() && pkSk->dwVnum == SKILL_EUNHYUNG) ForgetMyAttacker(false); Hope you like it
  4. M2 Download Center Download Here ( Internal ) SYSTEM : DOWLOAD VT : CLİCK
  5. How many people found this error on pserver or Official Metin2? With Windows >= 8 we found this problem and we have fixed with the compatibility checker but this is not the best way! The real problem is this string on the source of client EterLib/GrpDevice.cpp if (!ms_kD3DDetector.Find(800, 600, 32, TRUE, &ms_iD3DModeInfo, &ms_iD3DDevInfo, &ms_iD3DAdapterInfo)) The application go to find the default resolution "800x600" but this is not the correct way! With new generation some computer have deleted the 800x600 resolution and this cause problems! to solve this we change previous line with this: if (!ms_kD3DDetector.Find(iHres, iVres, 32, TRUE, &ms_iD3DModeInfo, &ms_iD3DDevInfo, &ms_iD3DAdapterInfo)) We force the application to find the resolution we have set up with config.exe "I remind you that config.exe get the possible resolutions automatically"! With this method the application always start without problem and compatibility setting. And if you have a Metin2 Official? if you have intel chip with the intel control panel you can add personal resolution if not you can add the resolution with edit some things in the registry but i not suggest it if you not know how registry work! Hope can i help someone!
  6. Hello community, I needed to create this little function so that players don't lose buffs and support skills when they die in PvM and I decided to share it. [Hidden Content]
  7. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Metin2 Extended Item Award You can store all bonuses and stones for items. I wrote that as request from @ProfessorEnte, more informations at repository. 2018-04-02 14:02:11 Monday Fixed problem with save bonus after reload items. Fixed problem with unknown values. Correction for socket real time and more. Fixed unknown average/skill damage bonus value. player.item_proto.addon_type = -1 (Eg. 189, 199, 299, 1139, 1179, 2159, 2179, 3169, 3219, 5119, 5129, 6019, 6069, 6079, 7169)[+0 - +9] That's for the items which have addon type (-1) and you added them in item shop without bonuses like skill damage or hit damage, value x, y as default, so they'll will be without bonuses and get bugged. Now when the item will be inserted there'll be a check if item doesn't have those bonuses (from query) add a random average/skill damage bonus value. INSERT INTO player.item_award(`login`, `vnum`, `count`, `mall`) VALUES ('account', 189, 1, 1); 2019-04-12 02:31:18 Friday Fixed unique items based on the real time. Fixed unstackable items. Fixed if item count overflow occured, then set it to maximum. Added support for books. (check skill types, unknown skill), skill vnum need to be saved into socket0, (4=Aura of the Sword < player.skill_proto), if the skill vnum is unknown, there will be a random book based on pc races, excluded skills PASSIVE, GUILD, SUPPORT. Added a to-do for ITEM_BLEND, check if apply_type exists in bonuses, check if apply_value/apply_duration is equal with grades (1/2/3/4/5) from settings, blend.txt Added auto query. # Random book INSERT INTO player.item_award(`login`, `vnum`, `count`, `mall`) VALUES ('account', 50300, 1, 1); # Specific book by skill vnum INSERT INTO player.item_award(`login`, `vnum`, `count`, `socket0`, `mall`) VALUES ('account', 50300, 1, 4, 1); 2019-04-16 14:54:48 Tuesday (Video - Click) Added a check for attr types and values min - max. You can't insert wrong bonuses into a specific item. Eg. Add 2000 MAX_HP on your Sword+9, was possible, now not. Eg. Add +500 INT to your shield, now there's a check for min-max value of player.item_attr Lv.1 - Lv.5 and your 500 INTvalue will be replaced with max value from lvl5 of bonus, like 12 (lv5), that happen with all the bonuses, same thing with the values lower than lvl1, like 5 HP_REGEN on your neck, when the minimum (lv1) is 10, the value will be replaced with 10. If the bonus type can't be added into a specific item, the bonus will be ignored > deleted. (example: critical pct to armor) Refactorized all the code and moved all features into ItemAwardManager.cpp. C++11 or higher is required for checking attributes. # Test unknown types + higher and lower values in game. INSERT INTO `player`.`item_award`(`login`, `vnum`, `count`, `attrtype0`, `attrvalue0`, `attrtype1`, `attrvalue1`, `attrtype2`, `attrvalue2`, `attrtype3`, `attrvalue3`, `attrtype4`, `attrvalue4`, `mall`) VALUES ( 'test', 149, 1, 17, 25, -- ATTBONUS_HUMAN 22, 35, -- ATTBONUS_DEVIL, 32, 175, -- RESIST_BELL 33, -150, -- RESIST_FAN 48, 1, -- IMMUNE_STUN 1 ); # See the min-max values for all the bonuses from weapon. SELECT apply+0 AS `index`, apply AS `name`, lv1 as `min_value`, lv5 as `max_value` FROM `item_attr` WHERE weapon > 0; # See if a specific bonus is included in bonuses of weapon. SELECT apply, apply+0 FROM `item_attr` WHERE weapon > 0 AND apply in ('ATTBONUS_HUMAN', 'ATTBONUS_DEVIL', 'RESIST_BELL', 'RESIST_FAN', 'IMMUNE_STUN'); 2019-10-30 03:48:12 Wednesday Fixed expression is not assignable. Break a for loop after the bonus has found. Sockets & attrs INSERT INTO `player`.`item_award`(`login`, `vnum`, `count`, `given_time`, `why`, `socket0`, `socket1`, `socket2`, `attrtype0`, `attrvalue0`, `attrtype1`, `attrvalue1`, `attrtype2`, `attrvalue2`, `attrtype3`, `attrvalue3`, `attrtype4`, `attrvalue4`, `mall`) VALUES ( 'test', -- ACCOUNT_NAME 12029, -- ITEM_VNUM 1, -- ITEM_COUNT '2018-03-25 05:53:17', -- GIVEN_TIME 'ITEM_SHOP', -- REASON 28442, 28441, 28438, -- SOCKET 1 & 2 & 3 1, 1500, -- APPLY_MAX_HP 29, 10, -- APPLY_RESIST_SWORD, 30, 10, -- APPLY_RESIST_TWOHAND 31, 10, -- APPLY_RESIST_DAGGER 32, 10, -- APPLY_RESIST_BELL 1 -- MALL ); For those who use @martysama0134 source: //@Srcs/Server/db/src/ClientManager.cpp #define ENABLE_ITEMAWARD_REFRESH // Should be enabled Github repository or download - (click here): [hide][Hidden Content]]
  8. Download Alternative download links → Github Someone asked me if it was possible to attach an effect to the text-tail so I will share it for free. It can be customized and adjusted to personal preference. .
  9. Hey, Today i will show you how you can fix easy the invisibility effect bug and the AFFECT_EUNHYEONG = sealth ninja skill from 17.5 Official update. InstanceBase.cpp (Is hiding the ninja from the minimap) InstanceBaseEffect.cpp Search for: Replace with:
  10. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Hi guys, I leave the system of PENDANT, It's basically like the official system, If you see something is missing, you can tell me.
  11. Hello everyone. With this you can define everything in a structured array; bonuses(types only, the maximal value will be set) and sockets. I know the code is a bit wierd, I've tested on bsd where I have only gcc4.2 from 2k7 so I had to rewrite it to compile with it. I'm too lazy to upgrade the gcc and all stuffs what need after all. I filled up the set for warrior only [Hidden Content] And last if you want to increase of decrease the set of equpments you must to edit this aswell: ITEM_SET_EQUIP_MAX PS.: If you are smart enough, you can also use it for starter equpment for the new players or whatever you like.
  12. M2 Download Center Download Here ( Internal ) [Hidden Content] [Hidden Content] [Hidden Content]
  13. Download Metin2 Download The items allows you to switch the current damage & skill damage attrs in the item either to its maximium or just changing the values. The value of the event flag "e_special_attr" adds to the value of the normal hit damage, If activated. Preview: [Hidden Content] Download: MEGA Github VirusTotal
  14. M2 Download Center Download Here ( Internal ) Conversation between me and vegas: [21:18:22] ####:: VegaS are you here? [21:18:31] VegaS™: Yes. [21:19:09] ####: Man, some people sell your title system what was public on tur****. [21:22:14] ####:: [Hidden Content] [21:22:22] ####:: Here is this shit what he sell. [21:28:33] ####:: Shit all resellers , dude . [21:34:50] VegaS™: There are many whores in this area, so best bet would be to post this system because some hookers make money from him unjustly. So send them harlots that vegas has big dick and that will fuck all in the ass. This system has a crappy code, you can keep the recycle bin, is the first version of shit. I apologize for what my clients who bought this system, but I'll make updates to it and will be more advanced. I can not enter metin2dev this time because my account is suspended for a short period of time, but I will return very soon, remember that. Why has reached this release online? Since titlesystem first version had over 35 buyers from title and I sold at all retarded. But now these latest systems and will not sell than some people you know for a long time and know 100% that they are not whores. Latest systems are stored for each client, I know 100% who I was because when you reach for resellers or free. And remember one thing: - I Will never sell any system or any other things for Romanian people, if someone tries to sell it or mean it's fucking scammer, and if u see Something scammer who sell my works, you can report this to me. Soon it ready new website, where there will be all new systems sales and presentations. ^^ Go on metin2dev and post system and send them the message that I told you. (sorry for my english) Download: [Hidden Content] Have fun, scammer ^^ #request close topic, so much spam xD
  15. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Just add \n example:
  16. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Download Here ( MEGA ) As the title indicates, the system allows you to change the default keyboard keys. Click here to check the tutorial for adding new keys & functions. Click here for tab targeting key support.
  17. M2 Download Center Download Here ( Internal ) VIP Boxes Items with VIP packages written in c++. Are available in this day versions: 1, 3, 7, 14 i 30. There are 2 types of this boxes, first which allows player to "give, trade, drop - etc.", and second type which don't allows player to sell, drop, give etc. - you can use them as reward from quest.
  18. With this change you can have same price in every kingdom At shop.cpp search for if (bOtherEmpire) pack2.items[i].price = item.price * 3; change it to : pack2.items[i].price = item.price search if (it->second) // if other empire, price is triple dwPrice *= 3; Change if (it->second) // if other empire, price is triple dwPrice *= 1;
  19. M2 Download Center Download Here ( Internal ) By default, the GM mark in the envelope only appears when the GM writes to us or writes back. This modification will improve this and add a new special envelope. The solution comes from KoYGeR, a user of this forum. ///SERVER 1. Open cmd.cpp and add (intuitively, among other acmd lines): ACMD(do_get_gmlist); Find this: { "\n", NULL, 0, POS_DEAD, GM_IMPLEMENTOR } And add above: { "get_gmlist", do_get_gmlist, 0, POS_DEAD, GM_PLAYER }, 2. Open cmd_gm.cpp and at the end of the file add: ACMD(do_get_gmlist) { std::auto_ptr<SQLMsg> pmsg(DBManager::instance().DirectQuery("SELECT `mName` FROM `common`.`gmlist`")); if (pmsg->Get()->uiNumRows > 0) { for (int i = 0; i < pmsg->Get()->uiNumRows; i++) { MYSQL_ROW row = mysql_fetch_row(pmsg->Get()->pSQLResult); ch->ChatPacket(CHAT_TYPE_COMMAND, "AddGameMaster %s", row[0]); } } else { ch->ChatPacket(CHAT_TYPE_INFO, "Nie znaleziono..."); } } ///CLIENT GAME 3. Open constinfo.py and add (intuitively, without much meaning where): GM_LIST = [] 4. Open game.py and find this: net.SendEnterGamePacket() And add below: net.SendChatPacket("/get_gmlist") Find this: "PlayMusic" : self.__PlayMusic, # END_OF_WEDDING And add below: "AddGameMaster" : self.AddGameMaster, At the end of the file add: def AddGameMaster(self, gmName): constInfo.GM_LIST.append(gmName) 5. Open interfacemodule.py and find this: def __MakeWhisperButton(self, name): whisperButton = uiWhisper.WhisperButton() whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub") whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub") whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub") if self.IsGameMasterName(name): whisperButton.SetToolTipTextWithColor(name, 0xffffa200) else: whisperButton.SetToolTipText(name) And change to this: def __MakeWhisperButton(self, name): whisperButton = uiWhisper.WhisperButton() if name in constInfo.GM_LIST: whisperButton.SetUpVisual("d:/ymir work/ui/mail_gm_closed.tga") whisperButton.SetOverVisual("d:/ymir work/ui/mail_gm_open.tga") whisperButton.SetDownVisual("d:/ymir work/ui/mail_gm_open.tga") whisperButton.SetToolTipTextWithColor(name, 0xffffa200) else: whisperButton.SetUpVisual("d:/ymir work/ui/mail_normal_closed.tga") whisperButton.SetOverVisual("d:/ymir work/ui/mail_normal_opend.tga") whisperButton.SetDownVisual("d:/ymir work/ui/mail_normal_opend.tga") whisperButton.SetToolTipText(name) 6. Open uiwhisper.py and add (intuitively, among other imports): import constInfo Find this: def AcceptTarget(self): And at the end of the function add: if name in constInfo.GM_LIST: self.SetGameMasterLook() Find this: def OpenWithTarget(self, targetName): And at the end of the function add: if targetName in constInfo.GM_LIST: self.SetGameMasterLook() 7. Download the envelope and put in your game (etc\ymir work\ui): [Hidden Content]
  20. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Hello, [Hidden Content] You have a video example on that I made. You need to make the encoding match. You can use Bandi Video Converter. Result:
  21. M2 Download Center Download Here ( Internal ) Hey, I don't want to waste your time, so let's start, it's gonna be short. src\Client EterBase\Timer.cpp | Find function: CTimer::GetElapsedMillisecond() Find this inside the function above: return 16 + (m_index & 1); Make it look like this: return 3 + (m_index & 3); EterBase\Timer.cpp | Find function: CTimer::Advance() Find this inside the function above: m_dwCurrentTime += 16 + (m_index & 1); Make it look like this: m_dwCurrentTime += 3 + (m_index & 3); GameLib\GameType.cpp | Find this (top of the file): extern float g_fGameFPS = 60.0f; Make it look like this: extern float g_fGameFPS = 250.0f; EterPythonLib\PythonWindow.cpp | Find function: CAniImageBox::CAniImageBox(PyObject * ppyObject) Find this inside the function above: m_byDelay(4), Make it look like this: m_byDelay(13), GameLib\MapOutdoorWater.cpp | Find function: CMapOutdoor::RenderWater() Find this inside the function above: STATEMANAGER.SetTexture(0, m_WaterInstances[((ELTimer_GetMSec() / 70) % 30)].GetTexturePointer()->GetD3DTexture()); Make it look like this: STATEMANAGER.SetTexture(0, m_WaterInstances[((ELTimer_GetMSec() / 30) % 30)].GetTexturePointer()->GetD3DTexture()); Since we don't want E/Q/R/F/T/G keys to be messed up, UserInterface\PythonApplication.cpp | Find these variables at the top of the file: float c_fDefaultCameraRotateSpeed = 1.5f; float c_fDefaultCameraPitchSpeed = 1.5f; float c_fDefaultCameraZoomSpeed = 0.05f; Make them look like this (you can tweak them more, these values aren't strict, just seems about right to me): float c_fDefaultCameraRotateSpeed = 0.5f; float c_fDefaultCameraPitchSpeed = 0.2f; float c_fDefaultCameraZoomSpeed = 0.007f; Client\pack\root\uitaskbar.py Find: if.constInfo.IN_GAME_SHOP_ENABLE: After: self.rampageGauge1.OnMouseOverIn = ui.__mem_func__(self.__RampageGauge_OverIn) Add: self.rampageGauge1.SetDelay(13) After: self.rampageGauge2.OnMouseLeftButtonUp = ui.__mem_func__(self.__RampageGauge_Click) Add: self.rampageGauge2.SetDelay(13) Scroll a little bit down, and then.. After: self.hpGauge = self.GetChild("HPGauge") Add: self.hpGauge.SetDelay(13) After: self.mpGauge = self.GetChild("SPGauge") Add: self.mpGauge.SetDelay(13) After: self.stGauge = self.GetChild("STGauge") Add: self.stGauge.SetDelay(13) Fast armor shining fix / UserInterface\PythonApplication.cpp (thanks @Nirray) Search on top of the file: double g_specularSpd=0.007f; Replace it with: double g_specularSpd=0.0017f; Python part simpler version by @VegaS™ That's all, compile your binary, pack your root and you are done. If you have any questions, feel free to ask it, or if you find an error, typo, anything inside this tutorial, don't hesitate to tell me, and I'll fix it ASAP. Credits goes to kespımuro and me for ghetto-fixing the rotation buttons. Cheers, xHeaven
  22. Hello folks, This is not 100% official (because how could we know?) but on the official, you can obtain Polymorph Marbles of certain monsters when opening specific chests. If we do it by giving a Polymorph Marble, the marble won't polymorph you at all as it won't contain a mob vnum to polymorph you into. So here is a way to do it. [Hidden Content] Have a nice day!
  23. Download Alternative download links → Mega Hello Metin2 Dev. I'm here to present a Statistics System. How does it work? Players have a panel on F7 which provides the information. This system only counts how many monsters, boss's or stones the player killed. Every information is saved in player.player database. It's separated in different categories. DISCLAIMER: You can easy adapt it to PvP too. In case of any problem, report here and i'll fix it.
  24. M2 Download Center Download Here ( Internal ) Download Here ( GitHub )
  25. Hello community, The values associated with movespeed are BYTE (255) by default, in this short guide I'll teach you how to change them to short (65535). Step by Step [Hidden Content]
×
×
  • 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.