Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

(English) Useful Modification


Metin2 Dev

Messages recommandés

  • Robot

Hello

 

I'm going to create this topic to show you various code that will improve your server.

1 - Activate pc_change_name

Révélation

 

Search in this questlua_pc.cpp

if ( LC_IsEurope() )
{
    lua_pushnumber(L, 5);
    return 1;
}

Replace like this :

/*
if ( LC_IsEurope() )
{
   lua_pushnumber(L, 5);
   return 1;
}
*/

 

 

2 - Activate Bonus 6/7

Révélation

 

Search in this char_item.cpp

We need to comments 2 VNUM (71051-71052)

if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
return false; 

Like this : 

							case 71051 : // 진재가
								{
									// 유럽, 싱가폴, 베트남 진재가 사용금지
									//if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
										//return false;

And this : 

							case 71052 : // 진재경
								{
									// 유럽, 싱가폴, 베트남 진재가 사용금지
									//if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam())
										//return false;

 


3 - Increase the chances of binding a stones 

Révélation

 

Search in this char_item.ccp 

if (number(1, 100) <= 30)

You must change the 30 by your values

 

Exemple i want put 50% of chance to succes

if (number(1, 100) <= 50)

 

 

4 - Disable bonus 6/7 on costume

Révélation

 

Search in this char_item.ccp

case 71051 :

Before this code : 

if (item2->GetAttributeSetIndex() == -1)

Add this : 

if (item2->GetType() == ITEM_COSTUME) // Disable bonus 6/7 on costume
    {
        return false;
    }

Like this : 

112400a38713bd94fab60fa7b6e03aea02b8ee.p

 


5 - Unlimited arrows

Révélation

 

Search in this char_battle.ccp

iCount = iCount - MIN(iCount, dwArrowCount);

Replace with : 

//iCount = iCount - MIN(iCount, dwArrowCount);

 

 

6 - Show item without Glass of Insight

Révélation

 

Search in this input_main.ccp

int ProcessTextTag(LPCHARACTER ch, const char * c_pszText, size_t len)
{
    //2012.05.17 ±čżëżí
    //0 : Á¤»óŔűŔ¸·Î »çżë
    //1 : ±Ý°*°ć şÎÁ·
    //2 : ±Ý°*°ćŔĚ ŔÖŔ¸łŞ, °łŔλóÁˇżˇĽ* »çżëÁß
    //3 : ±łČŻÁß
    //4 : żˇ·Ż
    int hyperlinks;
    bool colored;

Replace with this : 

int ProcessTextTag(LPCHARACTER ch, const char * c_pszText, size_t len)
{
    return 0;
    //BETEKINTÉS ÜVEG NE KELLJEN SOHA
    //2012.05.17 ±čżëżí
    //0 : Á¤»óŔűŔ¸·Î »çżë
    //1 : ±Ý°*°ć şÎÁ·
    //2 : ±Ý°*°ćŔĚ ŔÖŔ¸łŞ, °łŔλóÁˇżˇĽ* »çżëÁß
    //3 : ±łČŻÁß
    //4 : żˇ·Ż
    int hyperlinks;
    bool colored;

 

 

7- Activate emotion without mask

Révélation

 

Search in this cmd_emotion.ccp

bool CHARACTER_CanEmotion(CHARACTER& rch)
{
    // °áČĄ˝Ä ¸ĘżˇĽ*´Â »çżëÇŇ Ľö ŔÖ´Ů.
    if (marriage::WeddingManager::instance().IsWeddingMap(rch.GetMapIndex()))
        return true;

    // ż*Á¤ŔÇ °ˇ¸é Âřżë˝Ă »çżëÇŇ Ľö ŔÖ´Ů.
    if (rch.IsEquipUniqueItem(UNIQUE_ITEM_EMOTION_MASK))
        return true;

    if (rch.IsEquipUniqueItem(UNIQUE_ITEM_EMOTION_MASK2))
        return true;

    return false;
}

Replace the whole function by :

bool CHARACTER_CanEmotion(CHARACTER& rch)
{
    return true;
}

 

 

8 - Delete all red potion for each level

Révélation

 

Search in this char.ccp

if (GetLevel() <= 10)
   AutoGiveItem(27001, 2);
else if (GetLevel() <= 30)
   AutoGiveItem(27002, 2);
else
   {
   AutoGiveItem(27002, 2);
//   AutoGiveItem(27003, 2);
   }

Replace with this or delete the function : 

/*
if (GetLevel() <= 10)
   AutoGiveItem(27001, 2);
else if (GetLevel() <= 30)
   AutoGiveItem(27002, 2);
else
   {
   AutoGiveItem(27002, 2);
//   AutoGiveItem(27003, 2);
   }
*/

 

 

9 - Activate Penetration effect

Révélation

 

Search in this char_battle.ccp

IsPenetrate = true;

After we look for this code :

dam += GetPoint(POINT_DEF_GRADE) * (100 + GetPoint(POINT_DEF_BONUS)) / 100;

Under this line we add this : 

EffectPacket(SE_PENETRATE); // Penetrate effect

Warning : You need to do this 2 time !!

 

10 - Change max member of a party

Révélation

 

Search in this party.h

PARTY_MAX_MEMBER

You will find this :

enum // unit : minute
{
	PARTY_ENOUGH_MINUTE_FOR_EXP_BONUS = 60, // ÆÄƼ °á¼º ÈÄ 60ºÐ ÈÄ ºÎÅÍ Ãß°¡ °æÇèÄ¡ º¸³Ê½º
	PARTY_HEAL_COOLTIME_LONG = 60,
	PARTY_HEAL_COOLTIME_SHORT = 30,
	PARTY_MAX_MEMBER = 8,
	PARTY_DEFAULT_RANGE = 5000,
};

Just change this line : 

PARTY_MAX_MEMBER = 8,

 

 

If you have any problem with this topic, I invite you to create a help request in the support section.
This topic can be edited at any time.

  • Love 1

french_banner.gif

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 0
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Jours populaires



  • brilliantdiscord_widget
  • Flux d'Activité

    1. 0

      Renouveau

    2. 0

      OldEraMT2 recrute – la bêta ouverte est en cours

    3. 0

      OldEraMT2 | Classique 2009 Oldschool | Niveau 99 | 7 langues | Sans pay2win | Bêta ouverte

    4. 6

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    5. 2

      problème de lancement serveur

    6. 9
    7. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.