Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Mei

 tutoriel / partage [Système] Installer le système de rareté.

Messages recommandés

Bonjour à tous !

 

Je vous propose donc ce tutoriel d'installation du système de rareté.

 

En quoi consiste ce système ? 

 

Rien de spécial, il indique à vos joueurs si leurs items ont de bons bonus ou non.

 

173220140944Rarete.jpg

 

________________________________________________________________________________________________________

 

INSTALLATION SOUS FILES 2012/2013

_____________________________________________________________________________________________

 

Ouvrez le fichier uitooltip.py situé dans l'archive root.

 

Cherchez donc cette ligne :

 

			self.AppendTextLine(locale.TOOLTIP_ITEM_MAGIC_DEF_POWER % magicDefencePower, self.GetChangeTextLineColor(magicDefencePower))

 

Passez une ligne puis ajoutez ceci :

 

	def GetBonusColor(self, attrSlot):
	# Lista de Bonus #
	#1 = Max HP
	#2 = Max SP
	#3 = Vitalidad
	#4 = Inteligencia
	#5 = Fuerza
	#6 = Dextreza
	#7 = Velocidad de ataque
	#8 = Velocidad de Movimiento
	#9 = Velocidad Hechizo
	#10 = Regeneraci? de HP
	#11 = Regeneraci? de SP
	#12 = Probabilidad de Envenenamiento
	#13 = Probabilidad de Apagon
	#14 = Probabilidad de Retardo
	#15 = Probabilidad de golpes cr?icos
	#16 = Probabilidad de golpes de penetraci?
	#17 = Fuerza Contra MedioHumanos
	#18 = Fuerza Contra Animales
	#19 = Fuerza Contra Orcos
	#20 = Fuerza Contra M?ticos
	#21 = Fuerza Contra No-muertos
	#22 = Fuerza Contra Demonios
	#23 = Probabilidad de Absorver HP
	#24 = Probabilidad de Absorver SP
	#25 = Probabilidad de robar HP
	#26 = Probabilidad de recuperar SP al golpear
	#27 = Posibilidad de bloquear un ataque cuerpo a cuerpo
	#28 = Probabilidad de Esquivar Flechas
	#29 = Defensa Espada
	#30 = Defensa Dos Manos
	#31 = Defensa Daga
	#32 = Defensa Campana
	#33 = Defensa Fan
	#34 = Resistencia de Flechas
	#35 = Resistencia Fuego
	#36 = Resistencia Rel?pago
	#37 = Resistencia Magia
	#38 = Resistencia Vento
	#39 = Probabilidad de reflectar golpes f?icos
	#40 = Probabilidad de reflectar maldici?
	#41 = Resistencia veneno
	#42 = Probabilidad para recuperar SP
	#43 = Probabilidad de bonus de doble de EXP
	#44 = Probabilidad de Caer Doble Drop de Yang
	#45 = Probabilidad de Caer Doble Drop de Items
	#46 = Aumentar el efecto de las pociones
	#47 = Probabilidad para recuperar HP
	#48 = Defensa contra Apagones
	#49 = Defensa contra Retardo
	#50 = Defensa contra Caidas
	#51 = UNKNOWN_TYTE [51] SIN EFECTO
	#52 = Alcance del arco
	#53 = Valor de ataque
	#54 = Defensa
	#55 = Valor de Ataque m?ico
	#56 = Defensa M?ica
	#57 = UNKNOWN_TYPE [57] SIN EFECTO
	#58 = Max Resistencia
	#59 = Fuerza contra Guerrero
	#60 = Fuerza contra Ninja
	#61 = Fuerza contra Sura
	#62 = Fuerza contra Chamanes
	#63 = Fuerza contra Mounstruo
	#64 = Valor de ataque
	#65 = Defensa
	#66 = EXP
	#67 = Probabilidad de capturar objetos multiplicada con x.xx (las X son un porcentaje % = Bonus)
	#68 = Probabilidad de capturar Yang multiplicada con x.xx (las X son un porcentaje % = Bonus)
	#69 = UNKNOWN_TYPE [69] SIN EFECTO
	#70 = UNKNOWN_TYPE [70] SIN EFECTO
	#71 = Da? de Habilidad
	#72 = Da? Media
	#73 = Resistencia al da? de habilidad ( contrarresta el bonus ID:71 )
	#74 = Resistencia al da? de media( contrarresta el bonus ID:72 )
	#75 = UNKNOWN_TYPE [75] SIN EFECTO
	#76 = EXP Bonus x.xx (las X son un porcentaje % = Bonus)
	#77 = Probabilidad de capturar objetos mas x.xx (las X son un porcentaje % = Bonus)
	#78 = Defensa Contra Guerrero
	#79 = Defensa Contra Ninja
	#80 = Defensa Contra Sura
	#81 = Defensa Contra Chaman
	# Lista de Bonus End

	lista_bonus = [['1','3000'],['2','80'],['3','12'],['4','12'],['5','12'],['6','12'],['7','8'],['8','20'],['9','20'],['10','30'],['11','30'],['12','8'],['13','8'],['14','8'],['15','10'],['16','10'],['17','10'],['18','20'],['19','20'],['20','20'],['21','20'],['22','20'],['23','10'],['24','10'],['25','10'],['26','10'],['27','15'],['28','15'],['29','15'],['30','15'],['31','15'],['32','15'],['33','15'],['34','15'],['35','15'],['36','15'],['37','15'],['38','15'],['39','15'],['41','5'],['43','20'],['44','20'],['45','20'],['48','1'],['53','50'],['71','10'],['72','35']]
	lista_color = [[grp.GenerateColor(051,255,255, 1.0)],[grp.GenerateColor(24,116,205, 1.0)],[grp.GenerateColor(0.63,0.13,0.94, 1.0)],[grp.GenerateColor(0,0.75,1, 1.0)],[grp.GenerateColor(0,0.79,0.34, 1.0)],[grp.GenerateColor(0.9490, 0.9058, 0.7568, 1.0)],[grp.GenerateColor(193,205,193, 1.0)],[grp.GenerateColor(131,139,131, 1.0)]]
	i2 = 0
	right = 0
	for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
		type = attrSlot[i][0]
		value = attrSlot[i][1]
		if 0 == value:
			continue
		else:
			for line in range(len(lista_bonus)):
				if int(lista_bonus[line-1][0]) == int(type):
					if int(lista_bonus[line-1][1]) == int(value) or int(lista_bonus[line-1][1]) < int(value):
						right = right+1
			i2 = i2+1
	for i3 in [0,1,2,3,4,5,6,7]:
		if int(i2) == int(int(right)+int(i3)):
			i2 = i3
	try:
		return lista_color[i2][0]
	except:
		dbg.TraceError("Fallo al cargar la lista de colores By: \~*CaNsErBeRo*~/")

 

