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

Python / LUA - Achèvement


Alya

Messages recommandés

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Salut à tous !

Aujourd’hui j'ai fais un petit tour sur EB et j'ai trouvé un système de succès

qui existe déjà sur peu de serveurs mais qui n'est pas sur funky-emulation donc je partage

 

 

 

Seulement testé sur files 2012 (partage agronaque)

 

 

 

 

Description :

vous déverrouillez des succès selon votre niveau ou en améliorant de l’équipement et en tuant des boss.

pour exemple c'est le même système des Hauts faits sur Wow.

Vous pouvez paramétrer le déblocage de succès via succes.quest c'est assez simple.

une fois la quête bien en main vous pourrez débloquer des succès assez fun comme je l'ai fais

ex: Vous donnez à boire au passant ivre et déverrouillez le succès alcoolique anonyme. 😜

 

 

 

 

C'est parti !

 

 

 

1-Téléchargement du fichier

Hidden Content

    Give reaction to this post to see the hidden content.
Traduit par ketrawin

 

 

 

2-Installation

Tout d’abord, dézippez l'archive. Vous devriez avoir ceci:

 

 

2343401340130901-fichierssucces.png

 

 

Une fois le fichier dézippé, dépackez votre Root et ouvrez le fichier game.py

recherchez la ligne :

 

 

 

def __ServerCommand_Build(self):
 

 

 

puis collez les lignes ci-dessous juste en dessous de "CloseSafebox"            : self.CommandCloseSafebox,

 

 

			# Achievement System START
		"achievement"			: self.__AchievementTest,
		"achievementpoints"			: self.__ShowAchievementPoints,  
		# Achievement System END
 

 

 

aperçu:

 

2347521340132120-gamesucces.png

 

 

 

après, allez à la fin de votre fichier game.py et collez ces lignes :

 

 

	# Achievement System START
def __ShowAchievementPoints(self, points):
	import uiAchievement
	import uiTaskbar
	self.uiAchievement = uiAchievement.AchievementDialog()
	uiAchievement.AchievementPoints = int(points)

def __AchievementTest(self, archivement):
	import uiAchievement
	self.uiAchievement = uiAchievement.AchievementDialog()
	self.uiAchievement.Show(1, str(archivement))
	self.uiAchievement.SetTop()  
# Achievement System END
 

 

 

aperçu :

 

2350061340132516-game2succes.png

 

 

enregistrez, quittez

