Aller au contenu
Mei

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

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

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×

Information importante

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