Jump to content

Draveniou1

Active Member
  • Posts

    252
  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    100%

Posts posted by Draveniou1

  1. 1 minute ago, PeaceMaker said:

    This is nonsense, stop spreading empty lies.

    But even if what you're saying is correct, metin2pserver.net is still a much better alternative than it's competitor metin2pserver.info anyways.

    1- The page has a modern design and is easier to browse around.
    2- They have a discord server where you can get in touch with the owner (Zerial)
    3- The owner actually implements custom features to his api to support more server.
    4- The page welcomes competition unlike metin2pserver.info.

    They have recently stopped giving 200 votepoints for backlinks if your server homepage have also metin2pserver.net backlink which is completely ridiculous.
    It reminds me of Origin2 blocking fortnite on player's PC so they can play their game more ?

    spacer.png

    Either way, metin2pserver.info is in decline and everyone should be adopting metin2pserver.net

    I think metin2.top could potentially be one the top dog if you spend some time on advertising it and getting in touch with server admins convincing them why they should use it. It would of course take a bit of effort to make it show up on top of the list of search engines results but It shouldn't be impossible...

    don't be jealous

    • Think 1
  2. Quote
    search enum EMobRank
      
      add
      
      MOB_RANK_NEWBOSS,
    
    search int get_Mob_Rank_Value(string inputString)
      
      add NEWBOSS 
      
      search:  if (IsChangeAttackPosition(pkChr) && GetMobRank() < MOB_RANK_BOSS)
        
        change:
    
    if (IsChangeAttackPosition(pkChr) && GetMobRank() < MOB_RANK_NEWBOSS)
      
      search x4:
    if (GetMobRank() >= MOB_RANK_BOSS)
      
      change 
      if (GetMobRank() >= MOB_RANK_BOSS && GetMobRank() <= MOB_RANK_NEWBOSS )
      
      search if (IsMonster() && GetMobRank() >= MOB_RANK_BOSS && GetVictim())
      
      change:
    if (IsMonster() && GetMobRank() >= MOB_RANK_BOSS && GetMobRank() <= MOB_RANK_NEWBOSS && GetVictim())
      
    
          
      
      

     

     

    • Love 1
  3. 1 hour ago, ASIKOO said:

     

    If the system you are installing has a define, you can comment it (With //) to disable it. According to the systems, you must make this modification on the server side (service.h) and on the client side (Local_Inc.h). Don't forget to recompile the db and game and the client ?.

    // System is enabled
    #define ENABLE_SYSTEM_XXX
    
    // System is disabled
    // #define ENABLE_SYSTEM_XXX

    If the system has no define, good luck. You have to search and find the relative code in the source code.

    I Think All system have #ifdef 

    in my files I always have #ifdef I don't think it's hard to define #ifdef on your systems

  4. you go in locale_inc.h

    seaarch

    #define ENABLE_COSTUME_SYSTEM

    change with

    #ifdef DISABLE_SYSTEM
    	#define ENABLE_COSTUME_SYSTEM
    #endif

     

    if you have another system  add in #ifdef DISABLE_SYSTEM and your system disabled

    if the system exists on the server it does the same in the service.h game source

    • kekw 3
    • Lmao 1
    • Good 1
  5. Error:

    CRaceManager::RegisterRacePath : RACE[34080] LOAD MSMFILE[d:/ymir work/npc_pet/halloween_tar/halloween_tar.msm

    Metin2 not load 34080 from npc_pet  why you add folder(halloween_tar)  in npc_pet x2 load why ?

    Lets go to fix

     

    1. OPEN GameLib folder
    2. OPEN RaceManager.cpp
      
    3.
    Search:
    
    		if (race >= 30000)
    		{
    			if (race==34028 || race==34029)
    			{
    				vec_stPathes.push_back ("d:/ymir work/npc_pet/");
    				vec_stPathes.push_back ("d:/ymir work/npc2/");
    			}
    			else
    			{
    				vec_stPathes.push_back ("d:/ymir work/npc2/");
    				vec_stPathes.push_back ("d:/ymir work/npc_pet/");
    			}
    			vec_stPathes.push_back ("d:/ymir work/npc/");
    			vec_stPathes.push_back ("d:/ymir work/monster/");
    			vec_stPathes.push_back ("d:/ymir work/monster2/");
    			vec_stPathes.push_back ("d:/ymir work/guild/");
    		}
    
    
    4. Change with:
    		if (race >= 30000)
    		{
    			if (race==34028 || race==34029)
    			{
    				vec_stPathes.push_back ("d:/ymir work/npc_pet/");
    				vec_stPathes.push_back ("d:/ymir work/npc2/");
    			}
    			else if (race==34080) // Load only from normal folder npc2  my halloween_tar :)   and not load from npc_pet
    			{
    				vec_stPathes.push_back ("d:/ymir work/npc2/");
    			}
    			else
    			{
    				vec_stPathes.push_back ("d:/ymir work/npc2/");
    				vec_stPathes.push_back ("d:/ymir work/npc_pet/");
    			}
    			vec_stPathes.push_back ("d:/ymir work/npc/");
    			vec_stPathes.push_back ("d:/ymir work/monster/");
    			vec_stPathes.push_back ("d:/ymir work/monster2/");
    			vec_stPathes.push_back ("d:/ymir work/guild/");
    		}

     

     

     

    34080

                else
                {
                    vec_stPathes.push_back ("d:/ymir work/npc2/");
                    vec_stPathes.push_back ("d:/ymir work/npc_pet/");
                }

     

    i will add my number from pet 

                if (race==34080) // Load only from normal folder npc2  my halloween_tar ?   and not load from npc_pet
                {
                    vec_stPathes.push_back ("d:/ymir work/npc2/");
                }

    vec_stPathes.push_back ("d:/ymir work/npc2/");  pet this load from this npc2 

     

    If there are extra pets you can add 

    example:

    if (race==34080  ||   race==34081 || race==34082   )

    34081 and 34082 = load npc2  

    if not load from npc2 and load from npc_pet

    add new code

               if (race==34080  ||   race==34081 || race==34082   ) // Load only from normal folder npc2  my halloween_tar ?   and not load from npc_pet
                {
                    vec_stPathes.push_back ("d:/ymir work/npc_pet/");
                }

     

     

    Error fixed without  hide error  // TraceError("CRaceManager::RegisterRacePath : RACE[%u] LOAD MSMFILE[%s] ERROR. Will Find Another Path.", dwRaceIndex, stMSMFileName.c_str());

     

     

     

     

     

     

    • kekw 5
    • Facepalm 1
    • Sad 1
    • Think 1
  6. 37 minutes ago, ASIKOO said:

    It's for all these reasons that I created https://metin2.top, even if it is difficult to compete with all the existing toplists.

    Unfortunately the toplists are either managed by a metin2 private server administrator (like https://top-metin2.com), or they are abandoned without any novelty and new features... ? 

    https://metin2.top/

    except you forgot something   

    players don't see it, only those who deal with metin2dev see it 

    players don't deal with metin2dev they want to play they are players and not programmer ?

  7. 4 minutes ago, Stylewarrior said:

    Wrong. The only clean client is the official root coupled with your own adaptation to make it work. Stop spitting such nonsense.

    for me, daroo is better, I've tried it and I know it needs changes

    I have been a Daroo client for 5 years   

  8. 1 minute ago, Stylewarrior said:

    Daroo client brother? Which year did you wake up from?

    daroo client yes  but it needs a lot of corrections for the novaline source to read it

    locale to localeinfo change 

    True to TRUE 

    it needs a lot of changes daroo is the only clean client

  9. why buy and you can't make your own?

    it's not difficult, you need a clean daroo client and source mainline with novaline client source, finally you fix the bugs and you have something clean

    you should not buy server files from anyone  I suggest you create something of your own. I gave you the solution

    • kekw 1
    • Sad 1
  10. 3 hours ago, Alessio said:

    yes, and i changed item_proto.txt, i went to the item 34 and changed APPLY_BONUS_SPEED 27 in POINT_ANTI_CRITICAL 25, also tried with -25

    https://photos.app.goo.gl/rrLT3n67Ri8AhgqU7

    i did the back up of item_proto.txt file and then i changed again the values of the item 34(instead of APPLY_BONUS_SPEED 27 i writed POINT_ANTI_CRITICAL 1)and then i changed item_proto files inside client and inside navicat and i changed item 34 with appltype0 = -25 and applyvalue0 = 1 now the server starts with no problems but the bonus isn't working. I'm sorry for making you losing time with this, if you want to leave me by myself i will understand it, i already apreciate what you shared with me untill now

    Check bonus anti-critical if work in your server

     

    if anti-crit doesn't work on your server it won't be able to do what you're asking

  11. 1 minute ago, Alessio said:

    i tried to insert the bonus inside a sword, i changed the file item_proto.txt from winscp but now when i try to start the server i get connection refused error, btw the ID of POINT_ANTI_CRITICAL is -25 or 25? i mean the id that i need to put inside item_proto (navicat)

     

    Your serverfiles working this bonus ANTI-CRITICAL ?

  12. 58 minutes ago, Alessio said:

    when editing these files do i need to edit them like how i do with item_proto? client / navicat / winscp?

     

    do you know the values for giving anti-critical in weapon? item_proto values

    iDam = iDam * (-25 - pkVictim->GetPoint(POINT_ANTI_CRITICAL))

    I Think anti-critical 

    you should now put anti-critical in the game you can with missions or anything else you can think of

  13. Just now, Alessio said:

    thx a lot

    and for damage normal you go in char_skill

    					if (pkWeapon)
    						switch (pkWeapon->GetSubType())
    						{
    							case WEAPON_SWORD:
    
    char skill.cpp

     

    1 minute ago, Baltazar said:

    Char_battle.cpp
     

    else if (type == DAMAGE_TYPE_NORMAL || type == DAMAGE_TYPE_NORMAL_RANGE)
    	{
    		[]...
    			int iCriticalPct = pAttacker->GetPoint(POINT_CRITICAL_PCT);
    
    			if (!IsPC())
    				iCriticalPct += pAttacker->GetMarriageBonus(UNIQUE_ITEM_MARRIAGE_CRITICAL_BONUS);
    
    			if (iCriticalPct)
    			{
    				iCriticalPct -= GetPoint(POINT_RESIST_CRITICAL);
    
    				if (number(1, 100) <= iCriticalPct)
    				{
    					IsCritical = true;
    					dam *= 2; // dam = dam * 2, if you change it to dam *= 1 the damage you are dealing with critical attacks will be same like normal hits
    					EffectPacket(SE_CRITICAL);
    				}
    			}

     and this one is for skills
     

    	if (type == DAMAGE_TYPE_MELEE || type == DAMAGE_TYPE_RANGE || type == DAMAGE_TYPE_MAGIC)
    	{
    		if (pAttacker)
    		{
    			int iCriticalPct = pAttacker->GetPoint(POINT_CRITICAL_PCT);
    
    			if (!IsPC())
    				iCriticalPct += pAttacker->GetMarriageBonus(UNIQUE_ITEM_MARRIAGE_CRITICAL_BONUS);
    
    			if (iCriticalPct)
    			{
    				if (iCriticalPct >= 10)
    					iCriticalPct = 5 + (iCriticalPct - 10) / 4;
    				else
    					iCriticalPct /= 2;
    
    				iCriticalPct -= GetPoint(POINT_RESIST_CRITICAL);
    
    				if (number(1, 100) <= iCriticalPct)
    				{
    					IsCritical = true;
    					dam *= 2;
    
    					EffectPacket(SE_CRITICAL);
    
    					if (IsAffectFlag(AFF_MANASHIELD))
    					{
    						RemoveAffect(AFF_MANASHIELD);
    					}
    				}
    			}

     

    this method have problem with pottion critical + my friends

    • Love 1
  14. You add bonus anti-critical in weapon 

     

    BATTLE.CPP
    
    search:
    	if (pkWeapon)
    		switch (pkWeapon->GetSubType())
    		{
    			case WEAPON_SWORD:
    				iDam = iDam * (150 - pkVictim->GetPoint(POINT_RESIST_SWORD)) / 150;
    
    change EXABLE:
    	if (pkWeapon)
    		switch (pkWeapon->GetSubType())
    		{
    			case WEAPON_SWORD:
    				iDam = iDam * (150 - pkVictim->GetPoint(POINT_RESIST_SWORD)) / 150;
    				iDam = iDam * (-25 - pkVictim->GetPoint(POINT_ANTI_CRITICAL)) / -25; //critical 0% in hit
    
    
    ony critical
    	if (pkWeapon)
    		switch (pkWeapon->GetSubType())
    		{
    			case WEAPON_SWORD:
    				iDam = iDam * (150 - pkVictim->GetPoint(POINT_RESIST_SWORD)) / 150;
    				iDam = iDam * (-25 - pkVictim->GetPoint(POINT_ANTI_CRITICAL)) / -25; //critical 25% + if X player anti-crit ;)
    
    
    
    
    
    

     

    you should see anti-critical to not have crit reduction 

     

    you can also with perforation or add perforation 

     

     

    25 and -25 if you can 0 critical change with -25  (you test first)

  15. 25 minutes ago, Alessio said:

    i'm talking about the fact that i can't see the bonus on my sword, that sword actually have 20k dmg against human but it doesn't show up on that that's the problem

    check up    class ItemToolTip(ToolTip):   in uitooltip.py

    and

    check uitooltip:

                defGrade = item.GetValue(1)
                defBonus = item.GetValue(5)*2 ## 방어력 표시 잘못 되는 문제를 수정
                if defGrade > 0:
                    self.AppendSpace(5)
                    self.AppendTextLine(localeInfo.TOOLTIP_ITEM_DEF_GRADE % (defGrade+defBonus)

     

     

     

  16. 4 minutes ago, martysama0134 said:

    Another annoying issue is the repeated commands. This solves that issue:

    	def __PushLastSentenceStack(self, text):
    		global ENABLE_LAST_SENTENCE_STACK
    		if not ENABLE_LAST_SENTENCE_STACK:
    			return
    		if len(text) <= 0:
    			return
    		if text in chatStack: #remove duplicated elements and push the new one on top
    			chatStack.remove(text)
    		if len(chatStack) > LAST_SENTENCE_STACK_SIZE:
    			chatStack.pop(0)
    		chatStack.append(text)

     

    and for create button for on/off this system from  systemoptiondialog.py ?

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