Jump to content
metin2dev

Search the Community

Showing results for tags 'metin2dev'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Announcements
    • Feedback
  • Metin2
    • General
    • Questions and Answers
    • Guides & HowTo
    • Design
    • Private Servers
    • Services
    • Videos
  • Releases
    • General
    • Tools
    • Programming / Scripts
    • Quests
    • Binaries & Clients/Serverfiles
    • 3D Models
    • 2D Graphics
    • Operating Systems
  • Safe Zone
    • Offtopic
    • Games Talk
    • Music/Videos/Art

Categories

There are no results to display.


Found 41 results

  1. Hello world last night at around 5 am bored me and I created a short teleport order in minutes. What is this order? - Order can be used for teleporting a player. - By accessing the / teleport <number> you have to choose one of the numbers that are in the map settings. - Each map has a configuration proposed for the minimum and maximum level. - You can teleport a map if you do not have the required minimum. - You can teleport a map if you level higher than the configuration map. - List of papers default starts from 1 to 13. - You can not enter a number less than 1. - You can not enter a number greater than 13. - You can not enter characters than numbers. - When you tried to use the command without arguments will show the list as the number of error information, as well as where you enter a character or use / teleport show_list. You can add as many maps you want. - Everything is configurable. - Must have knowledge of C++ 0.1% to add more maps. Download: https://mega.nz/#!nQojDDrJ!azzGGoQYILIcJ2deDLuvMFW2HoyQBuxYdv1ikysDVyk
  2. Rules

    Hello Developers, because we want to be the best possible experience we have to setup some rules. Please re-read the rules - we've made some changes! Rules §1 Language (1.1) Language The language in this board is english. If you want to post something in your own language always add an english translation. The only exception for this rule is this section: Private Servers (1.2) Behaviour Don't flame at other users. We want this board to be the best possible experience. You maybe want help and everybody started with no or little knowledge. So help and don't flame! Also we don't want to see any racism or sexism. (1.3) Spamming Do not spam in this board. Posting a topic or a question once is enough. If you don't get an answer maybe your question needs more description. Or nobody is able to help you there. Double post aswell as double threads will be punished with an infraction. §2 Topics (2.1) Titles For titles there are the same rules as §1. (2.2) Bumping Allowed bumping times: Services area - 24 hours Q&A - 48 hours Any other bumping will result in an infraction! (2.3) Close/Move/Rename request To make a close/move or rename request please report the topic with the thing you want us to do. Rename request are only allowed by the thread owners (2.4) Content Don't post stuff other made and/or sell stuff others made. No Links to other boards with the same sense as metin2dev allowed. (This include file names and image content also!) No posting (whether to sell or give away for free) anything that involves cheating or stealing from people's clients or servers. It's not allowed to give your/our own skypes in public topics/posts nor signatures, only via pm. The only exception is for people that are trying to sell their services. (2.5) Questions & Answers specific rules Don't modify your thread (or reply to it) to mark it solved, and not explain the solution to the issue. Update: Please use our tag system and vote good/bad answers so everyone can clearly see what matters! (2.6) Services section specific rules You are not allowed to post more than one thread per section inside the services section (which are max. 4). Please post anything you want to sell in the correct section and just edit your posts. Please also mark your offer via tags inside your thread title and with the tag function of this board so possible customers can find what they're searching. Additionally to this you are not allowed to post any thread (and/or offer any content on m2dev) until you've reached 50 posts. Update: If you're registered for at least 1 year you're free to create a service thread without having those 50 posts. Update: Please do not spam senseless posts to reach the required post count or you will be banned! (2.7) Tech section specific rules You are not allowed to post your services or releases in here. We have a release/service section for this. You're free to start any discussion or ask general questions connected to the sections name. Anything which especially is connected to metin2 (questions) goes into Q&A. §3 Account (3.1) Names Names have the same rule as §1.2 (3.2) Multi-Account You are not allowed to create more than one Account. Also if you got a temporary ban. (3.3) VIP You are not able to become a VIP for now. Please don't ask us about this. If this changes we will inform you just in time. §4 Others (4.1) Contacting Team Members Contacting moderators and/or administrators personal (e.g via skype) for anything related to this board (questions, reports, etc) can be punished with an infraction. For reporting we have a report button in every post and for discussion about actions taken contact an administrator via a private message about the problem. Also don't contact any team member because your report wasn't solved in a specific time. We will do our best to solve it as fast as possible so there is no need to spam reports or write a pm within 24 hours the report got submit. (4.2) Scamming Scamming is a bad thing. If you do so on this board you will be banned permanently. Please keep in mind that you are not allowed to report a scam without trustworthy proofs. Sanctions We have some predefined sanctions and the possibility to create a custom one. Every action which is taken by us will have its correctness. But if you think your case was handled in a wrong way you have the possibility to contact an admin via pm. And because we have these predefined sanctions with infraction points i want to inform you about the actions taken by our system. < 3 points - no penalty >= 3 Points - suspended from accessing the site for 5 days >= 5 Points - suspended from accessing the site for 7 days >= 7 Points - suspended from accessing the site for 10 days >= 10 Points - suspended from accessing the site for 14 days 12 Points - suspended from accessing the site indefinitly Please note, that you are not allowed to create any other account while you are temporarily banned (as described in §3.2). If you are banned indefinitely you may create one more account (as a second chance) - but not more. Sincerly, .PolluX and the metin2dev team
  3. We want you!

    metin2dev.org is searching for new moderators! Requirements no warnings received yet (or latest older than 1 year) good english (not perfect but on a high level) Skype (for better communication with other team members) enough time to check all sections (~1h daylie) 18 years or older no bad reputation not a member of any other team What do we expect in your application (information)? Who are you? experience as a moderator strengths and weaknesses Why should we choose you? contact information Please send your written applications as a private message to @DevChuckNorris or @.PolluX until 6th November 2016.
  4. [Metin2Dev] Signature Contest!

    This is a user contest and is not related in any form to metin2dev. Hello everybody and especially our artists, What you need to do in order to win is to create a signature for metin2dev. Deadline: 01.12.2016 (Need to be 15+ participants) Sizes of signatures: 450x200 or 600x300 (horizontal signature). PS: Need to contain the name of forums, logo or other text about (Metin2Dev). Prizes will be awarded from me via paypal. Theme: Winter: must be metin2 related and something about forums. No specific render to use: you can choose it freely! If you are really the best, i won't let you without being awarded. the prizes are: 1st place: 35E 2nd place: 20E 3rd place: 10E Rules: You can enter only 1 signature into this contest. Once you have entered a signature, you may not change your entry. The signature must fit the theme chosen. The signature cannot be pre-made. Ripping of any kind is strictly forbidden and will automatically remove you from the contest. Use an anonymous uploader such as Imgur or Tinypic. You can use every kind of editing program such as: Gimp, Photoshop, Paint etc A screenshot of the .psd of the signature must be posted too, so that we can see all the different layers of your work. This should represent the metin2dev board (no official), signature will be worn by many users even on other forums for a more intensive advertising, and for the intended uses of each user if desired. For people who appreciate the idea, and would not attend are asked to provide a post like this to know the number of like for this activity. Good luck, and sorry for my english ^^ PS: Prize is not very big, but it matters intent xD Copyrights about idea and some texts from topic: WoM2
  5. For people who want in C++: For people who want in Lua:
  6. Team changes

    Hello Developers, we will inform you about every change in our Team in here. Also we're listing all active team members so you don't get confused. Administration @DevChuckNorris @.PolluX Moderation @Denis Sensei @flygun Explanation acquisition - New team member - Welcome! leaving - one less - We wish you all the best!
  7. Video with bug: Here is a gif with my fix: Link download: https://mega.nz/#!KBR2FKpZ!M4cHHz7bcX-J6PWWcP8fyto7MS3m5Upk7tKQSwZMriY
  8. A guy asked me to do this to them, so I said to share with you. I think this is good for pvm server. Download link: https://mega.nz/#!vBBH0DAD!CZv428j9aSGfanzhd0JYlhavEjqLVprFGqR0EvF7LvI
  9. Hello.I have a big problem,when i read a book i receive experience.I have level 20 but after reading a book i receive experience and i rise untill level 85.Who know to fix? I will pay for fix! Best regards,
  10. Here is a small playground for owners of servers . xD I made a small improvements statics for players via command. //@svn/Server/common/service.h #define ENABLE_ONLINE_COMMAND #define ENABLE_COUNTER_FAKE //@ DISABLE IF YOU NOT WANT TO HAVE FAKE PLAYER ON COMMAND //@svn/Server/game/src/cmd.cpp //1.) Search: { "messenger_auth", do_messenger_auth, 0, POS_DEAD, GM_PLAYER }, //2.) Add bellow: #ifdef ENABLE_ONLINE_COMMAND { "online", do_online, 0, POS_DEAD, GM_PLAYER }, #endif //1.) Search: ACMD(do_messenger_auth); //2.) Add bellow: #ifdef ENABLE_ONLINE_COMMAND ACMD(do_online); #endif //@svn/Server/game/src/cmd_general.cpp //1.) Add where you want: ACMD(do_online) { /********************************************************************* * date : 2016.10.25 * file : cmd_general.cpp * author : VegaS * description : Statistics server + configuration for fake */ time_t currentTime; struct tm *localTime; time(&currentTime); localTime = localtime(&currentTime); #define ENABLE_OFFLINE_SHOP_SYSTEM //@disable if you not have offlineShop #ifdef ENABLE_OFFLINE_SHOP_SYSTEM std::auto_ptr<SQLMsg> pmsg(DBManager::instance().DirectQuery("SELECT COUNT(*) FROM player.offline_shop_npc WHERE owner_id and channel = %d", g_bChannel)); MYSQL_ROW row = mysql_fetch_row(pmsg->Get()->pSQLResult); int mShopsOffline = 0; str_to_number(mShopsOffline, row[0]); #endif int mResultHour = localTime->tm_hour, mResultMin = localTime->tm_min, mResultSec = localTime->tm_sec; int mTotalOnline; int * mEmpire; int mLocal; DESC_MANAGER::instance().GetUserCount(mTotalOnline, &mEmpire, mLocal); /* 0 = 00:00 1 = 01:00 2 = 02:00 3 = 03:00 4 = 04:00 5 = 05:00 6 = 06:00 7 = 07:00 8 = 08:00 9 = 09:00 10 = 10:00 11 = 11:00 12 = 12:00 13 = 13:00 14 = 14:00 15 = 15:00 16 = 16:00 17 = 17:00 18 = 18:00 19 = 19:00 20 = 20:00 21 = 21:00 22 = 22:00 23 = 23:00 */ #ifdef ENABLE_COUNTER_FAKE static int arrayDesc[23 + 1][2] = { /* First row -> Current hour | Second row -> Value added for players fake Example: From 15:00 until 15:59:59 will be added on statics + 75 players online fake. Because -> { 15, 75 } */ { 0, 190 }, { 1, 175 }, { 2, 160 }, { 3, 140 }, { 4, 130 }, { 5, 100 }, { 6, 80 }, { 7, 75 }, { 8, 60 }, { 9, 55 }, { 10, 40 }, { 11, 30 }, { 12, 50 }, { 13, 60 }, { 14, 70 }, { 15, 75 }, { 16, 80 }, { 17, 90 }, { 18, 105 }, { 19, 120 }, { 20, 135 }, { 21, 155 }, { 22, 175 }, { 23, 180 } }; for (int i=0; i<_countof(arrayDesc); i++) { if (mResultHour == arrayDesc[i][0]) { for (int j=1; j<=3; j++) mEmpire[i] += arrayDesc[i][1] / 3; mTotalOnline += arrayDesc[i][1]; break; } } #endif if (ch->IsGM()) { ch->ChatPacket(CHAT_TYPE_INFO, "[i] Current time on server: %d:%d:%d", mResultHour, mResultMin, mResultSec); } ch->ChatPacket(CHAT_TYPE_INFO, "[i] Current channel: [%d]", g_bChannel); ch->ChatPacket(CHAT_TYPE_INFO, "[i] Current players online on this channel (all empire): [%d]", mTotalOnline); ch->ChatPacket(CHAT_TYPE_INFO, "[i] Current players online on empire: Shinshoo - [%d] | Chunjo - [%d] | Jinno - [%d]", mEmpire[1], mEmpire[2], mEmpire[3]); #ifdef ENABLE_OFFLINE_SHOP ch->ChatPacket(CHAT_TYPE_INFO, "[i] Current shops offline on this channel: [%d]", mShopsOffline); #endif } Download: https://mega.nz/#!rQgG0C5L!5yIGTEsJoiF5UVJ7l7jJKKaSrBY4izI_A_ylmlLEP2U Have fun ^^ (not tested full, sorry for shit code, It was quickly made fun)
  11. Good morning.Hwo has a converter 40k for item_proto?I need to convert item_proto sql to item_proto .txt Best regards
  12. Download link: https://mega.nz/#!WAhHnTZI!QGSlaffKqQfI_Uf3Iqt_qblJlnBdCJyobTphonWbNzg
  13. Changelog

    Hello Developers, we will post any changes of metin2dev in here. Sincerly, .PolluX GMT+1 12:37 PM | 2016-10-22 Added code tag GMT+1 8:00 PM | 2016-10-21 Due to requests we added a facepalm emoji (:facepalm:) GMT+1 5:13 PM | 2016-10-06 We added the possibility to see if a user is banned: The user name is now crossed out if the user is banned. Additionally the rank of the user got changed to suspended (if the user is banned temporarily) or banned (if the user is banned indefinitely) GMT+1 6:09 PM | 2016-10-05 * updated rules (2.6) GMT+1 4:16 PM | 2016-09-20 We've updated the structure of the Services section as mentioned here. Additionally to this we also updated our rules. Please read them again to be sure you know everything! + new structure for Services + updated rules (2.2 / 2.6 / 2.7 / 3.3 / 4.1 / Sanctions) Everyone who posted more than one thread per section (in Services) please merge them into one thread and report the others.
  14. I was offline this forum almost two weeks, I had people in my family problems, now solved affairs were also little and I decided to come back here. Here is presented a small part of the system, I will soon come with all available details and perhaps more complex in another video that will include all configurations, settings, checks s.a.m.d It is worth mentioning that the system is for sale, and dyspnea you to be in my service here is just a video presentation, you can express your views and opinion.
  15. Here is a little older configuration to see how the system work. http://paste.ubuntu.com/23085600/ I created this topic because I need ideea and opinions what would be done to the system to be nice for all servers and pleasant. Mention: The system will be chargeable in my services, this topic is for information only and opinions.
  16. A collision or crash is an event in which two or more bodies exert forces on each other for a relatively short time. Although the most common colloquial use of the word "collision" refers to incidents in which two or more objects collide, the scientific use of the word "collision" implies nothing about the magnitude of the force. Some examples of physical interactions that scientists would consider collisions: An insect touches its antenna to the leaf of a plant. The antenna is said to collide with leaf. A cat walks delicately through the grass. Each contact that its paws make with the ground is a collision. Each brush of its fur against a blade of grass is a collision. I will come back with a video tonight [File: src/Client/Source/GameLib/ActorInstanceCollisionDetection.cpp] //1.) Search: #include "../eterLib/GrpMath.h" //2.) Add bellow: #include "../UserInterface/PythonBackground.h" #include "../UserInterface/Locale_inc.h" //3.) Search: BOOL CActorInstance::TestActorCollision(CActorInstance & rVictim) { //4.) Add bellow: #ifdef ENABLE_STOP_COLISSION_GLOBAL /********************************************************************* * date : 2016.02.16 * function : Stop Colission * developer : VegaS * skype : sacadatt.amazon * description : Checks if the victim is one of the examples below you can easily configure. If the victim was found success as vnum site / breed ve you could go through it no longer block. */ /************ * The first value is the minimum value and the second value is the maximum value of pet vnum (mob_proto) - change 34051 with your max vnum of pet */ int pListPet[2] = {34001, 34051}; /************ * You can add whatever you like vnum of npc or monster (mob_proto) */ int pListGlobal[] = {9001, 9002, 9003, 9004, 9005, 9006, 20011, 20091, 20092, 20093, 20094, 20095, 30000}; /************ * You can add what mapname you want for enable this stop collission global like pet / npc */ const char* strMapListGlobal[] = {"metin2_map_a1", "metin2_map_a3", "metin2_map_b1", "metin2_map_b3", "metin2_map_c1", "metin2_map_c3", "season2/metin2_map_skipia_dungeon_01", "season2/metin2_map_skipia_dungeon_02", "metin2_map_duel"}; /************ * Location name of the map where the event takes place ox */ const char* strMapEventOx = "season1/metin2_map_oxevent"; std::string stringName = CPythonBackground::Instance().GetWarpMapName(); for (int i = 0; i < _countof(strMapListGlobal); i++) { #ifdef ENABLE_STOP_COLLISION_PLAYER_OX if (strMapEventOx == stringName) // Check if u are place in map ox { if (0 <= rVictim.GetRace() && rVictim.GetRace() <= 7) // Check if the victim through which pass over a player (change 7 with 8 if u have wolfman) return FALSE; // Stop collission for player --> You can go through players now successfully without lock yourself } #endif if (strMapListGlobal[i] == stringName) // Check if you are in one of the maps listed in the global list { for (int i = 0; i < _countof(pListGlobal); i++) { if (rVictim.GetRace() == pListGlobal[i] || pListPet[0] <= rVictim.GetRace() && rVictim.GetRace() <= pListPet[1]) // Verify that the victim is npc vnum listed above, or if a pet. return FALSE; // Stop collission for global vnum like a pet or npc } } } #endif [File: src/Client/Source/UserInterface/Locale_inc.h] //1.) Search: #define ENABLE_COSTUME_SYSTEM //2.) Add bellow: #ifndef ENABLE_STOP_COLISSION_GLOBAL #define ENABLE_STOP_COLISSION_GLOBAL #define ENABLE_STOP_COLLISION_PLAYER_OX #endif
  17. System metin2

    hello dev,i want to buy 2 system: -skin weapon system - meley prison full system. yahoo email: marian.m992@yahoo.com for contact
  18. I saw a guy who sells shit, so I decided to fuck 15 minutes of my life and time and do it free for you with my code shit because i write fast. Link download: https://mega.nz/#!CYJVib4L!bziTs5iK-R8dznmtAbBt3E2y93xyuCV0gZLV1MHdlPs And here is part rest for how to add grade:
  19. Trade bug with video

    Hello guys, I can't really explain this bug, so please watch the video for me. Please help me.
  20. I made this little tutorial with function at his request @Mind Rapist Link download: https://mega.nz/#!CAoXiLjb!tjL8quW6rSqKRbzOI56uwjOHpJZ5O3dCc4OTGX0abig Here is method for check xD (example for game.py) if app.ENABLE_CHECK_IF_SAFEBOX_OPEN: onPressKeyDict[app.DIK_F5] = lambda : self.BINARY_Check_Safebox() if app.ENABLE_CHECK_IF_SAFEBOX_OPEN: def BINARY_Check_Safebox(self): import safebox if safebox.isOpen(): chat.AppendChat(chat.CHAT_TYPE_INFO, "<<Debug from VegaS>> Safebox is open!") else: chat.AppendChat(chat.CHAT_TYPE_INFO, "<<Debug from VegaS>> Safebox is not open!") Have fun
  21. [C++] Swap Item

    Hello Excuse me, I do not like introductions Go to: game/src/char.h ------------------------------------------------------------------------------- Go to : game/src/char_item.cpp ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Note: char_item.cpp > Search: Edit the number of pages inventory
  22. Who is him?

    Hello metin2dev, For starters I want to say that I received agreement to express our opinion publicly without being deleted without receiving messages or warnings from some moderators. This topic has been done to approval and access to Denis. Here you can express a free opinion about this individual * Legend * nickname name * Cedric *. Let's begin: Old's topic was removed by DevChuckNorris section 2.4 of Regulation on the ground, but he made a new topic in stolen scheme that wiped out and now all that is good and beautiful? He still lives by Scammer? (2.4) Content Don't post stuff other made and/or sell stuff others made.No posting (whether to sell or give away for free) anything that involves cheating or stealing from people's clients or servers. First of all to introduce you to who this individual. 2 days ago he created a topic in services sales services category in which he included a stolen system specifically target a system called Informations from Mobile, it has to drop items etc. This system was initialized by Tirez (metin2global server administrator) and Legacy Of Rodinia also predicted. This together with other children decrypted client and the server called metin2global Cython it had no protection and all files were extracted successfully python easy. So that this individual took information system on the target python and then he put it on sale. He held continuously throughout the system has been created by him and he just stole the idea from metin2global no wise stealing code, haha. Then a guy in a conversation was praised this system fixed 2 days after occurrence being his friend Cedric. And when I said that this system was stolen he came up with an argument: As you can see exactly what his friend or partner be admitted that he received from Cedric system and that he stole the python. Even his friend admits that he knows how to give just copy stuff and he likes to copy functions from other systems and scalp of just what is good and steal. Here is a conversation between a developer of inc2 and administrator of m2global. Uhh and also you can see other from him here album: Waiting for your views about this, each allowed to express themselves freely, this topic is created in the category of off-topic. You can spam as you want, no one can stop us to do this. Because all sites in topic's reply she left we had been deleted by moderators, so we have access here. Also exist here a dev and can confirm my words.
  23. A member from this community called for a tutorial with this so I made this little tutorial with several functions. These functions can be applied during an event to lock assembly automatic any items Self pickup because stiim with all that many players join a private server when an event such as a break Metin and get xx chests, and players use most illegal software in order to collect as many chests or any item. Command in game for disable/activate: /e enable_block_table_pickup 1 -> Activate /e enable_block_table_pickup 0 -> Disable - [ File: /Src/common/service.h ] #define __ENABLE_BLOCK_PICKUP__ // Enables blocking of special items that can not be collected #define __ENABLE_BLOCK_PICKUP__WARNING "[Block PickUp] You cannot collect this item when event is active!" - [ File: /Src/common/length.h ] enum TablePickupItem { BLOCK_VNUM_0 = 50011, BLOCK_VNUM_1 = 50124, BLOCK_VNUM_2 = 50125, BLOCK_VNUM_3 = 50126, BLOCK_VNUM_4 = 50127, BLOCK_VNUM_5 = 50128, BLOCK_VNUM_6 = 50129, BLOCK_VNUM_7 = 50130, BLOCK_VNUM_8 = 50131, BLOCK_VNUM_9 = 50132, BLOCK_VNUM_10 = 50133, }; - [ File: /Src/game/char_item.cpp ] #1.) Search: if (!item || !item->GetSectree()) return false; #2.) Add bellow: #ifdef __ENABLE_BLOCK_PICKUP__ DWORD vegas_dwEventFlagBlockPickup = quest::CQuestManager::instance().GetEventFlag("enable_block_table_pickup"); if (vegas_dwEventFlagBlockPickup > 0) { if (IS_TABLE_BLOCK_PICKUP(item->GetVnum())) { ChatPacket(CHAT_TYPE_NOTICE, __ENABLE_BLOCK_PICKUP__WARNING); return false; } } #endif #3.) Search: static bool FN_check_item_socket(LPITEM item) { [........] } #4.) Add bellow: #ifdef __ENABLE_BLOCK_PICKUP__ static bool IS_TABLE_BLOCK_PICKUP(int vnum) { switch (vnum) { case BLOCK_VNUM_0: case BLOCK_VNUM_1: case BLOCK_VNUM_2: case BLOCK_VNUM_3: case BLOCK_VNUM_4: case BLOCK_VNUM_5: case BLOCK_VNUM_6: case BLOCK_VNUM_7: case BLOCK_VNUM_8: case BLOCK_VNUM_9: case BLOCK_VNUM_10: return true; } return false; } #endif
  24. A guy from another country was crying a forum for a server that I was given the prize for the final winner of this complaint? - Did you use a skill during the event was punctuated ox and as you enter the bug event. Many people use skills during the event to no longer make them the ability cheer1 / cheer2 when they win because that question be entered by a bug in the event, or went with bug armor, etc. relog This lock not only help run a fair event, but also help to decrease the lag because many people use the skill's, buff etc in the event. You can enable/disable this protect for no use skill in map with: /e enable_block_skill_oxevent 1 /e enable_block_skill_oxevent 0 (0) - Disable protect (1) - Enable protect [File: Src/game/src/char_skill.cpp] //1.) Search: if (false == CanUseSkill(dwVnum)) return false; //2.) Add bellow: #ifdef ENABLE_BLOCK_SKILL_OXEVENT #include "questmanager.h" DWORD dwFlagBlockSkill = quest::CQuestManager::instance().GetEventFlag("enable_block_skill_oxevent"); if (dwFlagBlockSkill > 0 && GetMapIndex() == 113) { if (quest::CQuestManager::instance().GetEventFlag("oxevent_status") != 0) { ChatPacket(CHAT_TYPE_NOTICE, "[OXEVENT] You can not use skills during the event ox !"); return false; } } #endif [File: Src/game/common/service.h] #define ENABLE_BLOCK_SKILL_OXEVENT
  25. [File: Src/Game/common/service.h] #define ENABLE_HIDE_NAME_PLAYER [File: Src/Game/common/length.h] //#1.) Search: enum EOnIdleEvents { ON_IDLE_NONE, ON_IDLE_GENERAL, ON_IDLE_MAX_NUM }; //#2.) Add bellow: #ifdef ENABLE_HIDE_NAME_PLAYER enum ETypeEventOX { EVENT_OX_MAP = 113, EVENT_OX_FLAG = 0, }; #endif [File: Src/Game/affect.h] //#1.) Search: AFFECT_BLEND, //#2.) Add bellow: #ifdef ENABLE_HIDE_NAME_PLAYER AFFECT_HIDE_NAME, #endif [File: Src/game/input_login.cpp] //#1.) Search: if (ch->GetHorseLevel() > 0) { DWORD pid = ch->GetPlayerID(); if (pid != 0 && CHorseNameManager::instance().GetHorseName(pid) == NULL) db_clientdesc->DBPacket(HEADER_GD_REQ_HORSE_NAME, 0, &pid, sizeof(DWORD)); ch->SetHorseLevel(ch->GetHorseLevel()); ch->SkillLevelPacket(); } //#2.) Add bellow: // ------------------------------------------------------------------------ // // This function is loaded when you enter in map ox // // You need to activate loaded functions with /e enable_hide_player 1 // // You need to activate command before start event // // ------------------------------------------------------------------------ // #ifdef ENABLE_HIDE_NAME_PLAYER DWORD dwHidePlayer = quest::CQuestManager::instance().GetEventFlag("enable_hide_player"); // e enable_hide_player value (0 - disable / 1 - activate) if (dwHidePlayer > EVENT_OX_FLAG) { if (ch->GetMapIndex() == EVENT_OX_MAP) { if (!ch->FindAffect(AFFECT_HIDE_NAME)) { ch->ChatPacket(CHAT_TYPE_COMMAND, "hide_player_state"); ch->AddAffect(AFFECT_HIDE_NAME, 0, 0, AFF_NONE, 60*60*24*7, 0, true, false); } } } #endif //#1.) Search: if (ch->GetGMLevel() == GM_PLAYER) ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire())); //#2.) Delete and replaced with: // ------------------------------------------------------------------------ // // When event ox is finished and teleport you in your home, name players // // will return back ! // // ------------------------------------------------------------------------ // if (ch->GetGMLevel() == GM_PLAYER) #ifdef ENABLE_HIDE_NAME_PLAYER ch->RemoveAffect(AFFECT_HIDE_NAME); ch->ChatPacket(CHAT_TYPE_COMMAND, "show_player_state"); #endif ch->WarpSet(EMPIRE_START_X(ch->GetEmpire()), EMPIRE_START_Y(ch->GetEmpire())); ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [File: Client/root/game.py] //#1.) Search: "ShowMeMallPassword" : self.AskMallPassword, //#2.) Add bellow: "hide_player_state" : self.__Player_HideState, "show_player_state" : self.__Player_ShowState, //#1.) Search: def AskMallPassword(self): self.interface.AskMallPassword() //#2.) Add bellow: def __Player_HideState(self): # Function is loaded when you are start flag enable_hide_player 1 and when you are enter in map ox. import uiGameOption self.szGetVegasModule = uiGameOption.OptionDialog() self.szGetVegasModule.__OnClickAlwaysShowNameOffButton() # Hide player name #self.szGetVegasModule.__OnClickViewChatOffButton() # Hide chat def __Player_ShowState(self): #// Function is loaded when event is finished import uiGameOption self.szGetVegasModule = uiGameOption.OptionDialog() # Show player name self.szGetVegasModule.__OnClickAlwaysShowNameOnButton() #self.szGetVegasModule.__OnClickViewChatOnButton() # Show chat ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Here is loaded function for people have < 40k (no source) quest ox_hide_state begin state start begin when login with pc.get_map_index() == 113 begin if game.get_event_flag("enable_hide_player") > 0 then cmdchat("hide_player_state") end end when logout with pc.get_map_index() == 113 begin if game.get_event_flag("enable_hide_player") > 0 then cmdchat("show_player_state") end end end end ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Other thing about block: [File: Client/root/game.py] //#1.) Search: def ShowName(self): self.ShowNameFlag = TRUE self.playerGauge.EnableShowAlways() player.SetQuickPage(self.quickSlotPageIndex+1) //#2.) Delete and replaced with: def ShowName(self): import background if constInfo.ENABLE_HIDE_NAME_PLAYER > 0: if background.GetCurrentMapName() == constInfo.EVENT_OX_MAPNAME: chat.AppendChat(chat.CHAT_TYPE_INFO, constInfo.EVENT_OX_WARNING_ALT) else: self.ShowNameFlag = TRUE self.playerGauge.EnableShowAlways() player.SetQuickPage(self.quickSlotPageIndex+1) [File: Client/root/uiGameOption.py] //#1.) Search: def __OnClickAlwaysShowNameOnButton(self): systemSetting.SetAlwaysShowNameFlag(True) self.RefreshAlwaysShowName() def __OnClickAlwaysShowNameOffButton(self): systemSetting.SetAlwaysShowNameFlag(False) self.RefreshAlwaysShowName() //#2.) Delete and replaced with: def __OnClickAlwaysShowNameOnButton(self): import uiCommon, background if constInfo.ENABLE_HIDE_NAME_PLAYER > 0: if background.GetCurrentMapName() == constInfo.EVENT_OX_MAPNAME: self.wndPopup = uiCommon.PopupDialog() self.wndPopup.SetText(constInfo.EVENT_OX_WARNING_ON) self.wndPopup.Open() else: systemSetting.SetAlwaysShowNameFlag(True) self.RefreshAlwaysShowName() def __OnClickAlwaysShowNameOffButton(self): import uiCommon, background if constInfo.ENABLE_HIDE_NAME_PLAYER > 0: if background.GetCurrentMapName() == constInfo.EVENT_OX_MAPNAME: self.wndPopup = uiCommon.PopupDialog() self.wndPopup.SetText(constInfo.EVENT_OX_WARNING_OFF) self.wndPopup.Open() else: systemSetting.SetAlwaysShowNameFlag(False) self.RefreshAlwaysShowName() [File: Client/root/uiGameOption.py] //#1.) Search: CHRNAME_COLOR_INDEX = 0 //#2.) Add bellow: ################################################## HIDE PLAYER NAME - START ###################################################################### ###################################################################################################################################################### ENABLE_HIDE_NAME_PLAYER = 1 # Enable check [0 - disable / 1 - enabled] EVENT_OX_MAPNAME = "season1/metin2_map_oxevent" # Name map EVENT_OX_WARNING_ALT = "You can not do this during the event!" # Message when you press key [ALT] from keyboard. EVENT_OX_WARNING_ON = "You can display the name of the player during the event ox!" # Message loaded from gameOption when you -> Name Always (Show). EVENT_OX_WARNING_OFF = "You can disable the name of the player during the event ox!" # Message loaded from gameOption when you -> Name Always (Hide). ################################################## HIDE PLAYER NAME - STOP ####################################################################### ###################################################################################################################################################### PS: I not tested, i only write for other friend because he say me to help with this. - http://image.prntscr.com/image/f12be8a99a9647c7a5347d237df31fe4.png
×