Un problème avec mon premier lua
Salut à tous,

Je vais vous faire part de mon problème.
Voici le bout du code:

Code :
function Sangoma_OnSelect(unit, event, player, id, intid, code)


if (intid == 1)
then
if (player:RemoveItem(49426,player,10))
then
player:LearnSpell(48263,player)
end
end

Mais une seul ligne me pose problème c'est celle-ci:
Code :
if (player:RemoveItem(49426,player,10))

Ce que je voudrais faire c'est que après que 10 embleme ( L'id 49426) sois delete le PNJ lui apprend le sort.
Seulement quand je rentre en jeu , quand je clic sur le premier sort il ne m'apprend pas le sort de plus il me delete pas 10 embleme alors que je me suis ajouté l'item 49426 plus de 10 fois.

Parcontre quand je démmare le serveur il ne m'affiche pas d'erreur.

Si vous voulez plus de renseignement dite le moi sur le post.
Merci , J'espere que vous pourez m'aidé Smile
if (player:RemoveItem(49426,player,10))
(je suis pas très fort en LUA mais je crois que sa veut dire

si le joueur supprime 10 items de 49426 alors il recoit le pouvoir 48263 Smile )

il faudrait que ta fonction se compose comme :

Si le joueur à 10 fois ou + l'item 49426
alors
on supprime 10 fois l'item.
on lui apprend le sort.

sinon
on lui dit qu'il n'a pas assez.
Je le corrige comme ça donc :

Code :
function Sangoma_OnSelect(unit, event, player, id, intid, code)


if (intid == 1)
then
if (player:HasItem(49426,10) == true)
then
player:RemoveItem(49426,10)
player:LearnSpell(48263,player)
else
if (player:HasItem(49426,10) == false)
unit:SendChatMessage(12, 0, "Vous n\'avez pas assez d\'embleme")

end
end
end
essaye et dit nous Hihi
Ok , Je dois partir donc je vous dis ça plus tard. Smile
Voici ta fonction qui marchera :
[code=LUA]function Sangoma_OnSelect(unit, event, player, id, intid, code)
if (intid == 1) then
if player:HasItem(49426,10) then
player:RemoveItem(49426,10)
player:LearnSpell(48263,player)
else
player:SendChatMessage(12, 0, "Vous n\'avez pas assez d\'emblemes")
end
end
end[/code]
Teste et dis moi si ça marche.
Le code de Kajtt devrait fonctionner a vu d'oeil. Après juste une petite remarque, si ton PNJ a un seul "lien" (j'entends par là : texte où tu peut cliquer, bref là où tu clique pour recevoir le sort) le
[code=lua]if (intid == 1) then[/code]

Est inutile, puisque la valeur de intid ne sera jamais différente de 1. Compris ?
Donc , ce qui marche c'est que sa enleve les 10 emblemes mais :
Code :
player:SendChatMessage(12, 0, "Vous n\'avez pas assez d\'emblemes")

Ne marche pas , quand je n'est pas d'embleme il me dit rien du tous.

En tous cas merci même si encore il a encore un petit problème Smile
tu peux toujours faire ça

[code=LUA]function Sangoma_OnSelect(unit, event, player, id, intid, code)
if (intid == 1) then
if player:HasItem(49426,10) then
player:RemoveItem(49426,10)
player:LearnSpell(48263,player)
else
player:SendAreaTriggerMessage("Vous n\'avez pas assez d\'emblemes")
end
end
end[/code]

mais ce ne sera plus des paroles, juste une phrase marquée sur l'écran.
Impecable , merci à tous ce qui mon aidé a résoudre mon problème Smile

Retourner en haut Accueil