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 |
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
- x (x est un entier) (table) : informations sur un 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
- x (x est un nom de joueur du salon) (table) : informations d'un joueur
- 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[]
- ↑ Cet évènement se déclenche aussi lorsque le joueur gagne grâce à la fonction tfm.exec.playerVictory(name)
- ↑ Cet évènement se déclenche aussi au début de chaque carte pour tous les joueurs
- ↑ 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)
- ↑ 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)
- ↑ 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,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
- ↑ Ne fonctionne pas sur les chamanes s'il reste d'autres joueurs sur la carte, ni sur les vampires.
- ↑ 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
- ↑ 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
- ↑ si targetPlayer vaut nil, alors la particule s'affiche pour tous
- ↑ si time vaut nil, la neige tombe pendant 60 secondes. Si snowballPower vaut nil, la puissance des boules de neige est mise à 10
- ↑ Il est possible de lancer une carte avec son id (@1234) ou avec un code xml (<C><P />...)
- ↑ Si init vaut true, le temps restant est remplacées par le premier argument, sinon le premier argument est ajouté au temps restant
- ↑ Si add vaut true, le score est ajouté à celui que le joueur avait initialement, sinon il le remplace.