Pierre, papier, ciseaux
Version améliorée, avec système de gain, par slp13at420
Il s'agit du même script que celui proposé en section [Débutant], à ceci près que slp13at420 y a intégré un système de gain en cas de victoire.
Regardons plutôt le code et ce qui y a été ajouté !
(Pour rappel, les doubles tirets -- sont des balises de commentaire en Lua, de même que -[[COMMENTAIRE]] ! Le code ci-dessous est entre balise C++, et donc la syntaxe peut vous sembler erronée, mais ce n'est pas le cas ! )
--[[ Le jeu Pierre, papier, ciseaux Script original fait par Billtheslug. Mise à jour et conversion pour Eluna par ToxicDev. Modifié par slp13at420 pour le jeu d'argent. Traduction en français par Danalieth. Version 1 ]]-- local NPC_ID = 190010 local price = 5 -- en pièce d'or. min 1 po. ligne ajoutée pour l'intégration du système de prix function On_Gossip(event, plr, unit) plr:GossipMenuAddItem(0, "Je choisis la Pierre.", 0, 1, 0) plr:GossipMenuAddItem(0, "Je choisis le Papier.", 0, 2, 0) plr:GossipMenuAddItem(0, "Je choisis les Ciseaux.", 0, 3, 0) plr:GossipMenuAddItem(0, "Passons... Je ne voudrais pas prendre de risque !", 0, 4,0) plr:GossipSendMenu(1, unit) else plr:SendBroadcastMessage("Pour participer, il vous est demandé "..price.." pièces d'or !") end end function On_Select(event, plr, unit, arg2, intid) --Ici s'ajoute le système de jeu d'argent, jusqu'au prochain commentaire if(intid == 0)then On_Gossip(event, plr, unit) return elseif(intid == 4)then plr:GossipComplete() return else plr:ModifyMoney(-(price*10000)) plr:SendBroadcastMessage("-"..price.."") --[[Voilà, ici s'arrête le code pour le jeu d'argent. Il y a cependant quelques lignes plus bas, pour donner les gains !]] if (intid == 1) then local m = math.random(1, 3) if (m == 1) then plr:SendBroadcastMessage("Nous avons tous les deux choisi la pierre. Égalité !") plr:GossipComplete() end if (m == 2) then plr:SendBroadcastMessage("J'ai choisi le Papier, je gagne !") plr:GossipComplete() end if (m == 3) then plr:SendBroadcastMessage("J'ai choisi les Ciseaux... Ouais, t'as gagné !") plr:SendBroadcastMessage("+"..(price*2).."") plr:ModifyMoney((price*10000)*2) plr:GossipComplete() end end if (intid == 2) then local m = math.random(1, 3) if (m == 1) then plr:SendBroadcastMessage("J'ai choisi la Pierre, tu gagnes.") plr:SendBroadcastMessage("+"..(price*2).."") plr:ModifyMoney((price*10000)*2) plr:GossipComplete() end if (m == 2) then plr:SendBroadcastMessage("Nous avons tous deux choisi le Papier, égalité des points !") plr:GossipComplete() end if (m == 3) then plr:SendBroadcastMessage("J'ai choisi les Ciseaux et je coupe votre Papier comme si c'était du beurre.") plr:GossipComplete() end end if (intid == 3) then local m = math.random(1, 3) if (m == 1) then plr:SendBroadcastMessage("J'ai choisi la Pierre et j'écrase tes Ciseaux chétifs ! Je gagne !") plr:GossipComplete() end if (m == 2) then plr:SendBroadcastMessage("Owh... Tes Ciseaux coupent mon Papier.") plr:SendBroadcastMessage("+"..(price*2).."") plr:ModifyMoney((price*10000)*2) plr:GossipComplete() end if (m == 3) then plr:SendBroadcastMessage("Pareil ! Égalité !") plr:GossipComplete() end end end RegisterCreatureGossipEvent(NPC_ID, 1, On_Gossip) RegisterCreatureGossipEvent(NPC_ID, 2, On_Select)
À vous maintenant de modifier le prix, et le nombre de multiplication qui fera la somme des gains du vainqueur