Jump to content
×
×
  • Create New...

Needing STATs instead of LVL


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 3

WRnRW3H.gif

Link to comment
Share on other sites

  • 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
Link to comment
Share on other sites

  • 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

 

Link to comment
Share on other sites

  • 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
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.


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.