Cherchez ce code : 

 

 def __AppendAttributeInformation(self, attrSlot):
       if 0 != attrSlot:

           for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
               type = attrSlot[i][0]
               value = attrSlot[i][1]

               if 0 == value:
                   continue

               affectString = self.__GetAffectString(type, value)
               if affectString:
                   affectColor = self.__GetAttributeColor(i, value)
                   self.AppendTextLine(affectString, affectColor)

Et remplacez le entièrement par celui-ci :

 

	def __AppendAttributeInformation(self, attrSlot):
	if 0 != attrSlot:
		TitleColor = self.GetBonusColor(attrSlot)
		for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
			type = attrSlot[i][0]
			value = attrSlot[i][1]

			if 0 == value:
				continue

			affectString = self.__GetAffectString(type, value)
			if affectString:
				affectColor = self.__GetAttributeColor(i, value)
				if attrSlot[3][1] > 0:
					self.AppendTextLine(affectString, TitleColor)
				else:
					self.AppendTextLine(affectString, affectColor)

Ensuite cherchez ceci :

 

    def __SetSpecialItemTitle(self):
       self.AppendTextLine(item.GetItemName(), self.SPECIAL_TITLE_COLOR)

Passez une ligne puis ajoutez ceci en dessous :

 

	def Rango_Bonus(self, attrSlot):
	lista_bonus = [['1','3000'],['2','80'],['3','12'],['4','12'],['5','12'],['6','12'],['7','8'],['8','20'],['9','20'],['10','30'],['11','30'],['12','8'],['13','8'],['14','8'],['15','10'],['16','10'],['17','10'],['18','20'],['19','20'],['20','20'],['21','20'],['22','20'],['23','10'],['24','10'],['25','10'],['26','10'],['27','15'],['28','15'],['29','15'],['30','15'],['31','15'],['32','15'],['33','15'],['34','15'],['35','15'],['36','15'],['37','15'],['38','15'],['39','15'],['41','5'],['43','20'],['44','20'],['45','20'],['48','1'],['53','50'],['71','10'],['72','35']]
	lista_texto = [['[Extreme]',grp.GenerateColor(051,255,255, 1.0)],['[Legendaire]',grp.GenerateColor(24,116,205, 1.0)],['[Epic]',grp.GenerateColor(0.63,0.13,0.94, 1.0)],['[Rare]',grp.GenerateColor(0,0.75,1, 1.0)],['[Commun]',grp.GenerateColor(0,0.79,0.34, 1.0)],['[Normal]',grp.GenerateColor(0.9490, 0.9058, 0.7568, 1.0)],['[Mauvais]',grp.GenerateColor(193,205,193, 1.0)],['[Tres mauvais]',grp.GenerateColor(131,139,131, 1.0)]]
	i2 = 0
	right = 0
	for i in xrange(player.ATTRIBUTE_SLOT_MAX_NUM):
		type = attrSlot[i][0]
		value = attrSlot[i][1]
		if 0 == value:
			continue
		else:
			for line in range(len(lista_bonus)):
				if int(lista_bonus[line-1][0]) == int(type):
					if int(lista_bonus[line-1][1]) == int(value) or int(lista_bonus[line-1][1]) < int(value):
						right = right+1
			i2 = i2+1
	for i3 in [0,1,2,3,4,5,6,7]:
		if int(i2) == int(int(right)+int(i3)):
			i2 = i3
	try:
		self.AppendTextLine(lista_texto[i2][0], lista_texto[i2][1])
	except:
		dbg.TraceError("Fallo al cargar la lista de bonus By: \~*CaNsErBeRo*~/")

