Jump to content

Recommended Posts

  • Honorable Member

In Metin2 - like other MMORPGs - you can make items need status points to be equipped. I'll show you how.

Open locale_game.txt (in locale_xy)

Search for: TOOLTIP_ITEM_LIMIT_CON

Below you'll see the rest, you can set the way you want them to appear like

TOOLTIP_ITEM_LIMIT_CON Needed CON: %d
TOOLTIP_ITEM_LIMIT_DEX Nedded DEX: %d
TOOLTIP_ITEM_LIMIT_INT Needed INT: %d
TOOLTIP_ITEM_LIMIT_LEVEL %d. szinttől
TOOLTIP_ITEM_LIMIT_STR Needed STR: %d

Next, open uitooltip.py in root and search for: if item.LIMIT_LEVEL == limitType:

Modify this part to make it look something like this (take care of tabulators):

			if item.LIMIT_LEVEL == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.LEVEL), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_LEVEL % (limitValue), color)
			elif item.LIMIT_STR == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.ST), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_STR % (limitValue), color)
			elif item.LIMIT_DEX == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.DX), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_DEX % (limitValue), color)
			elif item.LIMIT_INT == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.IQ), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_INT % (limitValue), color)
			elif item.LIMIT_CON == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.HT), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_CON % (limitValue), color)

If you're using txt item proto, then write DEX, INT, CON or STR to limittype0 and the value to limitvalue0 like when you set the level limit.

If you're item_proto is in mysql, then the limitvalue values are:
2 - STR
3 - DEX
4 - INT
5 - CON

  • Love 4

992404397646696589.png
Former C++ Developer at Gameloft on DML
Join my Discord: Distraught Labs

Link to comment
https://metin2.dev/topic/16484-needing-stats-instead-of-lvl/
Share on other sites

  • Honorable Member

actually it's made by ymir :D I just accidentally found this commented out in uitooltip.py :D

  • Love 1

992404397646696589.png
Former C++ Developer at Gameloft on DML
Join my Discord: Distraught Labs

  • Premium
12 minutes ago, Distraught said:

actually it's made by ymir :D I just accidentally found this commented out in uitooltip.py :D

This is like the party teleport, why they have that for...

So many things they could do if to make the game better and they just care about making the itemshop deals

 

 

  • Love 1
  • 4 weeks later...
On 2017. 08. 01. at 4:33 PM, Distraught said:

In Metin2 - like other MMORPGs - you can make items need status points to be equipped. I'll show you how.

Open locale_game.txt (in locale_xy)

Search for: TOOLTIP_ITEM_LIMIT_CON

Below you'll see the rest, you can set the way you want them to appear like

TOOLTIP_ITEM_LIMIT_CON Needed CON: %d
TOOLTIP_ITEM_LIMIT_DEX Nedded DEX: %d
TOOLTIP_ITEM_LIMIT_INT Needed INT: %d
TOOLTIP_ITEM_LIMIT_LEVEL %d. szinttől
TOOLTIP_ITEM_LIMIT_STR Needed STR: %d

Next, open uitooltip.py in root and search for: if item.LIMIT_LEVEL == limitType:

Modify this part to make it look something like this (take care of tabulators):


			if item.LIMIT_LEVEL == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.LEVEL), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_LEVEL % (limitValue), color)
			elif item.LIMIT_STR == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.ST), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_STR % (limitValue), color)
			elif item.LIMIT_DEX == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.DX), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_DEX % (limitValue), color)
			elif item.LIMIT_INT == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.IQ), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_INT % (limitValue), color)
			elif item.LIMIT_CON == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.HT), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_CON % (limitValue), color)

If you're using txt item proto, then write DEX, INT, CON or STR to limittype0 and the value to limitvalue0 like when you set the level limit.

If you're item_proto is in mysql, then the limitvalue values are:
2 - STR
3 - DEX
4 - INT
5 - CON

Thank u so much!
i edited little and the finish is...
Need level limit + stat limit :P

 

787292068_Nvtelen.png.6faa7b0bbb3398fd29

  • Honorable Member

you can just easily set limittype 0 and 1, etc to have more limits at the same time

992404397646696589.png
Former C++ Developer at Gameloft on DML
Join my Discord: Distraught Labs

  • 1 month later...
On 8/1/2017 at 5:33 PM, Distraught said:

			if item.LIMIT_LEVEL == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.LEVEL), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_LEVEL % (limitValue), color)
			elif item.LIMIT_STR == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.ST), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_STR % (limitValue), color)
			elif item.LIMIT_DEX == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.DX), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_DEX % (limitValue), color)
			elif item.LIMIT_INT == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.IQ), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_INT % (limitValue), color)
			elif item.LIMIT_CON == limitType:
				color = self.GetLimitTextLineColor(player.GetStatus(player.HT), limitValue)
				self.AppendTextLine(localeInfo.TOOLTIP_ITEM_LIMIT_CON % (limitValue), color)

 

I would do it more easy.

itemDict = {
	item.LIMIT_LEVEL : [player.LEVEL, localeInfo.TOOLTIP_ITEM_LIMIT_LEVEL],
	item.LIMIT_STR : [player.ST, localeInfo.TOOLTIP_ITEM_LIMIT_STR],
	item.LIMIT_DEX : [player.DX, localeInfo.TOOLTIP_ITEM_LIMIT_DEX],
	item.LIMIT_INT : [player.IQ, localeInfo.TOOLTIP_ITEM_LIMIT_INT],
	item.LIMIT_CON : [player.HT, localeInfo.TOOLTIP_ITEM_LIMIT_CON]
}
	
if limitType in itemDict:
	self.AppendTextLine(itemDict[limitType][1] % (limitValue), self.GetLimitTextLineColor(player.GetStatus(itemDict[limitType][0]), limitValue))

 

  • Love 2
  • 4 years later...

There is an exploit in the system, probably this is why ymir refused to use it. If you fulfill the required stat, then you just switch your gear, so you no longer fulfill it, the game not auto unequip the item. Currently I'm looing for solutions to fix this.

20 hours ago, Aerrow said:

There is an exploit in the system, probably this is why ymir refused to use it. If you fulfill the required stat, then you just switch your gear, so you no longer fulfill it, the game not auto unequip the item. Currently I'm looing for solutions to fix this.

Just save the stat points added by the player leveling up instead of counting those added by gear and use that to chek if player has enough. Or do something like add the stats given by gear in a different place. 

Edited by narcisxb

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • 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.