• 0
Allostarz

en cours Quetes [VIP] et [PVP]

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.

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites
  • 0

La fonction change_name ne te permet pas de rajouter ne serait-ce qu'une lettre à ton pseudo,

car il renverra une erreur. Il change ton nom à condition qu'il ne contienne pas ton pseudo précédent.

Share this post


Link to post
Share on other 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)")

Share this post


Link to post
Share on other sites
  • 0

La quêtes VIP marche pas !!

peut-être a cause de ça : when ID_ITEM.use with pc.getqf("not_vip") == 0 begin

 

i a écrire ID item j’ai mit ID PNJ .


Oscar t'aurai pas un tuto pour ton python car je my connais pas tu tous !!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

  • Like 1

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,

 

Le sujet contient la balise [glow=#800000][Résolu][/glow] ou reste sans réponse, de ce fait il a été déplacé dans la section "Résolu ou sans réponse".

 

Cordialement.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.