Et enfin cherchez ce code :

 

 def __SetItemTitle(self, itemVnum, metinSlot, attrSlot):
       if self.__IsPolymorphItem(itemVnum):
           self.__SetPolymorphItemTitle(metinSlot[0])
       else:
           if self.__IsAttr(attrSlot):
               self.__SetSpecialItemTitle()
               return

           self.__SetNormalItemTitle()

Et remplacez le entièrement par celui-ci :

 

	def __SetItemTitle(self, itemVnum, metinSlot, attrSlot):
	if locale.IsCANADA():
		if 72726 == itemVnum or 72730 == itemVnum:
			self.AppendTextLine(item.GetItemName(), grp.GenerateColor(1.0, 0.7843, 0.0, 1.0))
			return

	if self.__IsPolymorphItem(itemVnum):
		self.__SetPolymorphItemTitle(metinSlot[0])
	else:
		if self.__IsAttr(attrSlot):
			itemType = item.GetItemType()
			if item.ITEM_TYPE_ARMOR == itemType or item.ITEM_TYPE_WEAPON == itemType:
				if attrSlot[3][1] > 0:
					self.Rango_Bonus(attrSlot)
			self.__SetSpecialItemTitle()
			return

		self.__SetNormalItemTitle()

Sauvegardez et quittez !

 

_____________________________________________________________________________________________

 

INSTALLATION SOUS FILES 2014 

_____________________________________________________________________________________________

 

Suivez les étapes présentes ci-dessus sauf qu'à cette ligne :

 

		if locale.IsCANADA():

 

Mettez ceci à la place :

 

		if localeInfo.IsCANADA():

 

Source du tuto : Moi même

Source du système de base : Just4Metin

 

Mei,

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour le partage !

Partager ce message


Lien à poster
Partager sur d’autres sites

Super tuto tout en détail, facile a suivre, très bon système, fonctionnel en files 2014, un grand merci +1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ce tutoriel! :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour le partage et le tuto ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Mei, dans le client 2016 il ne trouve pas les ligne que tu propose que faire dans l'uitooltip.py ?

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai trouvé ça perso dans ultooltip.py qui y ressemble VorGam.

 

def __AppendMagicDefenceInfo(self):
	magicDefencePower = item.GetValue(0)

	if magicDefencePower > 0:
		self.AppendTextLine(localeInfo.TOOLTIP_ITEM_MAGIC_DEF_POWER % magicDefencePower, self.GetChangeTextLineColor(magicDefencePower))

Partager ce message


Lien à poster
Partager sur d’autres sites

et sa pourrais fonctionner ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Aucune idée, à tester xD

Partager ce message


Lien à poster
Partager sur d’autres sites

Ne fonctionne pas en files 2016 ^^

Partager ce message


Lien à poster
Partager sur d’autres sites

A Adapter je pense pour que ça fonctionne ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Fonctionne très bien en files 2016 :D

 

Je l'utilise actuellement :P

Partager ce message


Lien à poster
Partager sur d’autres sites

Va A/Q/S et poste ton syserr^^'

Partager ce message


Lien à poster
Partager sur d’autres sites

Fonctionne en files 2016, merci :)

Partager ce message


Lien à poster
Partager sur d’autres sites

En effet, fonctionnel à 100% sur files 2016 en respectant bien le tuto !

 

Merci beaucoup :)

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.