Transformice Wiki
S'inscrire
Advertisement

Le Lua est le langage à la base des modules. Il est possible de coder un module en Lua pour sa maison de tribu. Pour ce faire, vous devez utiliser la commande /lua, mais vous devez avoir joué au moins 1000 parties et ne jamais avoir été sanctionné/banni pour triche. Pour utiliser la commande /module en maison de tribu vous devez avoir les droits pour utiliser la commande /np.

Lua Team[]

La Lua Team, ou Module Team, est composée de joueurs qui savent bien programmer en Lua. Ceux-ci peuvent lancer des codes Lua dans des salons publics commençant par un "#". Ils ont également la possibilité d'utiliser certaines fonctions inaccessibles en maison de tribu. Ils ont aussi la possibilité d'importer des images sur images.atelier801.com. Certains membres de l'équipe veulent rester privés, mais certains décident aussi d'être publics.

Pour rejoindre la Lua Team, il faut respecter certains critères:

  • Il est nécessaire de bien parler en anglais pour pouvoir communiquer avec le reste de l'équipe.
  • Les membres doivent être matures même s'ils ne sont pas publics (il n'y a pas de limite d'âge).
  • Le language Lua doit être maitrisé.

Pour les joueurs qui respectent tous ces critères, il peuvent appliquer pour être dans la Lua Team en utilisant le formulaire approprié. Les recrutements sont ouverts en permanence.

API Lua[]

Cette partie n'a pas été mise à jour depuis un sacré bout de temps. Peut-être as-tu les connaissances nécessaires pour la mettre à jour ?

Evènements[]

