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

Quetes [VIP] et [PVP]


Allostarz

Question

[Message d'introduction]

 

Version des files :2012

Domaine (Base de données, Core, etc.) :

Votre niveau (débutant, intermédiaire, avancé) :

 

Description du problème :

Voila je me demander si il i avait une quetes qui permet de rejouter [VIP] devant le nom du joueurs lorsqu'il donne un Item qu'il aura acheter sur mon IS !

_____________________________________________________________

Et aussi un quetes pvp voila Il faut que les joueurs tue 400 bleu 400 j'aune et 400 rouge lorsqu'il aura fini de tuer faudrais que devant son nom il i ai [PVP] qui aparait . On peut tres bien aussi faire genre une quetes il tue les joueurs (400r 400j 400b ) quand il a fini la quetes lui donne un item et grace a l'item la il va voir un pnj qui lui mettera le [pvp] devant si on peut faire la premiere ca serai preferable

mes si on peu pas tampis ! la deusieme me va aussi

 

Message d'erreur, capture d'écran :

 

En postant ma demande d'aide, j'affirme avoir lu et accepté le règlement des demandes d'aides.

Lien vers le commentaire
Partager sur d’autres sites

  • Réponses 14
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans cette question

Meilleurs contributeurs dans cette question

14 réponses à cette question

Messages recommandés

  • 0

Concernant la quête VIP, vu que je suis sur téléphone, ça va être chaud. Je te la code quand même :

quest xxx begin
                     state start begin
                             when ID_ITEM.use with pc.getqf("not_vip") == 0 begin
                                       local name = pc.get_name()
                                       say_title("Avoir le grade VIP")
                                       say("Voulez-vous avoir ce grade ?")
                                       if select("Oui", "Non") == 2 then return
                                       end
                                       say_title("Avoir le grade VIP")
                                       if pc.count_item(ID_DE_L'ITEM_DE_L'IS) == 0 then
                                                  say_reward("Vous n'avez pas l'item XXX !")
                                       else
                                                  say_reward("Vous voilà [VIP] !")
                                                  pc.setqf("not_vip", 1)
                                                  syschat("Veuillez vous déconnecter et vous reconnecter.")
                                       end
                        end
            end
end

Lien vers le commentaire
Partager sur d’autres sites

  • 0

C'est tout à fait possible pour ajouter du texte devant un nom mais il faut toujours savoir que le fait d'ajouter du texte fais perdre des caractères disponibles par défaut. Je pense que par défaut il y en a 15 (pas sur du tout) dispo. Après si tu mets [VIP] ça fait déjà 5 en moins, ça c'est sur! :P

De un pour ta quête il faut que tu actives la MySQL sur ton serveur. Ensuite te faut la quête bien entendu , celle de prindo ne change pas le nom en revanche.

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Pk ce cassé la tête avec une quest

 

juste un petit bout de python est un quest qui permet de l'activer a ton joueur

 

PlayerName = player.GetName()

if playername.find("[VIP]") == -1:

if text == '(vip)':

self.__ResetChat()

chat.AppendChat(chat.CHAT_TYPE_INFO, "Vous passer premium avec succès !")

else:

pass

else:

pass

 

 

if playername.find("[VIP]") != -1:

net.SendChatPacket(text, type)

else:

self.__ResetChat()

else:

if net.IsChatInsultIn(text):

chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CHAT_INSULT_STRING)

else:

net.SendChatPacket(text, type)

 

On peux même attribué un logo a ton joueur

 

chrmgr.RegisterEffect(chrmgr.EFFECT_EMOTICON+12, "", EmoticonStr+"vip.mse")

net.RegisterEmoticonString("(vip)")

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Hum. Essaye comme ça :

quest xxx begin
state start begin
	when ID_DU_PNJ.chat."Avoir le grade [VIP]" with pc.getqf("not_vip") == 0 begin
		say_title("Avoir le grade VIP")
		say("Voulez-vous avoir ce grade ?")
		if select("Oui", "Non") == 2 then return
		end
		say_title("Avoir le grade VIP")
		say_reward("Par précaution, veuillez réécrire")
		say_reward("votre pseudonyme en rajoutant [VIP].")
		say("Exemple : [VIP]LeGuerrier")
		pseudo = input()
		if pseudo== "" then
			syschat("Vous n'avez rien indiquer.")
		end
		local name = pc.get_name()
		if pseudo != "[VIP]name" then
			syschat("Veuillez réécrire exactement le même pseudonyme.")
			syschat("Sans oublier le siggle [VIP] avant.")
		end
		if pseudo == "[VIP]name" then
			if pc.count_item(ID_DE_L'ITEM_DE_L'IS) == 0 then -- A MODIDIFER
				say_reward("Vous n'avez pas l'item XXX !") -- A MODIFIER
			else
				pc.change_name(pseudo)
				chat("Vous voilà [VIP] !")
				pc.setqf("not_vip", 1)
				syschat("Veuillez vous déconnecter et vous reconnecter.")
			end
		end
	end
end
end

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Ça fonctionnera pas de toute façon, les [ ] ne fonctionnent pas sur le pc.change_name même chose pour les { } :P

Faut faire via mysql


Voici ta quête pour le système V.I.P

quest vip begin
state start begin
	when NPCID.take begin
		if pc.count_item(ITEMID)>=1 then
			say_title(""..mob_name(NPCID).."")
			say("Plop, tu veux utiliser ton item")
			say("et devenir VIP ?")
			local a = select("Yep!", "Nope")
			if a == 1 then
				local name = pc.get_name()
				local find_id = mysql_query("SELECT account_id from player.player WHERE name='"..name.."' LIMIT 1;")
				local id = find_id[1][1]+1-1
				mysql_query("UPDATE player.player SET name='[VIP]"..name.."' WHERE account_id='"..id.."' LIMIT 1;")
				pc.remove_item(ITEMID)
				syschat("Votre demande à été envoyé au serveur. Votre")
				syschat("changera dès que le serveur aura retourné l'information!")
			else
				return
			end
		else
			say_title(""..mob_name(NPCID).."")
			say("Bah, vous faut l'item suivant pour")
			say("activer le VIP:")
			say_item_vnum(ITEMID)
			say("Revenez quand vous l'aurez.")
			return
		end
	end
end
end

 

Attention faut activer la mysql sur ton serveur.

Remarque: Remplace ITEMID par l'id de ton item à utiliser et NPCID par le pnj qui se chargera de prendre les items.

  • Love 1
Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 6

      problème de connexion à mon serveur local (je suis débutant dans ce genre d'entreprise )

    2. 2

      problème de lancement serveur

    3. 9
    4. 0

      [PVM/PVP] ATLAX2 - EASY PLAY

    5. 2

      problème de lancement serveur

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.