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

[Système] Comptes Premium


Tha SmokKe

Messages recommandés

Centre de Téléchargement

Hidden Content

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

Salut à tous.

 

Me revoilà aujourd'hui pour un nouveau partage d'une de mes créations :)

Enfin c'est pas si fantastique que ça, mais il fallait y pensé.

Bien inspiré par les italiens d'Inforge, je me suis dis qu'il fallait que je fasse mon propre système de comptes Premium.

Malheureusement, comme il était tard et que j'avais absolument envie de terminer ma quête avant d'aller me coucher, j'ai pensé que l'utilisation de MySQL serai facultative pour cette quête, c'est pourquoi cette dernière est totalement indépendante des librairies MySQL.

 

Utilisation

 

 

Aux lignes 8 et 9, pensez à compléter les  variables

Citation

--- Définition Variables

local serveur = "Nom de votre serveur"

local premobj = "Nom de l'objet qui permet l'accès aux services premium"

--- Fin Définition Variables

 

Pensez à conserver les deux " " nécessaires à l'affichage de votre texte

Aux lignes 15,16 et 34, pensez à remplacer PNJ par l'id du pnj qui permettra d'activer ou non le compte premium

Citation

L.15 : when PNJ.chat with pc.getqf("premium") == 0 begin

L.16 : say_title(mob_name(PNJ))

L.34 : say_title(mob_name(PNJ))

 

 

A la ligne 47, pensez à remplacer "vnum" par le vnum de l'item qui va permettre aux joueurs d'accéder au PremiumShop

Citation

pc.give_item2(vnum)

Pour le reste, tout est expliqué dans la quête.

 

Téléchargement

 

 

  • - Pastebin.com - Premium System par SmokKe

 

Pour ceux qui ne pourraient pas accéder au pastebin :

 

""
-----------------------
--	Premium System par SmokKe (25/07/2012) No MySQL
--		Merci de ne pas retirer les crédits
-----------------------
quest smk_premium begin
state start begin
	--- Définition Variables
	local serveur = "Nom de votre serveur"
	local premobj = "Nom de l'objet qui permet l'accès aux services premium"
	--- Fin Définition Variables

	------------------------
	--	Lorsque le joueur n'est pas Premium
	------------------------
	when PNJ.chat with pc.getqf("premium") == 0 begin --- A changer si vous souhaitez y afficher un nom de type "Upgrade compte" || Remplacer PNJ par l'ID de votre PNJ
	say_title(mob_name(PNJ)) -- Remplacer PNJ par l'ID de votre PNJ
	say("")
	say("Bonjour "..pc.get_name()..".")
	say("Je vois que tu as l'air intéressé par un compte")
	say("Premium qui te permettra de nombreux")
	say("avantage sur "..serveur)
	say("Pour devenir PREMIUM, vous devez:")
	say("")
	say_reward("Etre Lv.80 ou plus")
	say_reward("Payer 100.000.000 Yang")
	say_reward("Etre dans une guilde")
	local choix1 = select("Devenir PREMIUM","Quitter ...")
	if choix1 == 2 then
		return
	else
		if pc.has_guild() then
			if pc.get_level() >= 80 then
				if pc.getgold() >= 100000000 then
					say_title(mob_name(PNJ)) --- Remplacer PNJ par l'ID de votre PNJ
					say("")
					say_reward("Tu es apte à devenir un membre PREMIUM")
					say("")
					say("Bienvenue parmi le cercle très fermé des")
					say("membres premium de "..serveur)
					say("Nous t'offrons les bonus suivants à vie !")
					say("")
					say_reward("Tu reçois: "..premobj)
					say_reward("Tu reçois: +3000 PV")
					say_reward("Tu reçois: +10% d'attaque contre les autres races")
					say_reward("Tu reçois: +250 points de défense")
					say_reward("Tu reçois: +20% de résist. magique ")
					pc.give_item2(vnum) --- VNUM de l'item qui permet d'accéder au services PREMIUM
					affect.add_collect(apply.MAX_HP,3000,60*60*24*365*420) --- 3000 PV ajoutés au joueur pendant 420 ans
					affect.add_collect(apply.DEF_GRADE_BONUS,250,60*60*24*365*420) --- 250 points de défense ajoutés au joueurs pendant 420 ans
					affect.add_collect(apply.MAGIC_DEF_GRADE,20,60*60*24*365*420) --- +20% Résistance à la magie
					affect.add_collect(apply.ATTBONUS_WARRIOR,10,60*60*24*364*420) --- +10% Bonus contre les guerriers
					affect.add_collect(apply.ATTBONUS_SURA,10,60*60*24*365*420)	--- +10% Bonus contre les suras
					affect.add_collect(apply.ATTBONUS_SHAMAN,10,60*60*24*365*420) --- +10% Bonus contre les shamans
					affect.add_collect(apply.ATTBONUS_ASSASSIN,10,60*60*24*365*420) --- +10% Bonus contre les ninjas
					pc.setqf("premium",1)
					pc.changegold(-100000000)
				else
					---
					local manquant = (100000000 - pc.getgold()) --- Calcul le nombre de yangs manquants
					---
					say_title(mob_name(20094))
					say("")
					say("Tu n'as pas assez d'argent mon brave.")
					say("Reviens me voir quand tu en aura plus")
					say("")
					say_reward("Il te manque "..manquant.." yang(s)")
				end
			else
				---
				local manquant2 = (80 - pc.get_level()) --- Calcul le nombre de niveaux manquants
				---
				say_title(mob_name(20094))
				say("")
				say("Tu n'as pas le niveau requis")
				say("Reviens plus tard")
				say("")
				say_reward("Il te manque "..manquant2.." niveau(x)")
			end
		else
			say_title(mob_name(20094))
			say("")
			say("Tu ne fais pas partie d'un guilde")
			say("Reviens me voir quand tu en auras une")
		end
	end
	end

	----------------
	--	Utilisation et ouverture du PremiumShop
	----------------
	when vnum.use with pc.getqf("premium") == 1 begin  --- VNUM de l'objet qui permet d'accéder aux services PREMIUM
		say_title(premobj)
		say("")
		say("Bonjour "..pc.get_name()..".")
		say("Tu fais maintenant partie des membres")
		say("premium de "..serveur.."")
		say("")
		say("Tu peux maintenant accéder")
		say("librement grâce à "..premobj)
		say("au PremiumShop, n'importe où sur")
		say(serveur)
		local choix2 = select("PremiumShop","Quitter ...")
		if choix2 == 2 then
			return
		elseif choix2 == 1 then
			say_title(premobj)
			say("")
			say("Bien, tu as décidé d'ouvrir le PremiumShop")
			say("")
			say("Bons achats !")
			---
			pc.setqf("ouvert", pc.getqf("ouvert") + 1) --- Ajoute 1 au(x) nombre(s) d'ouverture(s)
			---
			say("")
			say("")
			say_reward("Tu as ouvert"..pc.getqf("ouvert").." fois")
			say_reward("le PremiumShop")
			---
			npc.open_shop(1234) --- ID du shop a ouvrir défini dans votre base SQL
		end
	end
end
end
 

 

 

 

Si vous ne savez pas implanter une quête, suivez ce tutoriel : ici

 

Enjoy votre système de compte Premium :)

SmokKe ~

  • Metin2 Dev 1
  • Good 1
  • Love 1

XIII

Lien vers le commentaire
Partager sur d’autres sites

  • 6 mois après...
  • Développeur

Je sais pas pourquoi personne ne dit rien mais ta quête ne pourra pas marcher.

Tu ne peux pas définir de variables avant un "when".

 

Place tes variables après le "when" et tout marchera bien, enfin même si y'a pas que ça comme erreur.

 

P.S.: Il ne faut pas coder de quêtes très tard pour finir vite, tu aurais du la tester avant de la poster ;).

Lien vers le commentaire
Partager sur d’autres sites

  • 11 mois après...


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

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