Evènement Arguments Événement déclencheur
eventPlayerGetCheese name Un joueur récupère le fromage.
eventPlayerWon name, time, timeSinceRespawn Un joueur entre dans le trou. [Notes 1]
eventPlayerDied name Un joueur meurt.
eventPlayerRespawn name Un joueur réapparait sur la carte. [Notes 2]
eventPlayerVampire name Un joueur devient un vampire.
eventEmotePlayed name, emoteId, emoteParam Un joueur effectue une émote.
eventSummoningStart name, objectType, xPostion, yPosition, angle Une chamane commence à invoquer un objet.
eventSummoningCancel name (string) Une chamane annule une invocation.
eventSummoningEnd name, objectType, xPosition, yPosition, angle, other, objectDescription Une chamane finit d'invoquer.
eventNewGame - Une nouvelle carte commence.
eventNewPlayer name Un nouveau joueur rejoint le salon.
eventPlayerLeft name Un joueur quitte le salon.
eventLoop currentTime, timeRemaining Se déclenche environ toutes les 500 millisecondes.
eventChatCommand name, message Un joueur tape un message commençant par "!". (message ne contient pas le '!)'
eventChatMessage name, message Un joueur tape un message dans le tchat public.
eventPopupAnswer popupId, name, answer Un joueur répond correctement à un popup.
eventTextAreaCallback textAreaId, name, callback Un joueur clique sur une popup qui a le paramètre "event:". 
eventColorPicked colorPickerId, name, color Un joueur choisi une couleur dans la palette. [Notes 3]
eventkeyboard name, keyCode, down, xPosition, yPosition Un joueur appuie ou relâche une touche de son clavier. [Notes 4]
eventMouse name, xMousePosition, yMousePosition Un joueur clique avec sa souris. [Notes 5]
eventFileSaved fileName Un fichier de données est enregistré. [Notes 6]
eventFileLoaded fileName, file Un fichier de données est chargé. [Notes 6]
eventPlayerDataLoaded fileName, data Un fichier de données a finit de charger. [Notes 6]

Fonctions[]

Procédure Arguments Effet
tfm.exec.giveCheese name Donne le fromage au joueur
tfm.exec.playerVictory name Fait rentrer le joueur dans le trou [Notes 7]
tfm.exec.lowerSyncDelay name Réduire le délai de synchonisation du joueur (400 ms maximum) [Notes 6]
tfm.exec.movePlayer name, xPos, yPos, offsetP, xSpeed, ySpeed, offsetSpeed Déplace le joueur et modifie sa vitesse [Notes 8]
tfm.exec.killPlayer name Tue le joueur
tfm.exec.respawnPlayer name

Fait revivre le joueur.

tfm.exec.playEmote name, emoteId, emoteArg Fait faire l'émote indiquée au joueur indiqué
tfm.exec.setVampirePlayer name Transforme le joueur en vampire
tfm.exec.giveMeep name Permet au joueur d'utiliser le meep
tfm.exec.setNameColor name, color Change la couleur du pseudo du joueur
tfm.exec.addShamanObject objectId, xPos, yPos, angle, xSpeed, ySpeed, ghost Ajoute un objet de chamane sur la carte
tfm.exec.moveObject objectId, xPos, yPos, offsetP, xSpeed, ySpeed, offsetSpeed, angle, angleOffset Même effet que la procédure tfm.exec.movePlayer
tfm.exec.removeObject objectId Supprime l'objet indiqué
tfm.exec.addConjuration xPos, yPos, time Invoque une conjuration [Notes 9]
tfm.exec.addJoint id, physicObject1, physicObject2, jointDef Ajouter un joint entre 2 objets physiques
tfm.exec.removeJoint id Supprime le joint
tfm.exec.addPhysicObject id, xPosition, yPosition, bodyDef Ajouter un objet physique (sol)
tfm.exec.removePhysicObject id Supprime l'objet physique (sol)
tfm.exec.explosion xPos, yPos, power, distance, miceOnly Crée une explosion aux coordonnées indiquées
tfm.exec.displayParticle particuleId, xPos, yPos, xSpeed, ySpeed, xAcceleration, yAcceleration, targetPlayer Affiche une particule à l'écran de targetPlayer [Notes 10]
tfm.exec.snow time, snowballPower Fait neiger [Notes 11]
tfm.exec.newGame mapId, reversed Lance une nouvelle carte [Notes 12]

reversed indique si la carte doit être à l'envers ou non. (facultatif)

tfm.exec.setAutoMapFlipMode yes
tfm.exec.setShaman name Donne les pouvoir de chamane au joueur
tfm.exec.setGameTime time, init Change le temps restant avant la fin de la partie [Notes 13]
tfm.exec.setPlayerScore (playerName, score, add) name, score, add Change le score du joueur [Notes 14]
tfm.exec.disableAutoNewGame yes Active ou désactive le changement automatique de carte
tfm.exec.disableAutoShaman yes Active ou désactive la sélection automatique d'une chamane
tfm.exec.disableAllShamanSkills yes Active ou désactive toutes les compétences des chamanes
tfm.exec.disableAutoTimeLeft yes Active ou désactive le changement du temps restant quand la chamane meurt
tfm.exec.disableAutoScore yes Active ou désactive le changement automatique du score des joueurs quand ils rentrent dans le trou ou ramassent des bonus
tfm.exec.disableAfkDeath yes Active ou désactive la mort des afk
tfm.exec.disableMinimalistMode yes Active ou désactive le mode minimaliste
tfm.exec.disableMortCommand yes Active ou désactive la possibilité d'utiliser la commande /mort
tfm.exec.disableWatchCommand yes Active ou désactive la possibilité d'utiliser la commande /watch
tfm.exec.disableDebugCommand yes Active ou désactive la possibilité d'utiliser la commande /debug
system.disableChatCommandDisplay commande, yes Active ou désactive l'affichage de la commande indiquée
ui.addTextArea id, texte, name, x, y, width, height, backgroundColor, borderColor, backgroundAlpha, fixedPos Ajoute une zone de texte à l'écran du joueur
ui.updateTextArea id, text, name Change le texte d'une zone de texte pour le joueur.
ui.removeTextArea id, name Supprime la zone de texte indiquée
ui.addPopup id, type, text, targetPlayer, x, y, width, fixedPos Ajoute un popup au joueur
ui.setShamanName text Change le texte à la place du nom de chamane en haut de la carte
tfm.exec.setUIShamanName
ui.setMapName text Change le texte à la place de l'id de la carte en haut de la carte
tfm.exec.setUIMapName
ui.showColorPicker id, targetPlayer, defaultColor, title Ajout un sélecteur de couleur à l'écran du joueur
system.bindKeyboard name, keyCode, down, yes Active ou désactive l'écoute sur une touche du clavier du joueur
system.bindMouse name, yes Active ou désactive l'écoute de la souris d'ordinateur du joueur
print text Affiche le texte à dans le tchat de celui qui a lancé le module
system.exit - Arrête le module.
debug.disableEventLog yes Active ou désactive l'affichage des évènements écoutés
tfm.exec.setRoomPassword password Met un mot de passe au salon.

Une chaine de caractère vide revient à retirer le mot de passe.[Notes 6]

tfm.exec.addImage imageName, target, xPos, yPos, name Affiche une image [Notes 6]
tfm.exec.removeImage imageId Retire une image [Notes 6]
tfm.exec.chatMessage message, name Affiche un message dans le tchat du joueur [Notes 6]
tfm.exec.setRoomMaxPlayers nb Fixe le nombre maximum de joueurs dans le salon [Notes 6]
system.newTimer callback, time, loop, arg1, arg2, arg3, arg4 Crée un nouveau timer [Notes 6]
system.removeTimer timerId Supprime un timer [Notes 6]
debug.disableTimerLog yes Active ou désactive l'affichage dans le chat du log des timers enregistrés [Notes 6]
system.savePlayerData name, data Sauvegarde les données d'un joueur [Notes 6]
system.loadPlayerData name Charge les données sur un joueur [Notes 6]
system.saveFile data, fileNumber Sauvegarde les données sur un fichier[Notes 6]
system.loadFile fileNumber Charge les données d'un fichier [Notes 6]
system.giveEventGift playerName, gift Donne un titre à un joueur lors d'un évènement [Notes 6]
tfm.exec.giveConsumables name, id, amount Donne des consommables à un joueur lors d'un évènement [Notes 6]

Tfm.get[]

tfm.get

  • misc (table) : informations diverses
    • apiVersion (string) : Version de l'api lua
    • transformiceVersion (float) : Version de Transformice
  • room (table) : Informations sur le salon
    • community (string) : communauté du salon
    • currentMap (string) : code de la carte en cours
    • maxPlayers (int) : nombre maximum de joueurs autorisés dans le salon
    • mirroredMap (bool) : indique si la carte actuelle est inversée
    • name (string) : nom du salon
    • objectList (table) : liste des objets chamane du salon (par id)
      • x (x est un entier) (table) : informations sur un objet
        • angle (float) : angle
        • baseType (int) : type de l'objet (utile pour les objets personnalisés)
        • colors (table) : couleurs de l'objet (utile pour les objets personnalisés)
        • ghost (bool) : transparent ou non
        • id (int) : id de l'objet
        • type (int) : type de l'objet (voir l'énumération)
        • x (float) : coordonnée x de l'objet
        • y (float) : coordonnée y de l'objet
    • passwordProtected (bool) : indique si le salon est protégé par un mot de passe (tfm.exec.setRoomPassword)
    • playerList (table) : informations sur les joueurs présents dans le salon
      • x (x est un nom de joueur du salon) (table) : informations d'un joueur
        • community (string) : communauté du joueur
        • hasCheese (boolean) : a le fromage ou non
        • shamanMode (int) : mode chamane (0=normal, 1=difficile, 2=divin)
        • isDead (boolean) : est mort ou non
        • isFacingRight (boolean) : est tourné à droite ou non
        • isJumping (boolean) : est en train de sauter ou non
        • isShaman (boolean) : est chamane ou non
        • isVampire (boolean) : est vampire ou non
        • look (string) : ids des costumes portés par le joueur "fourrure,tête,yeux,oreilles,bouche,cou,coiffure,queue,main gauche, main droite"
        • movingLeft (boolean) : est en train de courir à droite
        • movingRight (boolean) : est en train de courir à gauche
        • playerName (string) : nom du joueur
        • registrationDate (int) : 0
        • score (int) : score du joueur dans le classement du salon
        • title (int) : id du titre porté par le joueur ( voir la page sur les titres)
        • tribeName (string) : nom de la tribu du joueur
        • id (int) : id du compte
        • vx (float) : vitesse du joueur sur l'axe x (horizontalement)
        • vy (float) : vitesse du joueur sur l'axe y (verticalement)
        • x (int) : coordonnée du joueur sur l'axe x
        • y (int) : coordonnée du joueur sur l'axe y
    • uniquePlayers (int) : retourne le nombre de joueurs uniques dans le salon
    • xmlMapInfo (table) : informations sur la carte en cours
      • permCode (int) : code de la catégorie de la carte (voir l'énumération)
      • author (string) : nom de l'auteur de la carte
      • mapCode (int) : id de la carte (exemple : @1234)
      • xml (string) : code xml de la carte (exemple : <C>

        <Z><O/><D/></Z></C>)

Notes et références[]

Notes[]

  1. Cet évènement se déclenche aussi lorsque le joueur gagne grâce à la fonction tfm.exec.playerVictory(name)
  2. Cet évènement se déclenche aussi au début de chaque carte pour tous les joueurs
  3. Pour que cet évènement se déclenche, il faut avoir activé le sélecteur de couleur avec la fonction ui.showColorPicker (id, targetPlayer, defaultColor, title)
  4. Pour que cet évènement se déclenche, il faut avoir activé l'écoute de la touche avec la fonction tfm.exec.bindKeyboard (name, keyCode, down, yes)
  5. Pour que cet évènement se déclenche, il faut avoir activé l'écoute de la souris du joueur avec la fonction system.bindMouse (name, keyCode, down, yes)
  6. 6,00 6,01 6,02 6,03 6,04 6,05 6,06 6,07 6,08 6,09 6,10 6,11 6,12 6,13 6,14 6,15 6,16 et 6,17 Réservé aux développeurs Lua
  7. Ne fonctionne pas sur les chamanes s'il reste d'autres joueurs sur la carte, ni sur les vampires.
  8. Si offsetP = true alors le joueur est déplacé de xPos pixels sur l'axe X et de yPos sur Y, sinon il est téléporté aux coordonnées (xPos, yPos). De même pour xSpeed, Yspeed et offsetSpeed
  9. xPos doit être compris entre 0 et 79, yPos entre 0 et 39. "time" est en millisecondes et si time vaut nil, la conjuration ne disparait pas
  10. si targetPlayer vaut nil, alors la particule s'affiche pour tous
  11. si time vaut nil, la neige tombe pendant 60 secondes. Si snowballPower vaut nil, la puissance des boules de neige est mise à 10
  12. Il est possible de lancer une carte avec son id (@1234) ou avec un code xml (<C><P />...)
  13. Si init vaut true, le temps restant est remplacées par le premier argument, sinon le premier argument est ajouté au temps restant
  14. Si add vaut true, le score est ajouté à celui que le joueur avait initialement, sinon il le remplace.

Références[]

Module FAQ & Documentation

Advertisement