Placez le fichier uiachievement.py  dans votre dossier root puis repackez le tout (en ajoutant le fichier via l'outils de moustikk) puis placez votre root.epk/eix dans le dossier pack de votre client.

Maintenant dépackez ETC.epk et placez achievement_small.sub et achievement_small.dds dans les répertoires suivants :

 

 

\ymir work\ui\public\achievement_small.sub
 

 

 

\ymir work\ui\achievement_small.dds
 

 

 

puis repackez le tout (en ajoutant le fichier via l'outil de moustikk) puis placez votre etc.epk/eix dans le dossier pack de votre client.

Enfin, dépackez uiscript et placez le fichier achievementboard.py à la racine de votre dossier uiscript

Pour ceux qui n'ont pas le fichier warteschleife.py dans leur dossier uiscript

créez-le et insérez ceci dedans:

 

 

import uiScriptLocale

window = {
"name" : "QuestionDialog",

"x" : SCREEN_WIDTH/2 - 125,
"y" : SCREEN_HEIGHT/2 - 52,

"width" : 0,
"height" : 0,
}
 

 

 

Enregistrez et quittez.

Vous pouvez repacker (en ajoutant le fichier via l'outil de moustikk) puis placez votre uiscript.epk/eix dans le dossier pack de votre client.

Côté serveur maintenant.

Ouvrez wincsp ou votre client ftp et allez dans votre dossier quest:

 

 

/usr/metin2/share/locale/france/quest
 

 

 

placez succes.quest

et ouvrez locale_list

rajoutez le nom de la quête tout en bas :

 

 

succes.quest
 

 

 

puis via putty (ou autre)

recompilez vos quêtes via sh make.sh ou ./quest

connectez-vous avec votre client et faites /reload q

enjoy ! :smiling:

 

 

933x500

Hidden Content

    Give reaction to this post to see the hidden content.
[/img]

 

 

 

un petit plus dans le partage :P

 

 

 

Screen:

 

 

2359001340396464-detailsucces.png

 

 

Installation:

 

 

Copiez/collez :

 

 

function say_red ( name ) say ( color256 ( 255 , 0 , 0 ).. name .. color256 ( 255 , 0 , 0 )) end
function say_green ( name ) say ( color256 ( 0 , 238 , 0 ).. name .. color256 ( 0 , 238 , 0 )) end
 

 

 

à la fin du fichier questlib.lua dans le répertoire /usr/metin2/share/locale/france/quest/

 

puis collez :

 

 

say_green
say_red
 

 

 

dans le fichier quest_functions dans le repertoire /usr/metin2/share/locale/france/quest/

en dessous de say par exemple

 

 

enfin collez (choisissez la Version que vous préferez) :

 

 

Version 1:

 

 

		when 20010.chat."Détails des succès" begin
	say("Les Monstres :")
	say("")
	if pc.getqf("691") >= 1 then
	say_green("Chef orc tué : "..pc.getqf("691").." fois.")
	else say_red("Chef orc : pas encore tué.") end
	if pc.getqf("791") >= 1 then
	say_green("Chef ésotérique tué : "..pc.getqf("791").." fois.")
	else say_red("Chef ésotérique : pas encore tué.") end
	if pc.getqf("792") >= 1 then
	say_green("Chef ésotérique réincarné tué : "..pc.getqf("792").." fois.")
	else say_red("Chef ésotérique réincarné : pas encore tué.") end
	if pc.getqf("1093") >= 1 then
	say_green("Faucheuse tué : "..pc.getqf("1093").." fois.")
	else say_red("Faucheuse : pas encore tué.") end
	if pc.getqf("1094") >= 1 then
	say_green("Vil Roi démon élite tué : "..pc.getqf("1094").." fois.")
	else say_red("Vil Roi démon élite : pas encore tué.") end
	if pc.getqf("1095") >= 1 then
	say_green("Mort bleue tué : "..pc.getqf("1095").." fois.")
	else say_red("Mort bleue : pas encore tué.") end
	if pc.getqf("1192") >= 1 then
	say_green("Grande-Sorcière tué : "..pc.getqf("1192").." fois.")
	else say_red("Grande-Sorcière : pas encore tué.") end
	if pc.getqf("1304") >= 1 then
	say_green("Tigre jaune tué : "..pc.getqf("1304").." fois.")
	else say_red("Grande-Sorcière : pas encore tué.") end
	if pc.getqf("1901") >= 1 then
	say_green("Neuf queues tué : "..pc.getqf("1901").." fois.") 
	else say_red("Grande-Sorcière : pas encore tué.") end
	if pc.getqf("2091") >= 1 then
	say_green("Reine-Araignée tué : "..pc.getqf("2091").." fois.")
	else say_red("Reine-Araignée : pas encore tué.") end
	if pc.getqf("2206") >= 1 then
	say_green("Roi Flamme tué : "..pc.getqf("2206").." fois.")
	else say_red("Roi Flamme : pas encore tué.") end
	if pc.getqf("2191") >= 1 then
	say_green("Tortue géante tué : "..pc.getqf("2191").." fois.")
	else say_red("Tortue géante : pas encore tué.") end
	if pc.getqf("2493") >= 1 then
	say_green("Beran-Setaou tué : "..pc.getqf("2493").." fois.")
	else say_red("Beran-Setaou : pas encore tué.") end
	wait()
	say("Les Métins :")
	say("")
	if pc.getqf("8020") >= 1 then
	say_green("Pierre de Shinsoo : "..pc.getqf("8020").." fois.")
	else say_red("Pierre de Shinsoo : non détruite.") end
	if pc.getqf("8021") >= 1 then
	say_green("Pierre de Jinno : "..pc.getqf("8021").." fois.")
	else say_red("Pierre de Jinno : non détruite.") end
	if pc.getqf("8022") >= 1 then
	say_green("Pierre de Chunjo : "..pc.getqf("8022").." fois.")
	else say_red("Pierre de Chunjo : non détruite.") end
	if pc.getqf("8023") >= 1 then
	say_green("Pierre Empiriale : "..pc.getqf("8023").." fois.")
	else say_red("Pierre Empiriale : non détruite.") end
	if pc.getqf("8026") >= 1 then
	say_green("Métin Tu-Young : "..pc.getqf("8026").." fois.") 
	else say_red("Métin Tu-Young : non détruite.") end
	if pc.getqf("8027") >= 1 then
	say_green("Métin Jeon-Un : "..pc.getqf("8027").." fois.")
	else say_red("Métin Jeon-Un : non détruite.") end
	if pc.getqf("8029") >= 1 then
	say_green("Métin des Secrets : "..pc.getqf("8029").." fois.")
	else say_red("Métin des Secrets : non détruite.") end
	if pc.getqf("8030") >= 1 then
	say_green("Métin de Courroux : "..pc.getqf("8030").." fois.")
	else say_red("Métin de Courroux : non détruite.") end
	wait()
	say("Les Niveau :")
	say("")
	if pc.getqf("Level10") >= 1 then
	say_green("Niveau 10 atteint.")
	else say_red("Niveau 10 non atteint.") end
	if pc.getqf("Level30") >= 1 then
	say_green("Niveau 30 atteint.")
	else say_red("Niveau 30 non atteint.") end
	if pc.getqf("Level50") >= 1 then
	say_green("Niveau 50 atteint.")
	else say_red("Niveau 50 non atteint.") end
	if pc.getqf("Level75") >= 1 then
	say_green("Niveau 75 atteint.")
	else say_red("Niveau 75 non atteint.") end
	if pc.getqf("Level85") >= 1 then
	say_green("Niveau 85 atteint.")
	else say_red("Niveau 85 non atteint.") end
	if pc.getqf("Level95") >= 1 then
	say_green("Niveau 95 atteint.")
	else say_red("Niveau 95 non atteint.") end
	if pc.getqf("Level99") >= 1 then
	say_green("Niveau 99 atteint.")
	else say_red("Niveau 99 non atteint.") end
	wait()
	say("L'equipements:")
	say("")
	if pc.getqf("achievement_ssp") >= 1 then
	say_green("Armure d'acier noir+9")
	else say_red("Armure d'acier noir+9") end
	if pc.getqf("achievement_swa") >= 1 then
	say_green("Costume du vent noir+9")
	else say_red("Costume du vent noir+9") end
	if pc.getqf("achievement_mpp") >= 1 then
	say_green("Armure de magie noire+9")
	else say_red("Armure de magie noire+9") end
	if pc.getqf("achievement_sk") >= 1 then
	say_green("Robe noire+9")
	else say_red("Robe noire+9") end
	if pc.getqf("achievement_gifti") >= 1 then
	say_green("Epée empoisonnée+9.")
	else say_red("Epée empoisonnée+9") end
	if pc.getqf("achievement_lowenschw.") >= 1 then
	say_green("Epée du lion+9")
	else say_red("Epée du lion+9") end
	if pc.getqf("achievement_orchiglocke") >= 1 then
	say_green("Armure d'acier azuré+9")
	else say_red("Armure d'acier azuré+9") end
	if pc.getqf("achievement_krahenstahl") >= 1 then
	say_green("Cost. de dragon azuré+9")
	else say_red("Cost. de dragon azuré+9") end
	if pc.getqf("achievement_teufelsflugenchak") >= 1 then
	say_green("Plaques auréolées+9")
	else say_red("Plaques auréolées+9") end
	if pc.getqf("achievement_Grolli") >= 1 then
	say_green("Vêtements draconiques+9")
	else say_red("Vêtements draconiques+9") end
	end
 

 

 

Version 2 : par Fushiida

 

 

		when 20010.chat."Détails des succès" begin
	say("Détails des succès :")
	say("")
	s = select("Boss tuer", "Les metins", "Les Niveau", "L'equipements", "Fermer")

	if s == 1 then
	say("Les Boss :")
	say("")
	if pc.getqf("691") >= 1 then
		say_green("Chef orc tué : "..pc.getqf("691").." fois.")
			else say_red("Chef orc : pas encore tué.") end
	if pc.getqf("791") >= 1 then
		say_green("Chef ésotérique tué : "..pc.getqf("791").." fois.")
			else say_red("Chef ésotérique : pas encore tué.") end
	if pc.getqf("792") >= 1 then
		say_green("Chef ésotérique réincarné tué : "..pc.getqf("792").." fois.")
			else say_red("Chef ésotérique réincarné : pas encore tué.") end
	if pc.getqf("1093") >= 1 then
		say_green("Faucheuse tué : "..pc.getqf("1093").." fois.")
			else say_red("Faucheuse : pas encore tué.") end
	if pc.getqf("1094") >= 1 then
		say_green("Vil Roi démon élite tué : "..pc.getqf("1094").." fois.")
			else say_red("Vil Roi démon élite : pas encore tué.") end
	if pc.getqf("1095") >= 1 then
		say_green("Mort bleue tué : "..pc.getqf("1095").." fois.")
			else say_red("Mort bleue : pas encore tué.") end
	if pc.getqf("1192") >= 1 then
		say_green("Grande-Sorcière tué : "..pc.getqf("1192").." fois.")
			else say_red("Grande-Sorcière : pas encore tué.") end
	if pc.getqf("1304") >= 1 then
		say_green("Tigre jaune tué : "..pc.getqf("1304").." fois.")
			else say_red("Grande-Sorcière : pas encore tué.") end
	if pc.getqf("1901") >= 1 then
		say_green("Neuf queues tué : "..pc.getqf("1901").." fois.") 
			else say_red("Grande-Sorcière : pas encore tué.") end
	if pc.getqf("2091") >= 1 then
		say_green("Reine-Araignée tué : "..pc.getqf("2091").." fois.")
			else say_red("Reine-Araignée : pas encore tué.") end
	if pc.getqf("2206") >= 1 then
		say_green("Roi Flamme tué : "..pc.getqf("2206").." fois.")
			else say_red("Roi Flamme : pas encore tué.") end
	if pc.getqf("2191") >= 1 then
		say_green("Tortue géante tué : "..pc.getqf("2191").." fois.")
			else say_red("Tortue géante : pas encore tué.") end
	if pc.getqf("2493") >= 1 then
		say_green("Beran-Setaou tué : "..pc.getqf("2493").." fois.")
			else say_red("Beran-Setaou : pas encore tué.") end
	wait()
	return
	end

	if s == 2 then
	say("Les Métins :")
	say("")
	if pc.getqf("8020") >= 1 then
		say_green("Pierre de Shinsoo : "..pc.getqf("8020").." fois.")
			else say_red("Pierre de Shinsoo : non détruite.") end
	if pc.getqf("8021") >= 1 then
		say_green("Pierre de Jinno : "..pc.getqf("8021").." fois.")
			else say_red("Pierre de Jinno : non détruite.") end
	if pc.getqf("8022") >= 1 then
		say_green("Pierre de Chunjo : "..pc.getqf("8022").." fois.")
			else say_red("Pierre de Chunjo : non détruite.") end
	if pc.getqf("8023") >= 1 then
		say_green("Pierre Empiriale : "..pc.getqf("8023").." fois.")
			else say_red("Pierre Empiriale : non détruite.") end
	if pc.getqf("8026") >= 1 then
		say_green("Métin Tu-Young : "..pc.getqf("8026").." fois.") 
			else say_red("Métin Tu-Young : non détruite.") end
	if pc.getqf("8027") >= 1 then
		say_green("Métin Jeon-Un : "..pc.getqf("8027").." fois.")
			else say_red("Métin Jeon-Un : non détruite.") end
	if pc.getqf("8029") >= 1 then
		say_green("Métin des Secrets : "..pc.getqf("8029").." fois.")
			else say_red("Métin des Secrets : non détruite.") end
	if pc.getqf("8030") >= 1 then
		say_green("Métin de Courroux : "..pc.getqf("8030").." fois.")
			else say_red("Métin de Courroux : non détruite.") end
	return
	end

	if s == 3 then
	say("Les Niveaux :")
	say("")
	if pc.getqf("Level10") >= 1 then
		say_green("Niveau 10 atteint.")
			else say_red("Niveau 10 non atteint.") end
	if pc.getqf("Level30") >= 1 then
		say_green("Niveau 30 atteint.")
			else say_red("Niveau 30 non atteint.") end
	if pc.getqf("Level50") >= 1 then
		say_green("Niveau 50 atteint.")
			else say_red("Niveau 50 non atteint.") end
	if pc.getqf("Level75") >= 1 then
		say_green("Niveau 75 atteint.")
			else say_red("Niveau 75 non atteint.") end
	if pc.getqf("Level85") >= 1 then
		say_green("Niveau 85 atteint.")
			else say_red("Niveau 85 non atteint.") end
	if pc.getqf("Level95") >= 1 then
		say_green("Niveau 95 atteint.")
			else say_red("Niveau 95 non atteint.") end
	if pc.getqf("Level99") >= 1 then
		say_green("Niveau 99 atteint.")
			else say_red("Niveau 99 non atteint.") end
	return
	end

	if s == 4 then
	say("L'equipements:")
	say("")
	if pc.getqf("achievement_ssp") >= 1 then
		say_green("Armure d'acier noir+9")
			else say_red("Armure d'acier noir+9") end
	if pc.getqf("achievement_swa") >= 1 then
		say_green("Costume du vent noir+9")
			else say_red("Costume du vent noir+9") end
	if pc.getqf("achievement_mpp") >= 1 then
		say_green("Armure de magie noire+9")
			else say_red("Armure de magie noire+9") end
	if pc.getqf("achievement_sk") >= 1 then
		say_green("Robe noire+9")
			else say_red("Robe noire+9") end
	if pc.getqf("achievement_gifti") >= 1 then
		say_green("Epée empoisonnée+9.")
			else say_red("Epée empoisonnée+9") end
	if pc.getqf("achievement_lowenschw.") >= 1 then
		say_green("Epée du lion+9")
			else say_red("Epée du lion+9") end
	if pc.getqf("achievement_orchiglocke") >= 1 then
		say_green("Armure d'acier azuré+9")
			else say_red("Armure d'acier azuré+9") end
	if pc.getqf("achievement_krahenstahl") >= 1 then
		say_green("Cost. de dragon azuré+9")
			else say_red("Cost. de dragon azuré+9") end
	if pc.getqf("achievement_teufelsflugenchak") >= 1 then
		say_green("Plaques auréolées+9")
			else say_red("Plaques auréolées+9") end
	if pc.getqf("achievement_Grolli") >= 1 then
		say_green("Vêtements draconiques+9")
			else say_red("Vêtements draconiques+9") end
	return
	end
	if s == 5 then
	return
	end
 

 

 

dans votre fichier succes.quest à la fin entre les 4 derniers end

exemple:

 

 

			end
	end
[COLLEZ ICI LA QUETE]
end
end
 

 

 

une petite recompilation et un reload q en jeu et c'est bon

la Quête est sur le pnj : marchand ambulant fixe map2

 

 

 

Quête : Magasin succès par Salya

 

 

screen :

 

 

2305271340453162-magsucces.png

 

 

Installation:

 

 

Copier/Collez:

 

 

			when 9008.chat."Magasin de succes" begin
		local actual_achievement_points = pc.getqf("achievement_points")
		if actual_achievement_points <= 0 then
			say_title("".. mob_name(9008) ..":")
			say("")
			say("Bonjour ".. pc.get_name() ..",")
			say("")
			say("Vous pouvez echanger vos points")
			say("de succès contre divers items.")
			say("Pour le moment, vous n'avez pas de point de succès")
			say("à echanger")
			say("")
			say("")
			say("")
			say_reward("Reviens me voir quand tu en auras.")
		else
			say_title("".. mob_name(9008) ..":")
			say("")
			say("Bonjour ".. pc.get_name() ..",")
			say("")
			say("Je vois que tu as acquis des points de succès.")
			say("Souhaites-tu les echanger contre des items ?")
			say("J'ai un large choix de marchandise, ")
			say("Que souhaites-tu faire ?")
			local achievement = select("Echanger","Fermer")
			if achievement == 2 then
				return
			else
				say_title("".. mob_name(9008) ..":")
				say("")
				say("")
				say_reward("                              Points disponible : ".. pc.getqf("achievement_points"))
				say("")
				say("Choissis ta catégorie.")
				local selectcategory = select("Perle","Item de mariage","Item-Shop","Fermer")
				if selectcategory == 4 then
					return
				elseif selectcategory == 1 then
					say_title("".. mob_name(9008) ..":")
					say("")
					say("Tu souhaites des perles?")
					say("J'ai plusieurs sorte de perles, lequel desires-tu?")
					local uppitems = select("Perle blanche","Perle bleu","Perle rouge","Palourde","Fermer")
					if uppitems == 5 then
						return
					elseif uppitems == 1 then
						local Price = 10
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Veux-tu acheter une Perle blanche ?")
						say("")
						say_reward("Elle coûte ".. Price .." points de succès.")
						local buyselection = select("Acheter une Perle blanche","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici ta perle blanche.")
								say("")
								say("")
								say_item_vnum(27992)
								say_reward("Vous recevez une perle blanche")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(27992, 1)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					elseif uppitems == 2 then
						local Price = 10
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Veux-tu acheter une perle bleu ?")
						say("")
						say_reward("Cela coute ".. Price .." points de succès.")
						local buyselection = select("Acheter une perle bleu","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici ta perle bleu.")
								say_item_vnum(27993)
								say("")
								say("")
								say("")
								say_reward("Vous recevez une perle bleu")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(27993, 1)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					elseif uppitems == 3 then
						local Price = 10
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Veux-tu acheter une perle rouge?")
						say("")
						say("")
						say_reward("Cela coute ".. Price .." points de succès.")
						local buyselection = select("Acheter une perle rouge","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici ta perle rouge.")
								say("")
								say("")
								say_item_vnum(27994)
								say_reward("Vous recevez une perle rouge")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(27994, 1)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					elseif uppitems == 4 then
						local Price = 5
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Veux-tu acheter une palourde?")
						say("")
						say("")
						say_reward("Cela coute ".. Price .." points de succès.")
						local buyselection = select("Magischen Stein acheter","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici ta palourde.")
								say_item_vnum(27987)
								say_reward("Vous recevez une palourde")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(27987, 1)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					end
				elseif selectcategory == 2 then
					say_title("".. mob_name(9008) ..":")
					say("")
					say("Je vends également des accesoires pour")
					say("les mariés à un bon prix")
					say("Je te laisse voir mes articles")
					local hilfsitems = select("Item de mariage","Anneau de couple","Fermer")
					if hilfsitems == 3 then
						return
					elseif hilfsitems == 1 then
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Je te laisse faire ton choix parmis ")
						say("les items de mariage que je possède.")
						local mariage = select("Anneau d'harmonie","Bracelet d'amour","Boucles d'oreilles d'amour","Bracelet d'harmonie","Collier d'amour","Collier d'harmonie","Fermer")
						if mariage == 7 then
							return
						elseif mariage == 1 then
							local Price = 5
							say_title("".. mob_name(9008) ..":")
							say("")
							say("Excellent choix, je vous que tu es un connaisseur.")
							say("Vous allez réussir bien des choses avec cet anneau,")
							say("je présume que tu souhaites connaitre son prix.")
							say("")
							say("")
							say("")
							say_reward("Cela coute ".. Price .." points de succès.")
							local buyselection = select("Acheter anneau d'harmonie","Fermer")
							if buyselection == 2 then
								return
							elseif buyselection == 1 then
								if pc.getqf("achievement_points") < Price then
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Tu n'as pas assez de points.")
									say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
									say("à echanger")
									say("")
									say("")
									say("")
									say_reward("Tu as besoin de plus de points")
									return
								else
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Voici votre commande.")
									say_item_vnum(71069)
									say_reward("Vous recevez un anneau d'harmonie")
									pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
									pc.give_item2(71069, 1)
									syschat("Points restants : ".. pc.getqf("achievement_points"))
								end
							end
						elseif mariage == 2 then
							local Price = 5
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Excellent choix, je vous que tu es un connaisseur.")
								say("Vous allez réussir bien des choses avec cet anneau,")
								say("je présume que tu souhaites connaitre son prix.")
								say("")
								say("")
								say("")
								say_reward("Cela coute ".. Price .." points de succès.")
								local buyselection = select("Acheter un bracelet d'amour","Fermer")
								if buyselection == 2 then
									return
								elseif buyselection == 1 then
									if pc.getqf("achievement_points") < Price then
										say_title("".. mob_name(9008) ..":")
										say("")
										say("Tu n'as pas assez de points.")
										say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
										say("à echanger")
										say("")
										say("")
										say("")
										say_reward("Tu as besoin de plus de points")
										return
									else
										say_title("".. mob_name(9008) ..":")
										say("")
										say("Voici votre commande.")
										say_item_vnum(71070)
										say_reward("Vous recevez un bracelet d'amour")
										pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
										pc.give_item2(71070, 1)
										syschat("Points restants : ".. pc.getqf("achievement_points"))
									end
								end
						elseif mariage == 3 then
							local Price = 5
							say_title("".. mob_name(9008) ..":")
							say("")
							say("Excellent choix, je vous que tu es un connaisseur.")
							say("Vous allez réussir bien des choses avec cet anneau,")
							say("je présume que tu souhaites connaitre son prix.")
							say("")
							say("")
							say("")
							say_reward("Cela coute ".. Price .." points de succès.")
							local buyselection = select("Boucles d'oreille d'amour","Fermer")
							if buyselection == 2 then
								return
							elseif buyselection == 1 then
								if pc.getqf("achievement_points") < Price then
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Tu n'as pas assez de points.")
									say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
									say("à echanger")
									say("")
									say("")
									say("")
									say_reward("Tu as besoin de plus de points")
									return
								else
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Voici votre commande.")
									say_item_vnum(71071)
									say_reward("Du hast einen 10 stündigen Anneau de couple erhalten")
									pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
									pc.give_item2(71071, 1)
									syschat("Points restants : ".. pc.getqf("achievement_points"))
								end
							end
						elseif mariage == 4 then
							local Price = 5
							say_title("".. mob_name(9008) ..":")
							say("")
							say("Excellent choix, je vous que tu es un connaisseur.")
							say("Vous allez réussir bien des choses avec cet anneau,")
							say("je présume que tu souhaites connaitre son prix.")
							say("")
							say("")
							say("")
							say_reward("Cela coute ".. Price .." points de succès.")
							local buyselection = select("Bracelet d'harmonie","Fermer")
							if buyselection == 2 then
								return
							elseif buyselection == 1 then
								if pc.getqf("achievement_points") < Price then
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Tu n'as pas assez de points.")
									say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
									say("à echanger")
									say("")
									say("")
									say("")
									say_reward("Tu as besoin de plus de points")
									return
								else
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Voici votre commande.")
									say_item_vnum(71072)
									say_reward("Vous recevez un bracelet d'harmonie")
									pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
									pc.give_item2(71072, 1)
									syschat("Points restants : ".. pc.getqf("achievement_points"))
								end
							end
						elseif mariage == 5 then
							local Price = 5
							say_title("".. mob_name(9008) ..":")
							say("")
							say("Excellent choix, je vous que tu es un connaisseur.")
							say("Vous allez réussir bien des choses avec cet anneau,")
							say("je présume que tu souhaites connaitre son prix.")
							say("")
							say("")
							say("")
							say_reward("Cela coute ".. Price .." points de succès.")
							local buyselection = select("Collier d'amour","Fermer")
							if buyselection == 2 then
								return
							elseif buyselection == 1 then
								if pc.getqf("achievement_points") < Price then
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Tu n'as pas assez de points.")
									say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
									say("à echanger")
									say("")
									say("")
									say("")
									say_reward("Tu as besoin de plus de points")
									return
								else
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Voici votre commande.")
									say_item_vnum(71073)
									say_reward("Vous recevez un collier d'amour")
									pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
									pc.give_item2(71073, 1)
									syschat("Points restants : ".. pc.getqf("achievement_points"))
								end
							end
						elseif mariage == 6 then
							local Price = 5
							say_title("".. mob_name(9008) ..":")
							say("")
							say("Excellent choix, je vous que tu es un connaisseur.")
							say("Vous allez réussir bien des choses avec cet anneau,")
							say("je présume que tu souhaites connaitre son prix.")
							say("")
							say("")
							say("")
							say_reward("Cela coute ".. Price .." points de succès.")
							local buyselection = select("Collier d'harmonie","Fermer")
							if buyselection == 2 then
								return
							elseif buyselection == 1 then
								if pc.getqf("achievement_points") < Price then
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Tu n'as pas assez de points.")
									say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
									say("à echanger")
									say("")
									say("")
									say("")
									say_reward("Tu as besoin de plus de points")
									return
								else
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Voici votre commande.")
									say_item_vnum(71074)
									say_reward("Vous recevez un collier d'harmonie")
									pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
									pc.give_item2(71074, 1)
									syschat("Points restants : ".. pc.getqf("achievement_points"))
								end
							end
						end
					elseif hilfsitems == 2 then
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Haha, je vois que tu as rencontré l'amour")
						say("rien n'est plus beau que l'union de deux personnes.")
						say("Souhaites-tu acheter un anneau de couple? ")
						local handschuhe = select("Acheter une anneau de couple","Fermer")
						if handschuhe == 2 then
							return
						elseif handschuhe == 1 then
							local Price = 10
							say_title("".. mob_name(9008) ..":")
							say("")
							say("Comme vous le voyez, cet anneau est faite sur mesure.")
							say("pour vous,elle vous va à merveille, le prix? Haha")
							say("")
							say("")
							say("")
							say_reward("Cela coute ".. Price .." points de succès.")
							local buyselection = select("Acheter anneau de couple","Fermer")
							if buyselection == 2 then
								return
							elseif buyselection == 1 then
								if pc.getqf("achievement_points") < Price then
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Tu n'as pas assez de points.")
									say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
									say("à echanger")
									say("")
									say("")
									say("")
									say_reward("Tu as besoin de plus de points")
									return
								else
									say_title("".. mob_name(9008) ..":")
									say("")
									say("Je vois que l'amour n'a pas de prix pour vous.")
									say("Excellent choix. Voici votre commande")
									say_item_vnum(70301)
									say_reward("Haha, l'amour, dans ce monde de guerre")
									pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
									pc.give_item2(70301, 1)
									syschat("Points restants : ".. pc.getqf("achievement_points"))
								end
							end
						end
					end
				elseif selectcategory == 3 then
					say_title("".. mob_name(9008) ..":")
					say("")
					say("Voici quelques items qui vous aideront bien?")
					say("De quoi auriez-vous besoin?.")
					local drachengott = select("Metal magique","Ajout bonus 6 et 7","Changement bonus 6 et 7","Fermer")
					if drachengott == 4 then
						return
					elseif drachengott == 1 then
						local Price = 10
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Le metal magique est quelque chose de rare")
						say("j'espere tu en ferras bon usage.")
						say("")
						say("")
						say_reward("Cela coute ".. Price .." points de succès.")
						local buyselection = select("Acheter un metal magique","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici votre commande.")
								say_item_vnum(25041)
								say_reward("Vous recevez un metal")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(25041, 1)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					elseif drachengott == 2 then
						local Price = 30
						say_title("".. mob_name(9008) ..":")
						say("")
						say("Vous pouvez avoir 10 ajouts de bonus")
						say("")
						say("")
						say_reward("Cela coute ".. Price .." points de succès.")
						local buyselection = select("Acheter 10 ajout de bonus","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici votre commande.")
								say_item_vnum(71085)
								say_reward("Vous recevez 10 ajouts de bonus")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(71085, 10)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					elseif drachengott == 3 then
						local Price = 30
						say_title("".. mob_name(9008) ..":")
						say("")
						say("vous pouvez avoir 10 changement de bonus")
						say("")
						say("")
						say_reward("Cela coute ".. Price .." points de succès.")
						local buyselection = select("Acheter 10 changement de bonus","Fermer")
						if buyselection == 2 then
							return
						elseif buyselection == 1 then
							if pc.getqf("achievement_points") < Price then
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Tu n'as pas assez de points.")
								say("Reviens quand tu auras  ".. Price - pc.getqf("achievement_points") .." Points.")
								say("à echanger")
								say("")
								say("")
								say("")
								say_reward("Tu as besoin de plus de points")
								return
							else
								say_title("".. mob_name(9008) ..":")
								say("")
								say("Voici votre commande.")
								say_item_vnum(50121)
								say_reward("Vous recevez 10 changement de bonus")
								pc.setqf("achievement_points", pc.getqf("achievement_points") - Price)
								pc.give_item2(50121, 10)
								syschat("Points restants : ".. pc.getqf("achievement_points"))
							end
						end
					end
				end
			end
		end
	end
 

 

 

à la fin de votre fichier succes.quest avant les 2 end de fin

exemple:

 

 

[COLLEZ ICI]
end
end
 

 

 

 

une petite recompilation et un /reload q en jeu et c'est bon

merci à lui

 

  • Metin2 Dev 2
  • Love 9
Lien vers le commentaire
Partager sur d’autres sites

Yop !

Je tiens tout d'abord à remercier Alya pour son partage.

Malheureusement ce partage n'est pas complet...

En effet il manque le fichier UIScript/WarteSchleife.py qui est appelé dans le fichier UIScript/uiachievement.py en ligne 148...

C'est le fichier qui permet de créer des fenêtres d'attente qui permet de décompter un temps ;).

 

Amicalement,

ThanosS.

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

Quand je lance mon client après les modifications, il reste bloquer a 100% de la barre de chargement ...

 

Bonjour,

c'est à cause de l'indentation

Reprenez tous les fichiers que vous avez modifier (Le game.py et warteschleife.py)

Et remplacez tous les espaces au début des lignes par des tab.

Le python n'aime pas ça ^^

Et c'est pour ça que ça fait planter votre client

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...
  • 4 semaines après...
  • 1 mois après...


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 21

      Metin2 en 2020 peut-on en parler?

    2. 0

      METIN2Project

    3. 3

      Ressources - UnPack - Metin2 Client - Officiel

    4. 0

      Barre des tâches d'argent étendue

    5. 16

      Redémarrage automatique des channels

    6. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

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.