Advertisement
NathNath

Never Expiration #CheeseSpire 1.0

Sep 29th, 2013
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.17 KB | None | 0 0
  1. -- Initialisation des panneaux d'affichage --
  2.  
  3. ui.addTextArea(1, "<p align='center'><font color='#BABD2F'><font size='11'>CheeseSpire par Animjarcanin (Jiheyr) !</font>", NIL, 5, 25, 730, 20, 0x1C3C41, 0x1C3C41, 1.2)
  4. ui.addTextArea(2, "<p align='center'><font color='#E3B55A'><font size='14'><font face='Soopafresh'><b></font>", NIL, 740, 25, 55, 25, 0, 0, 0)
  5.  
  6. -- Désactivation des paramètres dérangeant --
  7.  
  8. tfm.exec.disableAutoShaman(true) -- Les chamanes ne sont plus choisis automatiquement.
  9. tfm.exec.disableAutoScore(true) -- Les points ne sont plus comptés automatiquement.
  10. tfm.exec.disableAutoTimeLeft(true) -- Le temps n'est plus changé automatiquement.
  11. tfm.exec.disableAutoNewGame(true) -- Les maps ne passent plus automatiquement.
  12.  
  13. -- Lors du lancement du module --
  14.  
  15.  
  16. tfm.exec.newGame(3019964) -- Carte de démarrage
  17. tfm.exec.setGameTime(10) -- Temps de la carte de démarrage
  18.  
  19. -- MapList --
  20.  
  21. maps = {"71", "74", "67", "70", "55", "57", "58", "59", "22", "24", "28", "29", "@292057", "@30798", "@1662570", "@2208335", "@1958341", "@511007", "@1550076", "2", "8", "11", "13", "14", "19"}
  22.    
  23. -- ShamanObjectList --
  24.    
  25. itemrandom = {"54", "2", "10", "18", "39", "40", "45", "46", "61"}
  26.  
  27. -- Variable générale --
  28.  
  29. time = 0 -- Gestion du délai de la réapparition du chamane lors de son décès.
  30.  
  31. -- MapList, Mort du chamane --
  32.      
  33. function eventLoop(t1,t2)
  34.     if t2 < 1 then
  35.         tfm.exec.newGame(maps[math.random(#maps)]) -- Choix aléatoire de la prochaine carte.
  36.         tfm.exec.setGameTime(300) -- Temps de la prochaine carte. (5 minutes)
  37.     end
  38.     time = time + (1/2) -- En modifie la variable du temps, on ajoute 0,5s.
  39.     if time==5 then -- Lorsque la variable du temps est à 5,0s.
  40.         for name, player in pairs(tfm.get.room.playerList) do -- Pour tous les joueurs, faire...
  41.             if tfm.get.room.playerList[name].isShaman then -- Si ce joueur est chamane.
  42.                 if tfm.get.room.playerList[name].isDead then -- Si ce joueur chamane est mort.
  43.                     tfm.exec.respawnPlayer(name) -- Le faire réapparaître.
  44.                 end
  45.             end
  46.         end
  47.     end
  48. end
  49.  
  50. -- Losque qu'une souris prendre un fromage --
  51.      
  52. function eventPlayerGetCheese(name)
  53.     if tfm.get.room.playerList[name].isShaman then -- Si la souris est un chamane.
  54.         tfm.exec.killPlayer(name) -- On tue le chamane.
  55.     else
  56.         ui.updateTextArea(1, "Vous avez un fromage, ramenez-le !", name) -- On notifie la prise du fromage à la souris.
  57.         ui.updateTextArea(2, "+5pts", name) -- On lui notifie le nombre de points gagnés.
  58.         tfm.exec.setPlayerScore(name, 5, true) -- On enregistre ces points-là.
  59.     end
  60. end
  61.      
  62. -- Lorsque qu'une souris gagne/rammène un fromage --
  63.  
  64. function eventPlayerWon(name)
  65.     ui.updateTextArea(1, "Superbe, tenez-vous prête ! Repartez à la chasse !", name) -- On indique la victoire à la souris.
  66.     ui.updateTextArea(2, "+20pts", name) -- On lui notifie le nombre de points gagnés.
  67.     tfm.exec.setPlayerScore(name, 20, true) -- On enregistre ces points-là.
  68.     tfm.exec.respawnPlayer(name) -- On fait renaître la souris.
  69.     if tfm.get.room.playerList[name].score >= 100 then -- Si la souris avait plus (+) de 100 points.
  70.         ui.updateTextArea(1, "Le gagnant est... " .. name .. " !", NIL) -- On indique à toutes les souris qu'elle a gagné.
  71.         ui.updateTextArea(2,  "###", NIL) -- On met à zéro les compteurs.
  72.         tfm.exec.newGame(maps[math.random(#maps)]) -- On initialise la prochaine carte.
  73.         tfm.exec.setGameTime(300) -- On initialise le temps de la prochaine carte.
  74.         for name, player in pairs(tfm.get.room.playerList) do -- Pour toutes les souris, faire...
  75.             tfm.exec.setPlayerScore(name, 0, false) -- Remettre le compteur à zéro.
  76.         end
  77.         tfm.exec.setShaman(name) -- On nomine le prochain chamane, soit, la souris gagnante.
  78.         tfm.exec.setPlayerScore(name, 0, false) -- On met le compteur du chamane à zéro, également.
  79.         tfm.exec.setUIShamanName(name .. ", l'horrible") -- On nomme le chamane.
  80.         tfm.exec.setUIMapName("CheeseSpire's Map") -- On nomme la carte.
  81.     end
  82. end
  83.  
  84. -- Lorsqu'un joueur meurt --
  85.  
  86. function eventPlayerDied(name)
  87.     if tfm.get.room.playerList[name].isShaman then -- Si le joueur mort est un chamane.
  88.         ui.updateTextArea(1, "TUEZ ! TUEZ ! TUEZ !", name) -- On notifie la mort.
  89.         tfm.exec.setPlayerScore(name, 0, false) -- On s'assure que les points sont bien égaux à 0.
  90.         time = 0 -- On remet la variable du temps à zéro, pour le bon décompte du respawn.
  91.     else
  92.         ui.updateTextArea(1, "Vous êtes morte, mais un guide spirituel vous a ramené à la vie. Restez en vie, COUREZ !", name) -- On notifie la mort et le respawn.
  93.         ui.updateTextArea(2, "-10pts", name) -- On notifie les points perdus.
  94.         tfm.exec.setPlayerScore(name, -10, true) -- On enrengistre ces points-là.
  95.         tfm.exec.respawnPlayer(name) -- On fait respawn la souris.
  96.     end
  97. end
  98.      
  99. -- Lorsqu'un joueur entre dans un salon --
  100.  
  101. function eventNewPlayer(name)
  102.     tfm.exec.setPlayerScore(name, 0, false) -- A cette nouvelle souris, on initialise les points à 0.
  103.         for i, key in ipairs({32}) do -- Pour toutes les nouvelles souris, on enregistre la touche 'espace'.
  104.           tfm.exec.bindKeyboard(name, key, true, true)
  105.         end
  106.     ui.addPopup(1,0,"<p align='center'><font color='#BABD2F' size='25' face='Soopafresh'>#CheeseSpire</font></p><br><p align='left'><font size='10'><i>• • • Bienvenue les souris ! Votre chef spirituel vous a envoyé en mission. Vous devez récupérer un fromage tout en ayant plus de 100 points. Cependant, n'oubliez pas que vos adversaires ne sont plus des souriceaux. Ils seront prêt à vous tuer grâce à des flèches, et le chamane diaboliquement kamikaze, n'hésitera pas à se sacrifier pour vous écraser avec un enclume. Cependant, n'ayez crainte ! Votre chef spirituel est là pour vous soigner et vous donne des flèches dès que vous possédez plus de 4 points ! Bon jeu ! ^_^</i><br><br>• • •  <b>Touche principale :</b> Espace<br>• • •  <b>Page officielle du mini-jeu :</b> www.transformice.com/forum/?s=451723&p=30</font></p><br><br><br><br><p align='right'><font size='8' color='#FF2302'>Version 1.0</font></p>", name, 100, 75, 600); -- On affiche les consignes.
  107. end
  108.      
  109. -- Touche espace --
  110.  
  111. function eventKeyboard(name, key, down, x, y)
  112.     if key==32 then -- Lorsque le joueur appuie sur la touche 'espace'.
  113.         score = tfm.get.room.playerList[name].score -- On obtient le score du joueur qui a appuyé sur la touche.
  114.         if score >= 5 then -- Si le score est égal ou supérieur à 5.
  115.             direction = tfm.get.room.playerList[name].isFacingRight -- On obtient sa direction.
  116.             if direction==true then -- La souris regarde à droite.
  117.                 tfm.exec.addShamanObject(35, x+35, y-15, 0, 25, 0, false) -- On tire une flèche à droite.
  118.             else
  119.                 tfm.exec.addShamanObject(35, x-35, y-15, 180, -25, 0, false) -- La souris regarde de l'autre côté, on tire à gauche.
  120.             end
  121.             tfm.exec.setPlayerScore(name, -1, true) -- On retire 1 point à la souris.
  122.             spire = (tfm.get.room.playerList[name].score)-5 -- On obtient le stock de flèches.
  123.             ui.updateTextArea(2, spire .. " F", name) -- On affiche le stock de flèche.
  124.         else
  125.             ui.updateTextArea(1, "Vous ne possédez pas assez de points pour lancer une flèche !", name) -- On informe de l'inaptitude à tirer une flèche.
  126.             spire = (tfm.get.room.playerList[name].score)-4 -- On obtient le stock de flèches.
  127.             ui.updateTextArea(2, spire .. " F", name) -- On affiche ce stock.
  128.         end
  129.         if tfm.get.room.playerList[name].isShaman then -- Si le joueur est chamane.
  130.             item = itemrandom[math.random(#itemrandom)] -- On choisie aléatoire un objet chamanifique.
  131.             if tfm.get.room.playerList[name].isDead == true then -- Si le chamane est mort.
  132.             else
  133.                 tfm.exec.addShamanObject(item, x, y, 0, 0, 0, false) -- On invoque cet objet à la position du chamane.
  134.                 tfm.exec.killPlayer(name) -- Puie on tue ce chamane.
  135.             end    
  136.         end
  137.     end
  138. end
  139.  
  140. -- Pour tous joueurs présent au lancement --
  141.      
  142. for name, player in pairs(tfm.get.room.playerList) do
  143.     eventNewPlayer(name) -- On les notifie comme 'nouveaux arrivants'.
  144. end
  145.  
  146. -- Lors d'une invocation --
  147.  
  148. function eventSummoningStart(playerName)
  149.     tfm.exec.killPlayer(playerName) -- On tue le chamane.
  150. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement