×

Langue

Fermer
Atelier 801
  • Forums
  • Dev Tracker
  • Connexion
    • English Français
      Português do Brasil Español
      Türkçe Polski
      Magyar Română
      العربية Skandinavisk
      Nederlands Deutsch
      Bahasa Indonesia Русский
      中文 Filipino
      Lietuvių kalba 日本語
      Suomi עברית
      Italiano Česky
      Hrvatski Slovensky
      Български Latviešu
      Estonian
  • Langue
  • Tribus
  • /
  • 1 of 1
  • /
  • 101
  • /
  • Module FAQ & Documentação Lua
Module FAQ & Documentação Lua
Montesquieu
« Censeur »
Membre
1482249360000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#1
  0
  • General
  • Module Team
  • Enums and IDs
  • Lua Tree
http://www.transformice.com/share/api.png

Modules are minigames built into Transformice with a variety of different gameplay options, and the developers of them have complete control. They are coded in the lightweight Lua scripting language.

What are the different types of modules?

  • Official Modules are minigames or utilities that have been approved by an administrator. They show up on the minigame menu, you can earn 1 shop cheese every 2 minutes in them and you can load them in the tribe house, but they must be maintained by someone on the module team.
  • Unofficial Modules are usually just scripts ran in tribe houses and other rooms without being previously approved by an administrator.


What are all of the official modules?

Below you can find a list of all of the official modules, and who developed them. You can also find a list of official modules ingame by typing "/module" or going to the "Game Mode" window from the menu.

  • #bafflua - Shamousey
  • #basketball - Drgenius and Wecwec, ran by Leafileaf
  • #campal - Niunzin
  • #control - Makinit
  • #dancedance - Izstas
  • #deathmatch - Thewav & Evilsantah, previously Baffler
  • #deploy - Simosc
  • #derby - Shamousey, previously Fxie
  • #domination - Shamousey & Impuredeath
  • #elimination - Ediz
  • #ffarace - Kmlcan, ran by Makinit
  • #fight - Transforlays & Mckeydown, ran by Ediz
  • #football - Makinit
  • #hidenseek - Izstas
  • #infected - Squeekmouse
  • #keyhunt - Sharpiepoops
  • #labyrinth - Baasbase
  • #lagball - Makinit
  • #minigolf - Jamesqwartz
  • #palette - Baasbase
  • #pewpew - Baasbase
  • #pictionary - Squeekmouse & Shamousey
  • #planks - Shamousey & Ediz
  • #playground - Ediz & Shamousey
  • #powerup - Squirrelmanx
  • #prophunt - Shamousey
  • #pursuit - Safwanrockz & Shenato
  • #ratapult - Evilsantah
  • #records - Shamousey
  • #retro - Shamousey
  • #sketch - Makinit
  • #spiritual - Thewav
  • #survive - Makinit
  • #tagging - Izstas
  • #towerdefense - Kmlcan and Leafileaf, ran by Impuredeath, previously Moepl
  • #traitor - Shamousey, previously Moepl
  • #utility - Shamousey


What's different about modules compared to normal rooms?

Other than modules each having their own unique gameplay and features, there's a few other things to note.
  • In official modules, you can earn 1 shop cheese every 2 minutes when you enter the hole.
  • In unofficial modules, there is no "Your last message is the same" warning.
  • Stats are disabled.
  • /mort is disabled.


How can I play a module?

You can play any official module by going to its room, for example "/room #ModuleName", or running it in your tribe house with the command "/module #ModuleName" if you have the power to load maps there.

You can play unofficial modules by loading the script yourself, or having someone else load it for you.

How do I run a script?

In order to execute your own script, you need to fit a couple of requirements; be in your tribe house, have the appropriate permissions to use the "/np" command, have over 1,000 cheese, and never be banned for hacking.

You can then type the command "/lua" and a window will pop up with an area to type in or paste code. Pressing the "Submit" button will launch the script in your room

http://i.imgur.com/fRFAxZo.png

Where can I suggest something or report a bug?

If you've come up with an idea you'd like to see implemented in either the Module API itself or an individual module, you can post it in the Module Suggestions Thread.

If you've noticed a bug with the Module API or a specific module, you can report it in the Module Bugs Thread.

I've developed a module, how can it be made official?

Only members of the Module Team can manage an official module. You should consider applying for the team yourself (see the "Module Team" section of this thread for instructions on how to do that), or alternatively ask an existing member of the team to look at it on your behalf.

All official modules need to be approved by an administrator, and these modules should have several things such as; fun gameplay, replay value, clear help/rules, translations to the most popular languages in the communities, and efficient coding that won't use too many server resources or crash.

I ran a script and a $lua chat tab opened, what is this?

The $lua chat tab is used to house all information about your currently running scripts. Any printed strings will display here, as well as any errors, warnings for high runtime, or anything else of the sort. Closing this tab will result in these messages going to your main chat channel, and you won't be able to reopen the $lua tab without reloading your client.

Where can I get help coding a module?

If you need help in developing something, there are several places you can go. If you're experiencing an error, you can visit the errors thread for information on how to fix it, or post your code for someone else to fix for you. If you need a function or some code written for you, the Script Requests thread is the place to ask.

If you need to talk to someone one-on-one, you can talk to any of the members listed in the "Module Team" section of this thread, join "/chat Lua" ingame, or the #tmlua IRC channel on Rizon.

http://i.imgur.com/VsQNdSm.png

Is there anything else I should take note of when developing a module?

There are a few quirks and useful bits of information that will help you out when developing with the Module API.
  • Flash supports some HTML tags that can be used in chat messages, popups, textareas, and other places that display strings. You can read more about which HTML tags can be used here.
  • tfm.exec.newGame() can't be executed less than 3 seconds since the last time it was ran.
  • "<" and ">" characters can't be displayed in strings, however by using the HTML entities for them, they can be.
  • Some variables in tfm.get.room.playerList and tfm.get.room.objectList rely on the room's sync to stay updated. This means that several things such as player's and object's co-ordinates, player's direction, and several other things can be incorrect at times as they only update roughly once every 2 seconds.
  • Function names all use camelCase, meaning that the first word starts with a lowercase character and all subsequent ones start with an uppercase character. A good example of this is tfm.exec.eventDisableAllShamanSkills()
  • Scripts can only be successfully executed if they're less than 64,000 characters long.


Lua Resources

Where can I learn Lua?

There are several places throughout the internet where Lua is well documented, and there are a lot of tutorials on learning to use it from being a total beginner.
  • Official Lua Website
  • Lua Reference Manual
  • Lua Users Wiki
  • Lua Unofficial FAQ
  • Learn Lua in 15 Minutes
  • Lua for Programmers


What programs can I use to write Lua code?

The built in text box in the /lua window isn't particularly good for coding anything longer than a few lines. Tabs don't look right, it's not wide enough to see a lot of code and it doesn't have syntax highlighting, just to mention a few things. While any text editor will do, some external third party text editors or integrated development environments can do a good job of this.
  • Eclipse with Lua Development Tools or Lua Eclipse (IDE)
  • Lua Edit (IDE)
  • NotePad++
  • Sublime Text
  • ZeroBrane Studio (IDE)


Collaborative Text Editors

If you wish to collaborate and code alongside someone else in realtime, there are several tools available to do just that.
  • Stypi
  • CodeShare - Has Lua syntax highlighting.
  • Google Docs
  • EtherPad, QikPad, Makinit's Pad - Collaborative text-editing sites running on the open source EtherPad software.
  • CollabEdit
  • Sync.in
  • PiratePad


Lua Minifiers

As there is a 64k character limit imposed when running code with the Module API, any long script may have to be minified. Minification makes the code smaller through practises such as removing linebreaks, whitespace, renaming functions and local variables to shorter alternatives, and the such to help reduce the overall size.
  • Squish
  • Mothereffin Lua Minifier (web based)


Miscellaneous Resources

  • Lua for Windows (Windows) - Lua interpreter.
  • Lua Shell (Chrome) - Lua interpreter.
  • CodePad (Web) - Lua interpreter.
  • ComputerCraft - A modification for MineCraft that adds computers to the game where you can program things in Lua.



Module API Changelog

  • 25/03/2013 - Version 0.2
    • New: tfm.exec.setAutoNewGame()
    • New: tfm.get.misc.apiVersion
    • New: tfm.enum.shamanObject
    • Change: eventPlayerDisconnected() event renamed to eventPlayerLeft()
    • Change: moveShamanObject() function renamed to moveObject()
    • Change: removeShamanObject() function renamed to removeObject()
    • Change: tfm.exec.movePlayer() and tfm.exec.moveObject() can now set offsets.
  • 26/03/2013 - Version 0.3
    • New: tfm.exec.disableAutoScore()
    • New: eventEmotePlayed()
    • New: tfm.enum.emote
    • New: eventSummoningStart()
    • New: eventSummoningEnd()
    • New: EventSummoningEnd()
    • New: system.exit()
    • Change: tfm.exec.newGame() can now play a random map from a perm category.
    • Change: tfm.exec.bindKeyboard() can now unbind keys.
    • Change: tfm.get.room.playerList now displays a player's X and Y co-ordinates.
    • Change: eventPlayerVampire() fixed.
    • Change: eventPlayerWon() is no longer sent before eventNewGame()
    • Change: tfm.exec.addShamanObject creating ghost objects fixed.
    • Change: tfm.exec.chatMessage() can now send messages to individual players.
    • Change: eventLoop() returns the current time of the round, and time passed since the round started.
    • Change: Objects spawned by a shaman are now added to tfm.get.room.objectList
  • 27/03/2013 - Version 0.4
    • New: debug.disableEventLog()
    • New: tfm.exec.setRoomMaxPlayers()
    • New: eventChat()
    • Change: Scripts can now be 30,000 characters maximum.
    • Change: eventLoop() occurs every 500 milliseconds.
    • Change: eventKeyboard() gives player's X and Y co-ordinates.
    • Change: Vampire functions and events fixed.
  • 27/03/2013 - Modules announced publicly.
  • 03/04/2013 - Version 0.5
    • New: tfm.exec.disableAutoTimer()
    • New: system.newTimer()
    • New: system.removeTimer()
    • New: system.loadFile()
    • New: system.saveFile()
    • New: eventFileLoaded()
    • New: eventFileSaved()
    • New: pcall()
    • New: xpcall()
    • Change: Scripts can now only be ran in rooms starting with # or *#, whereas previously they had to have "debuglua" in the room name.
    • Change: tfm.exec.setRoomMaxPlayers() fixed.
  • 04/04/2013 - Version 0.6
    • New: system.disableChatCommandDisplay()
    • New: tfm.get.room.name
    • New: tfm.get.room.community
    • New: tfm.exec.explosion()
    • Change: tfm.get.room.objectList returns the X and Y co-ordinates and angle of each shaman object, which is updated by the sync.
    • Change: eventChat() renamed to eventChatCommand()
    • Change: tfm.exec.bindKeyboard() allows you to bind keys being pressed or keys being released separately.
    • Change: eventKeyboard() returns whether the key is being pressed or released.
    • Change: Players don't get the "Your message is the same." warning when typing !commands in a Lua room.
  • 05/04/2013 - Version 0.7
    • New: Modules approved by administrators will be turned official and not have to be run manually by someone on the module team.
    • New: tfm.exec.setNameColor()
    • Change: Module room names need at least 5 characters.
  • 07/04/2013 - Version 0.8
    • New: /module command.
    • New: Function names are displayed in error messages.
    • Change: Fixed a bug where tfm.exec.disableAutoNewGame() is executed and a second mouse joins the room.
    • Change: Fixed timers.
    • Change: When an object is moved, sleeping is disabled.
    • Change: Player's nickname colors are now removed when they change room.
    • Change: tfm.exec.disableChatCommandDisplay() only needs the first word.
  • 08/04/2013 - Version 0.9
    • New: Players can earn 1 shop cheese every 2 minutes in official modules.
    • Change: Fixed character encoding.
    • 03/09/2013 Version 0.11
    • Change: tfm.get.room.playerList returns player's tribe names.
    • Change: tfm.exec.newGame() works with no parameters again.
    • Change: Context is reset when a module is reloaded (all players keybindings and mouse bindings, UI, etc. disappears).
    • Change: Order of arguments in the ui functions.
  • 26/09/2013 - Modules released to be used in tribe houses with the /lua command.
  • 04/10/2013 - Version 0.12
    • New: tfm.exec.addImage()
    • New: tfm.exec.removeImage()
  • 27/11/2013 - Version 0.14
    • New: system.loadPlayerData()
    • New: system.savePlayerData()
    • New: eventPlayerDataLoaded()
    • Change: Shamans created with tfm.exec.setShaman now have their passive skills.
    • Change: tfm.exec.snow() can now have custom time and power.
    • Change: ui.addPopup arguments altered.
    • Change: ui.addTextArea arguments altered.
    • 02/12/2013 Version 0.15
    • New: tfm.exec.displayParticle()
    • Change: tfm.exec.addImage() now has fixed layers.
  • 14/12/2013 - Version 0.16
    • Change: system.savePlayerData() can now save up to 1,000 characters per player.
    • 21/12/2013 Version 0.17
    • Change: All scripts aren't handled by a single thread now so when one crashes the entire bulle's modules aren't crashed.
    • Change: Official module errors now give the script author the last line number executed.
  • 26/01/2014 - Player Data granted to everyone on the team.
  • 09/02/2014 - Applications opened!
  • 23/04/2014 - XMLs loaded with Lua now have no maximum character size, height, width, or ground/decoration limits when loaded as a vanilla map.



The Module Team is a group of developers who create minigames for the community to enjoy playing, by using the Module API.

Members of the team have access to a few additional functions to create modules, some of which are more resource intensive on the server than other functions so are limited - these functions are marked in the documentation in this thread.

Some of the features available to the module team exclusively are:
  • Access to a dedicated chat channel to talk with the rest of the members of the team directly.
  • The ability to load scripts outside of the tribe house.
  • Saving information to a database, for things like persistent leaderboards.
  • Saving statistics for each user, allowing persistent stats for your minigame.
  • Displaying custom images in modules.
  • Uploading images to the atelier801.com domain.


The full list of team members is kept private as some members wish to remain anonymous or not handle whispers, however the following people listed are public members of the team, you may contact them for help developing your module, getting your module made official, or ask them any other questions you may have.

  • Shamousey
  • Jordynl
  • Thewav
  • Makinit
  • Safwanrockz
  • Tortuegreen
  • Jamesqwartz
  • Drgenius
  • Warfenixkill


The Module Team is looking for dedicated members of the community with bright ideas for games that know Lua well and are willing to create fantastic modules for the whole community to enjoy.

Before considering applying for this position, there are several things that you should take note of:
• All applicants must speak some level of English in order to communicate with the rest of the team.
• This is not a staff position, there is no age limit or additional benefits.
• After your application, you will get a notification when you are accepted.
• Maturity is required from all members of the team, even if they're not public members.
• All members of the team must know Lua and how to use the Module API. Practising in the tribe house is a good way to ensure you know how it works.

If you are ready to apply, feel free to fill out the following form in English.

Apply Here
This section contains a variety of different pieces of information that can be useful when developing a module, such as enums, color codes, IDs, and more.

Color Codes

The color codes listed here are commonly used in Transformice, both the game and interface. For a more complete list of color codes used in the game, please visit this thread.

#6A7495 Game background.
#324650 Game UI.
#465a6e Lighter game UI.

These are color tags that can be used within strings displayed ingame, such as within tfm.exec.chatMessage() and ui.addTextArea(). They don't need to be ended like HTML tags, and will color all of the text in the string after the code, for example "<J>Help me".

#2F7FCC <BV> Map Crew names.
#CB546B <R> Errors.
#6C77C1 <BL> Default system messages.
#BABD2F <J> Help & other information.
#C2C2DA <N> Regular chat.
#606090 <G> Offline friends.
#009D9D <V> Chat names.
#2ECF73 <VP> Tutorial keywords.
#C53DFF <VI> No usage found.
#ED67EA <ROSE> Moderation and server messages.
#98E2EB <CH> Blue shaman text.
#A4CF9E <T> Tribe chat.


Emote IDs

This is a list of emotes and their corresponding enums. Bare in mind that the tfm.enum.emote table has a list of all emote names and enums.

0 - Dance
1 - Laugh
2 - Cry
3 - Kiss
4 - Rage
5 - Clap
6 - Sleep
7 - Facepaw
8 - Sit
9 - Confetti
10 - Flag Waving


Shaman Object IDs

While tfm.enum.shamanObject is an easy-to-access list of most shaman objects, it doesn't list every object available in Transformice. Here is a list of all shaman objects that can be spawned in with tfm.exec.addShamanObject.

Note that some of them can't be spawned properly in modules, so are crossed out.

0 - Arrow
1 - Small Box
2 - Large Box
3 - Small Plank
4 - Large Plank
5 - Heavy Ball
6 - Ball
7 - Trampoline
8 - Small Rough Plank
9 - Large Rough Plank
10 - Anvil
11 - Red Anchor
12 - Red Anchor Rotating Clockwise
13 - Red Anchor Rotating Counter-Clockwise
14 - Green Anchor
15 - Green Anchor Rotating Clockwise
16 - Green Anchor Rotating Counter-Clockwise
17 - Cannon (Up)
18 - Cannon (Down)
19 - Cannon (Right)
20 - Cannon (Left)
21 - Sticky Ball
22 - Yellow Anchor
23 - Bomb
24 - Spirit
25 - Fake Cheese
26 - Blue Portal
27 - Orange Portal
28 - Balloon
29 - Static Red Balloon
30 - Static Green Balloon
31 - Static Yellow Balloon
32 - Rune
33 - Chicken
34 - Snowball
35 - Valentine's Arrow
39 - Apple
40 - Sheep
41 - Demolition Worker Skill
42 - Spring
43 - Speed Boost
44 - Totem
45 - Ice Plank
46 - Choco Plank
48 - Transformed Mouse Small Box
49 - Transformed Mouse Large Box
50 - Transformed Mouse Anvil
51 - Transformed Mouse Small Plank
52 - Transformed Mouse Large Plank
53 - Transformed Mouse
54 - Frozen Mouse
57 - Cloud
58 - Architect Skill
59 - Bubble
60 - Tiny Plank
61 - Companion Crate
62 - Stable Rune
65 - Pufferfish
66 - Balloon Anchor
67 - Very Long Plank
68 - Triangle Box
69 - S-Shaped Plank
70 - Cobweb Skill
71 - Roll Skill
72 - Recycling Skill
73 - Small Mouse Skill
74 - Leaf Skill
75 - Nature's Return Skill
76 - Booster Skill
77 - Handymouse Skill
78 - Restorative Skill
79 - Stop Skill
80 - Mouse in Bubble
81 - Gravitational Anomaly Skill
82 - Antigravity Skill
83 - Meep Skill
84 - Grapnel Skill
85 - Controlled Disintegration Skill
86 - Campfire Skill
87 - Shameow Skill (Broken)
88 - Conjuration Anchor
89 - Pumpkin
90 - Tombstone
91 - Snowman
92 - Renewal Skill
93 - Small Cloud
94 - Shameow Skill
100, 103-199, 20000-29999 - Invisible Small Box
101 - Small Heart Box
102 - Small Mechanical Box
103 - Small Christmas Box
104 - Small Cake Box
200, 204-299, 30000-32767 - Invisible Large Box
201 - Large Heart Box
202 - Large Mechanical Box
203 - Large Bubble Box
204 - large Pumpkin Box
205 - Large Christmas Box
206 - Large Shaman Box
207 - Large Cake Box
300, 303-399 - Invisible Small Plank
301 - Small Heart Plank
302 - Small Mechanical Plank
400, 404-499 - Invisible Large Plank
401 - Large Heart Plank
402 - Large Mechanical Plank
403 - Large Alligator Plank
600, 602-699 - Invisible Ball
601 - Pokéball
602 - Skull Ball
700, 702-799 - Invisible Trampoline
701 - Leafy Trampoline
1000, 1001, 1004-1099 - Invisible Anvil
1002 - Mechanical Anvil
1003 - Rock Anvil
1700, 1702-1799 - Invisible Cannon (Up)
1701 - Bubble Cannon (Up)
1800-1899 - Invisible Cannon (Down)
1900-1999 - Invisible Cannon (Right)
2000-2099 - Invisible Cannon (Left)
2801 - Cat Balloon
2802 - Mechanical Balloon
2803 - Striped Balloon
2804 - Spiky Balloon
2805 - Frog Balloon
2806 - Heart Balloon
2807 - Bubble Balloon
2800, 2808-3199 - Invisible Balloon
3200-3299 - Invisible Rune
3500-3599 - Invisible Valentine's Arrow
3900-3999 - Invisible Apple
4000-4099 - Invisible Sheep
4500-4599 - Invisible Ice Plank
4600-4699 - Invisible Choco Plank
5700-5799 - Invisible Cloud
5900-5999 - Invisible Bubble
6000-6099 - Invisible Tiny Plank
6100-6199 - Invisible Companion Crate
6200-6299 - Invisible Stable Rune
6500-6599 - Invisible Pufferfish
65536 - Arrow (repeats back from 0)


Key Codes

This is a list of characters that Lua supports, and their corresponding key codes. These are the numbers that the second argument of eventKeyboard returns and bindKeyboard requires.

8 - Backspace
9 - Tab
13 - Enter
16 - Shift
17 - Control
18 - Alt
19 - Pause
20 - Caps Lock
27 - Escape
32 - Spacebar
33 - Page Up
34 - Page Down
35 - End
36 - Home
37 - Left Arrow
38 - Up Arrow
39 - Right Arrow
40 - Down Arrow
45 - Insert
46 - Delete
48 - 0
49 - 1
50 - 2
51 - 3
52 - 4
53 - 5
54 - 6
55 - 7
56 - 8
57 - 9
65 - A
66 - B
67 - C
68 - D
69 - E
70 - F
71 - G
72 - H
73 - I
74 - K
75 - J
76 - L
77 - M
78 - N
79 - O
80 - P
81 - Q
82 - R
83 - S
84 - T
85 - U
86 - V
87 - W
88 - X
89 - Y
90 - Z
91 - Windows (Left)
92 - Windows (Right)
93 - Application Key
97 - 1 (Numbpad)
98 - 2 (Numbpad)
99 - 3 (Numbpad)
100 - 4 (Numbpad)
101 - 5 (Numbpad)
102 - 6 (Numbpad)
103 - 7 (Numbpad)
104 - 8 (Numbpad)
105 - 9 (Numbpad)
106 - * Asterix (Numbpad)
107 - + Plus (Numbpad)
109 - - Minus (Numbpad)
110 - \ Forward Slash (Numbpad)
112 - F1
113 - F2
114 - F3
115 - F4
116 - F5
117 - F6
118 - F7
119 - F8
120 - F9
121 - F10
122 - F11
123 - F12
144 - Numlock
145 - Scroll Lock
186 - ; Semicolon
187 - = Equals
188 - , Comma
189 - - Hyphen
190 - . Period
191 - / Forward Slash
192 - ` Apostrophe
219 - [ Left Square Bracket
220 - \ Backslash
221 - ] Right Square Bracket


Ground IDs

Here is a list of grounds and their corresponding IDs that a map's XML uses.

0 - Wood
1 - Ice
2 - Trampoline
3 - Lava
4 - Chocolate
5 - Earth
6 - Grass
7 - Sand
8 - Cloud
9 - Water
10 - Stone
11 - Snow
12 - Rectangle
13 - Circle


Perm Categories

This section contains a list of all perm categories, for use in tfm.exec.newGame() and returned by tfm.get.room.xmlMapInfo.permCode. You can read the Map Rotation Guidelines thread for a more thorough explanation of each category.

P0 - Regular Rotation
P1 - Protected
P2 - Prime Perm (now redundant)
P3 - Prime Bootcamp
P4 - Shaman
P5 - Art
P6 - Mechanism & Cooperation
P7 - No-Shaman
P8 - Dual Shaman
P9 - Miscelleneous
P10 - Survivor
P11 - Vampire Survivor
P13 - Bootcamp
P17 - Racing
P18 - Defilante
P19 - Music
P21 - Vampire Survivor Testing
P22 - Tribe House
P32 - Dual Shaman Testing
P41 - Module/Minigame
P42 - Racing Testing
P43 - Deleted (Inappropriate)
P44 - Deleted


Emoticons

This section contains a list of emoticons that can be used, they are listed in tfm.get.enum.emotes and returned by eventEmotePlayed().

0 - Dance
1 - Laugh
2 - Cry
3 - Kiss
4 - Mad
5 - Clap
6 - Sleep
7 - Facepaw
8 - Sit
9 - Confetti Throw
10 - Flag Wave


Decoration IDs

This is a list of decoration IDs for player-made maps from the map editor.

0 - Bush
1 - Tree
2 - Fern
3 - Blue Flower
4 - Sign
5 - Grass
6 - Coconut Tree
7 - Umbrella
8 - Sand Castle
9 - Shovel
10 - Sand Bucket
11 - Red Flower
12 - Thorns
13 - Fence
14 - Window
15 - Sofa
16 - Chair
17 - Table 1
18 - Vase of Flowers 1
19 - Sofa with 1 Place
20 - Vase of Flowers 2
21 - Roast Chicken
22 - Bookcase
23 - Poster
24 - Bed
25 - Radio
26 - Teddy
27 - Abajour
28 - Refrigerator
29 - Wardrobes
30 - TV with Stand
31 - Soda
32 - Vase of Flowers 3
33 - Nightstand
34 - Fund 1
35 - range of Halloween 1
36 - range of Halloween 2
37 - Broom
38 - Skeleton
39 - Halloween Poster
40 - Balloons Halloween
41 - Web with Spider
42 - Autumn Tree
43 - Bats
44 - Torch
45 - Fund Cemetery
46 - Torch 2
47 - About Grades
48 - Pumpkin 1
49 - Pumpkin 2
50 - Snowmouse
51 - Snowy Tree
52 - Cookies with Milk
53 - Garland
54 - Half Hanging
55 - Candle 1
56 - Band Christmas
57 - Christmas Tree
58 - Ice Stalactites
59 - Mistletoe
60 - Ball Christmas Tree
61 - Lights Natalinas
62 - Present
63 - Gifts
64 - Santa
65 - Loop
66 - Valentine's Umbrella
67 - Valentine's Chair
68 - Valentine's Table
69 - Valentine's Plate
70 - Valentine's Day Gift
71 - Candle 2
72 - Vase of Flowers 4
73 - Flower in Vase
74 - Ribbons with Hearts
75 - Balloon Heart
76 - Valentine's Window
77 - Heart Pendant
78 - Stones with Algae
79 - Algae 1
80 - Chest
81 - Starfish
82 - Shell
83 - Stones
84 - Stones with Algae 2
85 - Coral 1
86 - Coral 2
87 - Algae 2
88 - Broken Vase
89 - Big Screen
90 - Small Screen
91 - Alchemy Pot
92 - Objects of Alchemy 1
93 - Objects of Alchemy 2
94 - Bookshelf 2
95 - Piano
96 - Fireplace
97 - Candelebra
98 - Coffin
99 - Paper Holder
100 - Bottle with Substance 1
101 - Bottle with Substance 2
102 - Buff
103 - Barrel
104 - Table 2
105 - Chair 2
106 - Skull Mouse
107 - Cobweb 1
108 - Cobweb 2
109 - Cobweb 3
110 - Cobweb 4
111 - Cobweb 5
112 - Vampire Portrait
113 - Support with Fruits
114 - Mirror
115 - Tombstone of Elise
116 - Crucifix
117 - Background 2
118 - RIP Tombstone
119 - Toilet
120 - Bath & Curtains
121 - Sink/Faucet
122 - Mirror
123 - Pots & Pans
124 - Oven
125 - Rocking Chair
126 - Pot
127 - Bar Stool
128 - Kitchen Cabinet
129 - Kitchen Drawers
130 - Lava Lamp
131 - Bootcamp Checkpoint


Clothing IDs

This is a list of all clothing and outfit IDs that tfm.get.room.playerList[playerName].look returns. Note that .look doesn't return the ID of a fur colour if the player is wearing one. You can also access these IDs by typing /infoshop ingame, then opening the shop window.

Furs
1 - Default Fur
2 - Cow Fur
3 - Siamese Cat Fur
4 - Rabbit Fur
5 - Cow Fur v2
6 - White-Brown Fur
7 - Black-White Cat Fur
8 - Tiger Fur
9 - Fox Fur
10 - Skeleton Costume
11 - Black-Grey Fur
12 - Black-Brown Fur
13 - Racoon Fur
14 - Snow Fur
15 - Red Panda
16 - Bunny Fur
17 - Zebra Fur
18 - Panda Fur
19 - Moon Fur
20 - Sun Fur
21 - Leopard Fur
22 - Deer Fur
23 - Skeleton Suit Fur
24 - White Leopard Fur
25 - Valentines Day Fur
27 - Toucan Fur
26 - St. Patrick's Day Fur
28 - Valentines Day Fur v2
29 - Ankh Fur
30 - 2014 FIFA World Cup Brazil Fur
31 - Giraffe Fur
32 - Cloud Fur

Head
0 - Nothing
1 - Helicopter Hat
2 - Straw Hat
3 - Helmet
4 - Top Hat
5 - Sun Hat
6 - Fedora
7 - Soldier Helmet
8 - Miner Hat
9 - General's Cap
10 - Beret
11 - Ninja Headband
12 - Horns
13 - Halo
14 - Viking Hat
15 - Bandit Mask
16 - Pirate Hat
17 - Witch Hat
18 - Riding Helmet
19 - Nurse Cap
20 - Police Cap
21 - Santa Hat
22 - Chef's Hat
23 - Bunny Ears
24 - Shower Cap
25 - Cow Boy Hat
26 - Lemon Hat
27 - Mandarin Hat
28 - Palm Hairstyle
29 - Uncle Sam Hat
30 - Marge Simpson Hair
31 - Mario Hat
32 - Super Sayen Hat
33 - Party Hat
34 - Asterix Hat
35 - Crown
36 - Dreadlocks
37 - Afro
38 - Pharaoh Hat
39 - Pumpkin Head
40 - Skull Mask
41 - Antlers
42 - Snowman Head
43 - Blonde Hair
44 - Campaign Hat
45 - Quiff Hair
46 - Coolie Hat
47 - Indian Headress
48 - Panama Hat
49 - Jester Hat
50 - Deadmau5 Hat
51 - Pilot Hat
52 - Megaman Hat
53 - Viewtiful Joe Hat
54 - Eggshell
55 - Cocked Hat
56 - Fish Hat
57 - Cat Hat
58 - Fish Bowl
59 - Bow
60 - Egg Basket
61 - Orange Hair Hat
62 - Luffy Hat
63 - Sonic Hair
64 - Turkish Hat
65 - Brunette Hair
66 - Link Hat
67 - Shark Hat
68 - Rainbow Dash's Mane
69 - Twillight Sparkle's Mane
70 - AppleJack's Mane
71 - Pinkie Pie's Mane
72 - Rarity's Mane
73 - Fluttershy's Mane
74 - Ushanka
75 - Coonskin Hat
76 - Paper Bag
77 - Sombrero
78 - Ash's Hat
79 - Sleep Cap
80 - Knife In Head
81 - Ghost Sheet
82 - Bat Wings
83 - Turban
84 - Christmas Tree
85 - Stocking
86 - Krissim's Cockatrice Head
87 - Banana Leaf Headdress
88 - Straw Panache
89 - Fisherman Hat
90 - Fishing Rod
91 - Shell
92 - Captain Cap
93 - Sailor Cap
94 - Chicken
95 - Cake Hat
96 - Shadow Hat
97 - Ice Hat
98 - Lion Hat
99 - Tiara
100 - Break
101 - Hokage Hat
102 - Spartan Helmet
103 - Candle Hat
104 - Ice Cube
105 - Frog Beanie
106 - Chick Hat
107 - Panda Beanie
108 - Graduate Hat
109 - Coconut Shell
110 - Underpants
111 - Ram Horns
112 - Wreath
113 - Beanie
114 - Angel Bear Hat
115 - Senhor do Bofim ribbons
116 - Comb
117 - Bell Hat
118 - Pschent
119 - Octopus

Eyes
0 - Nothing
1 - Sunglasses
2 - Heart Glasses
3 - Evil Sunglasses
4 - Monocle
5 - Eyepatch
6 - Tuba
7 - 3D Glasses
8 - Glasses
9 - Make Up
10 - Shutter Glasses
11 - Cyclops Glasses
12 - Kitsune Mask
13 - Disguise
14 - Carnival Mask
15 - Creeper Mask
16 - Japanese Headband
17 - Bandages
18 - Eyes Crazy
19 - Skull

Mouth
0 - Nothing
1 - Moustache
2 - Straw
3 - Bowtie
4 - Pipe
5 - Rose
6 - Green Lightsaber
7 - Red Lightsaber
8 - Knife
9 - Gas Mask
10 - Clover
11 - Fish Bones
12 - Pacifier
13 - Lollipop
14 - Surgeon Mask
15 - Pumpkin Basket
16 - Red Nose
17 - Buck Teeth
18 - Minecraft Pickaxe
19 - Strawberry
20 - Paint Brush
21 - Ice Lolly
22 - Bone
23 - Donut
24 - Vampire Teeth
25 - Chocolate
26 - Gingerbread Cookie
27 - Chocolate Box
28 - Bouquet
29 - Carrot
30 - Turkish Cake
31 - Bamboo
32 - Japanese Fan
33 - Diploma
34 - Sardine
35 - Candy
36 - Candy Cane

38 - Heart Shaped Lolipop
39 - Tambourine
40 - Beak
41 - Whistle

Ear
0 - Nothing
1 - Bow
2 - Spider Earring
3 - Bauble Earring
4 - Flower in Hair
5 - Headphones
6 - Heart Earring
7 - Poisson Earring
8 - Star Earring
9 - Cheese Earring
10 - Lenneth Helm
11 - Earmuffs
12 - Candy Cane Earring
13 - Rose Headband
14 - Anglish Bunny Headband
15 - Holldine Mask
16 - Fish Earring
17 - Spy Glass
18 - Hoop Earrings
19 - Rin Kagamine Hairband
20 - Frankstein Screws
21 - Arrow in the Head
22 - Skull Earring
23 - Frozen Ear
24 - Bunny Earring
25 - Frangipani

Neck
0 - Nothing
1 - Tri Coloured Scarf
2 - Bandana
3 - Beard
4 - Flowers
5 - Tie
6 - Green and Grey Scarf
7 - Bell Necklace
8 - Barrel Necklace
9 - Halloween Scarf
10 - Red Wreath
11 - Bowtie
12 - Umbrella
13 - Camera
14 - Striped Tie
15 - Medal
16 - Nazar

Hair
0 - Nothing
1 - Punk Hairstyle
2 - Windswept Hairstyle
3 - Normal Male Hair
4 - Fringe
5 - Chanel
6 - Applebloom's Mane
7 - Scootaloox's Mane
8 - Sweetiebell's Mane
9 - Hatsune Miku's Hairstyle
10 - Rin Kagamine's Hairstyle
13 - Golden Curls
14 - Forelock
16 - Levi's hair

Tail
0 - Nothing
1 - Diamond
2 - Star
3 - Bow
4 - Heart
5 - Easter Egg
6 - Sun
7 - Moon
8 - Some Chinese Coin Amulet
9 - Halloween Lantern
10 - Bell
11 - Rings
12 - Clover
13 - Berimbau
14 - Winged Scarab
15 - Football
16 - Seashell


Particle IDs

This section contains a list of particles and their associated IDs, for use in tfm.exec.displayParticle.

0 - White Glitter
1 - Purple Glitter
2 - Orange Glitter
3 - Spawn Dust
4 - Soft White Glitter
5 - Hearts
6 - Bubbles
7 - Bubbles
8 - Bubbles
9 - Teal Glitter
10 - Spirit
11 - Yellow Glitter
12 - Super Spirit
13 - Red Glitter
14 - Water Bubbles
15 - Plus 1
16 - Plus 10
17 - Plus 12
18 - Plus 14
19 - Plus 16
20 - Meep Sign
21 - Red Confetti
22 - Green Confetti
23 - Blue Confetti
24 - Yellow Confetti
25 - Rain
26 - Wind
27 - Wind
28 - Lightning
29 - Yellow Stars
30 - Small Red Hearts
31 - Small Pink Hearts
32 - Flowers
33 - Bell
34 - Water Drops
35 -
36 -
37 -


Titles

For a complete and updated list of titles, you can visit this CheeseForMice page.



_G
    ipairs
    ui
      updateTextArea
      removeTextArea
      addPopup
      addTextArea

    math
      deg
      fmod
      random
      asin
      max
      modf
      log10
      floor
      cosh
      ldexp
      log
      pow
      randomseed
      frexp
      abs
      tanh
      acos
      atan2
      tan
      min
      ceil
      sinh
      sqrt
      huge
      rad
      sin
      exp
      cos
      atan
      pi

    pcall
    assert
    tonumber
    rawequal
    table
      maxn
      foreachi
      concat
      remove
      insert
      foreach
      sort
      getn

    tfm
      exec
        addShamanObject
        snow
        disableAutoNewGame
        setShaman
        addImage
        removeJoint
        respawnPlayer
        newGame
        disableAllShamanSkills
        setGameTime
        movePlayer
        removeImage
        chatMessage
        setVampirePlayer
        explosion
        moveObject
        disableAutoScore
        giveCheese
        addPhysicObject
        giveMeep
        displayParticle
        removePhysicObject
        disableAutoTimeLeft
        setPlayerScore
        killPlayer
        addJoint
        setRoomMaxPlayers
        setNameColor
        disableAfkDeath
        removeObject
        addConjuration
        setUIMapName
        setUIShamanName
        playerVictory
        bindKeyboard
        disableAutoShaman

      enum
        emote
          dance : 0
          laugh : 1
          cry : 2
          kiss : 3
          angry : 4
          clap : 5
          sleep : 6
          facepaw : 7
          sit : 8
          confetti : 9

        shamanObject
          arrow : 0
          littleBox : 1
          box : 2
          littleBoard : 3
          board : 4
          ball : 6
          trampoline : 7
          anvil : 10
          cannon : 19
          bomb : 23
          balloon : 28
          rune : 32
          snowBall : 34
          iceCube : 54


      get
        misc
          bouboumVersion : 1.16
          transformiceVersion : 2.69
          apiVersion : 0.19

        room
          community : EN
          currentMap : 0
          maxPlayers : 50
          objectList
            [id]
              id : 0
              x : 0
              y : 0
              angle : 0
              ghost : false
              type : 10


          name : -
          playerList
            [playerName]
              isJumping : true
              title : 0
              y : 0
              x : 0
              isDead : false
              look : 1;0,0,0,0,0,0,0,0,0
              isShaman : false
              vx : 0
              score : 0
              inHardMode : 0
              vy : 0
              movingRight : true
              hasCheese : true
              registrationDate : 0
              playerName : Tigrounette
              movingLeft : false
              isFacingRight : true
              isVampire : false
              tribeName : Les Populaires


          xmlMapInfo
            permCode
            mapCode : 630022
            author : Tigrounette
            xml : <C><P /><Z><S /><D /><O /></Z></C>




    pairs
    os
      difftime
      time
      date

    xpcall
    type
    error
    string
      len
      find
      gmatch
      byte
      dump
      reverse
      upper
      format
      rep
      lower
      sub
      gsub
      match
      char

    debug
      disableEventLog
      disableTimerLog

    tostring
    print
    next
    system
      disableChatCommandDisplay
      newTimer
      savePlayerData
      bindMouse
      giveEventGift
      exit
      removeTimer
      loadPlayerData
      loadFile
      saveFile



Montesquieu
Membre
1482249540000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#2
[Modéré par Montesquieu, raison : done!]
Gus
Membre
1482250260000
    • Gus#0196
    • Profil
    • Derniers messages
    • Tribu
#3
[Modéré par Montesquieu, raison : in prog]
Gus
Membre
1482250320000
    • Gus#0196
    • Profil
    • Derniers messages
    • Tribu
#4
[Modéré par Montesquieu, raison : ver depois]
Montesquieu
« Censeur »
Membre
1482439980000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#5
  0
  • Introdução & Q&A
  • Equipe
  • Documentação Lua
http://www.transformice.com/share/api.png

Modules são minigames desenvolvidos no Transformice com uma variada opção de jogabilidade, onde os desenvolvedores desses jogos tem o completo controle sobre eles. Esses minigames são codificados em Lua, de forma eficiente e leve.

Quais são os diferentes tipos de modules?
  • Minigames oficiais são minigames ou utilirários que foram aprovados por um administrador do jogo. Eles podem ser encontrados na listas de salas, mais precisamente no menu module, onde você poderá ganhar um queijo a cada dois minutos. E você pode carregá-los no cafofo da sua tribo. Mas para isso, é necessário que o jogo seja mantido pela equipe lua.
  • Minigames não-oficiais são minigames em fase de testes e são mantidos por um dev lua, mas não obrigatoriamente criado por ele. E o minigame não aparece na lista de modules.


Quais são os modules oficiais?
Abaixo, você pode ver a lista de todos os minigames oficiais e quem os desenvolveu. Você poderá encontrar a lista com todos minigames oficiais no jogo, digitando "/module" ou indo na lista de salas, menu "Module".

[lista dos minigames in prog]

O que tem de diferente nas salas modules se comparadas as salas normais?
    Além dos modules terem sua própria jogabilidade e recursos exclusivos, existem também outras coisas a serem observadas, como por exemplo:
  • Em modules oficiais, você pode ganhar um queijo a cada dois minutos quando você entra na toca.
  • Em modules não-oficiais, o aviso "Sua última mensagem é igual" não aparece.
  • Os stats (first, queijos..), tanto em modules oficiais, quanto não-oficiais são desabilitados.
  • O /mort também é desabilitado nessas salas.



Como posso jogar num minigame?
É bem simples. Para jogar em qualquer module oficial basta ir na sala do module desejado, digitando o nome da sala, como por exemplo: "/sala #NomeDoMinigame" ou caso você tenha algum cargo dentro da tribo com a permissão de mudar mapas, basta carregá-lo cafofo da sua tribo, digitando o comando "/module #NomeDoMinigame". Ainda, se preferir, você tem sempre a lista de salas do jogo à sua disposição.


Como posso executar um script?
Para executar o seu próprio script você precisará dos seguintes requisitos: I. estar no cafofo da sua tribo, II. ter a permissão para que possa usar o comando "/np", III. ter mais de 1.000 queijos coletados em seu perfil e IV. nunca ser banido por hack.

Após conferido todos estes requesitos, você poderá então usar o comando "/lua". Quando usado, uma janela se abre com uma area para digitar ou colar algo. Pressionando o botão "Enviar" fará com que o script seja carregado em sua sala.

      Imagem ilustrativa
      http://i.imgur.com/fRFAxZo.png



Onde posso sugerir algo ou reportar um bug?
Se você tem alguma ideia que gostaria que fosse implementada na própria documentação lua (API) ou em algum minigame específico, você poderá postá-la no no tópico de sugestões para a API Lua & Minigames. (falta o topico de bugs)


Desenvolvi um minigame, como posso torná-lo oficial?
Somente membros da equipe lua pode gerenciar um minigame oficial. Considere enviar um formulário para a equipe por conta própria (clique na aba "Equipe" para maiores informações).

Para que um minigame se torne oficial é preciso que ele seja aprovado por um administrador do jogo e além disso, esses jogos devem seguir algumas normas que são requeridas, dentre as quais são: jogabilidade divertida/interessante, repley value (?), regras e informações úteis e de fácil compreensão, tradução para os idiomas mais falados no jogo e codificação eficiente, que não use tantos recursos do servidor.


Eu executei um script e uma pequena janela de bate-papo chamada $lua abriu. O que é isso?
A janela $lua é usada para reunir todas as informaões sobre o script que está sendo executado no momento. Quaisquer strings imprimidas irão aparecer nesse chat, assim como também avisos em relação as falhas no script, avisos sobre runtime alto, coisas do tipo. Ao fechar esse chat, as mensagens irão aparecer diretamente no chat da sala, e você não poderá abri-lo novamente até que reentre no jogo.

      Imagem ilustrativa
      http://i.imgur.com/VsQNdSm.png



Onde posso conseguir ajuda para desenvolver um minigame?
Existem vários lugares onde você pode pedir ajuda para desenvolver algo. Se você está tendo dificuldades para solucionar um erro em seu script, [url=]você pode visitar o tópico de erros[/url] para saber como corrigi-lo ou se preferir, postar o script no tópico para que alguém possa corrigir por você.

Mas se você precisa falar com algum membro da equipe de forma rápida, clique na aba "Equipe" para ver a lista de membros da equipe lua, que você pode sempre entrar em contato quando necessário. Ainda existem também dois chats; um in-game, "/chat Lua" e outro no IRC, o #tmlua. Sinta-se livre para acessa-los sempre que necessário.


Tem algo a mais que eu levar em conta ao desenvolver um minigame?
    Existem algumas peculiaridades e bits úteis de informação que irão ajudá-lo quando for desenvolver algo. Dentre as quais:
  • O Flash suporta algumas tags em HTML que podem ser usadas em mensagens de bate-papo, pop-ups, textareas e outros lugares onde são exibidas strings. Você pode ler mais sobre quais as tags em HTML que podem ser usadas clicando aqui.
  • tfm.exec.newGame() não pode ser executado com menos de 3 segundos desde a última vez que foi executado.
  • Os caracteres "<" e ">" não podem ser exibidos em strings. No entanto, usando HTML, esses caracteres poderão ser exibidos como uma string.
  • Algumas variáveis em tfm.get.room.playerList e tfm.get.room.objectList dependem do sync da sala para se manterem atualizadas. Isso significa que várias coisas, tais como as coordenadas do jogador e do objeto, direção do jogador e várias outras coisas podem estar incorretas às vezes, pois essas variáveis são atualizadas uma vez a cada 2 segundos aproximadamente.
  • Todas as funções da Documentação Lua usam camelCase, ou seja, a primeira palavra começa começa com um caractere em minúsculo e todas as subsequentes começam com caracteres em maíusculo. Um bom exemplo disso é a função tfm.exec.eventDisableAllShamanSkills ()
  • Scripts podem ser executados com êxito se tiverem menos de 64.000 linhas.



    Referências

    Onde posso aprender lua?
      Existem vários tutoriais em toda a internet, exemplificando bem como funciona e o que é lua.
    • Site oficial do Lua
    • Manual de Referência de Lua
    • Wikipedia do Lua (em inglês)
    • FAQ não-oficial do Lua (em inglês)
    • Aprenda Lua em 15 minutos (em inglês)
    • Lua para programadores (em inglês)
    • Tutorial Lua (em inglês)


    Quais programas eu posso usar para codificar em Lua?
      A área de texto do /lua não é exatamente o melhor lugar para se codificar, servindo para codificar nada mais do que algumas linhas. As guias não parecem estar corretas por conta da área de texto não ser larga o suficiente para mostrar o código por inteiro, além de não ter realce de sintaxe. Mas por outro lado, existem alguns editores de texto e ambientes de desenvolvimento integrado (IDE) para a linguagem de progração Lua que podem te ajudar.
    • Atom e seu plugin em Lua (IDE, em inglês)
    • NotePad++ (em inglês)
    • Sublime Text (em inglês)
    • ZeroBrane Studio (IDE, em inglês)
    • Visual Studio Code e seu package para a module api.


    Editores de texto colaborativos
      Existem várias ferramentas de colaboração/compartilhamento de código em tempo real. Entre eles, destacamos (todos em inglês, com exceção do Google Docs):
    • http://codeshare.io/ - Com Lua syntax highlight
    • Google Docs
    • EtherPad, QikPad e Makinit's Pad - Sites colaborativos de edição de texto que podem ser abertos quando o EtherPad estiver em execução.
    • CollabEdit
    • Sync.in
    • PiratePad


    Lua Minifiers (minificação/encurtador de código)
      A minificação faz com que o código se torne menor através de práticas como a remoção de quebras de linha, espaços em branco, renomeação de funções e variáveis locais para alternativas mais curtas, ajudando a reduzir o tamanho total do código.
    • Squish
    • Mothereffin Lua Minifier (web app)


    Variados
      Todos em inglês.
    • Lua para Windows (Windows) - Interpretador Lua.
    • Lua Shell (Chrome) - Interpretador Lua.
    • CodePad (Web app) - Interpretador Lua.
    • ComputerCraft - Um programa para MineCraft que adiciona computadores ao jogo onde você pode progamar coisas em Lua.


    Histórico de mudanças na Documentação Lua (Module API)

    • 27/03/2013 - O module foi anunciado publicamente!.
    • 03/04/2013 - Versão 0.5
      • Nova função: tfm.exec.disableAutoTimer()
      • Nova função: system.newTimer()
      • Nova função: system.removeTimer()
      • Nova função: system.loadFile()
      • Nova função: system.saveFile()
      • Novo evento: eventFileLoaded()
      • Novo evento: eventFileSaved()
      • Nova função: pcall()
      • Nova função: xpcall()
      • Aprimoramento: Scripts agora podem ser executados apenas em salas com inicial # ou *#, sendo não mais necessário ter "debuglua" no nome da sala.
      • Correção na função: tfm.exec.setRoomMaxPlayers()
    • 04/04/2013 - Versão 0.6
      • Nova função: system.disableChatCommandDisplay()
      • Nova função: tfm.get.room.name
      • Nova função: tfm.get.room.community
      • Nova função: tfm.exec.explosion()
      • Mudança na função: tfm.get.room.objectList retorna as coordenadas X e Y e o ângulo de cada objeto shaman, sendo este atualizado pelo sync.
      • Mudança no evento: eventChat() foi renomeado para eventChatCommand()
      • Mudança na função: tfm.exec.bindKeyboard() permite que voce ative as teclas quando pressionadas ou soltas separadamente.
      • Mudança no evento: eventKeyboard() agora retorna se a tecla está sendo pressionada ou solta.
      • Aprimoramento: Os jogadores agora não mais recebem o aviso "Sua última mensagem é igual" ao digitarem algum comando numa sala module.
    • 05/04/2013 - Versão 0.7
      • Aprimoramento: Minigames aprovados pela administração serão eventualmente oficializados e não precisarão ser executados manualmente por algum membro da equipe lua..
      • Nova função: tfm.exec.setNameColor()
      • Aprimoramento: Salas module precisam ter pelo menos cinco caracteres.
    • 07/04/2013 - Versão 0.8
      • Novo comando: /module.
      • Aprimoramento: Os nomes das funções agora são exibidas em mensagens de erro.
      • Correção na função: Corrigido um bug em que tfm.exec.disableAutoNewGame() era executado quando um outro ratinho entrava na sala.
      • Correção: Fixed timers.
      • Mudança: Quando um objeto é movido, sleeping é desativado.
      • Correção: A cor no nick dos jogadores agora são removidos ao mudar de sala.
      • Mudança na função: tfm.exec.disableChatCommandDisplay() only needs the first word.
    • 08/04/2013 - Versão 0.9
      • Aprimoramento: Agora os jogadores ganham um queijo na loja a cada dois minutos.
      • Aprimoramento: Fixed character encoding.
    • 03/09/2013 - Versão 0.11
      • Mudança na função: tfm.get.room.playerList agora retorna o(s) nome(s) da(s) tribo(s) do(s) jogador(es).
      • Mudança na função:tfm.exec.newGame() funciona sem parâmetros novamente.
      • Aprimoramento: A interface é redefinida quando um minigame é recarregado (teclas e mouse ativados, UI, etc. são desativados e desaparecem).
      • Mudança: Ordem dos argumentos nas funções de UI.
    • 26/09/2013 - Modules released to be used in tribe houses with the /lua command.
    • 04/10/2013 - Versão 0.12
      • Nova função: tfm.exec.addImage()
      • Nova função: tfm.exec.removeImage()
    • 27/11/2013 - Versão 0.14
      • Nova função: system.loadPlayerData()
      • Nova função: system.savePlayerData()
      • Novo evento: eventPlayerDataLoaded()
      • Aprimoramento na função: Shamans criados pela função tfm.exec.setShaman agora têm suas habilidades passivas.
      • Aprimoramento na função: tfm.exec.snow() agora possui tempo de queda e força da bola de neve customizáveis.
      • Mudança na função: ui.addPopup arguments altered.
      • Mudança na função: ui.addTextArea arguments altered.
    • 02/12/2013 - Versão 0.15
      • Nova função: tfm.exec.displayParticle()
      • Aprimoramento na função: tfm.exec.addImage() agora possui uma camada fixa.
    • 14/12/2013 - Versão 0.16
      • Aprimoramento na função: system.savePlayerData() agora pode salvar até 1.000 caracteres por jogador.
    • 21/12/2013 - Versão 0.17
      • Mudança: Os scripts Lua não são mais carregados por um processo só, que causava crash nos servidores de sala.
      • Mudança: Erros em minigames oficiais agora mostram a ultima linha executada.
    • 26/01/2014 - Desenvolvedores Lua podem salvar dados de jogadores.
    • 09/02/2014 - As inscrições para a equipe lua foram abertas!
    • 23/04/2014 -XMLs carregados com lua nao possuem mais limites de caracteres, altura, largura, ou limite de pisos e decorações.


A equipe lua é um grupo de desenvolvedores que criam minigames para a comunidade divertir-se jogando, usando a Module API.

Os membros da equipe lua tem acesso a algumas funções adicionais dentro do jogo para desenvolver seus minigames, algumas das quais fazem um uso mais intensivo dos recursos do servidor e, por isso, são limitadas.

Todas essas funções estão listadas na aba "Documentação Lua".


Dentre os recursos exclusivos para a equipe lua, destacam-se:
  • Acesso a um chat in-game para conversar com o restante dos membros da equipe.
  • Permissão para carregar scripts fora do cafofo da tribo.
  • Pode salvar informações numa database para como por exemplo, criação de um leaderboard.
  • Pode salvar stats para cada jogador, permitindo que cada jogador tenha um perfil único em cada minigame.
  • Pode exibir imagens personalizadas em seus minigames.
  • Pode hospedar imagens no domínio atelier801.com.


A lista completa com os membros da equipe é secreta, pois alguns membros preferem permanecer em anonimato ou por não quererem lidar com cochichos. Entretanto, as pessoas listadas abaixo são membros públicos da equipe e você pode contatá-los para ajudar a desenvolver o seu minigame, fazer com que ele se torne oficial ou para tirar alguma dúvida que você possa ter.


http://atelier801.com/img/pays/br.png BR
  • Eshkation
  • Lynezx


http://atelier801.com/img/pays/gb.png EN
  • Drgenius
  • Jamesqwartz
  • Jordynl
  • Maknit
  • Safwanrocks
  • Shamousey
  • Tortuegreen
  • Warfenixkill



Como posso entrar para a equipe lua?
    Clique para ler os requesitos necessários para se juntar a equipe lua (em inglês)

    A equipe lua exige que todos os membros falem Inglês fluentemente com a finalidade de se comunicar com o resto da equipe. Se você não fala Inglês, infelizmente não será capaz de se juntar à equipe.


    The Module Team is looking for dedicated members of the community with bright ideas for games that know Lua well and are willing to create fantastic modules for the whole community to enjoy.

    Before considering applying for this position, there are several things that you should take note of:
    • All applicants must speak some level of English in order to communicate with the rest of the team.
    • This is not a staff position, there is no age limit or additional benefits.
    • After your application, you will get a notification when you are accepted.
    • Maturity is required from all members of the team, even if they're not public members.
    • All members of the team must know Lua and how to use the Module API. Practising in the tribe house is a good way to ensure you know how it works.


    If you are ready to apply, feel free to fill out the following form in English.
    Apply Here

Documentação Lua
    Versão atual: 0.22, 15/04/2016
    └─ Mudanças:
      ├─ Novo evento: eventChatMessage é ativado ao jogador enviar uma mensagem ao chat da sala.
      ├─ Foi adicionado um segundo argumento a função tfm.exec.newGame, que diz se o mapa vai rodar invertido ou não.
      ├─ Uma nova propriedade foi adicionada: tfm.get.room.mirroredMap, que diz quando um mapa é invertido ou não.
      ├─ A propriedade tfm.get.room.passwordProtected diz quando há senha na sala.
      └─ Agora não é mais possível colocar senhas em salas modules oficiais, a função tfm.exec.setRoomPassword permite colocar senha agora, apenas disponível para desenvolvedores Lua.


    Eventos

      São ativados automáticamente pelo servidor ou pelos jogadores ao fazerem ações. Eventos com um asterisco não podem ser utilizadas em cafofos de tribo.
      ├─ eventChatCommand(jogador, comando)
        É ativada quando um jogador digita uma mensagem que comece com !.
        ├── jogador: o nome do jogador.
        └── comando: o texto digitado pelo jogador(sem a exclamação).

      ├─ eventChatMessage(jogador, mensagem)
        É ativada quando um jogador digita uma mensagem no chat da sala.
        ├── jogador: o nome do jogador.
        └── mensagem: o texto digitado pelo jogador.

      ├─ eventEmotePlayed(jogador, idDoEmote, parametroDoEmote)
        É ativada quando um jogador faz alguma emoção. O argumento "parametroDoEmote" retorna a bandeira do /f.
        ├── jogador: o nome do jogador.
        ├── idDoEmote: o id da ação feita pelo jogador.
        └── parametroDoEmote: o parâmetro utilizado(se aplica apenas a ação da bandeira).

      ├─ eventFileLoaded(idDoArquivo, dadosDoArquivo) *
        É ativada quando o servidor carrega um arquivo totalmente.
        ├── idDoArquivo: o Identificador do arquivo carregado(Por exemplo Eshkation_1).
        └── dadosDoArquivo: os dados do arquivo carregado.

      ├─ eventFileSaved() *
        É ativada quando o servidor salva um arquivo.

      ├─ eventKeyboard(jogador, idDaTecla, pressionando, posiçãoX, posiçãoY)
        É ativada quando um jogador aperta uma tecla(utilize system.bindKeyboard para permitir).
        ├── jogador: nome do jogador que pressionou a tecla.
        ├── idDaTecla: o ID da tecla apertada.
        ├── pressionando: se o jogador está pressionando a tecla.
        ├── posiçãoX: a posição horizontal do jogador.
        └── posiçãoY: a posição vertical do jogador.

      ├─ eventMouse(jogador, posiçãoX, posiçãoY)
        É ativada quando um jogador faz um clique de mouse(utilize system.bindKeyboard para permitir).
        ├── jogador: nome do jogador que clicou.
        ├── posiçãoX: a posição horizontal do clique do mouse.
        └── posiçãoY: a posição vertical do clique do mouse.

      ├─ eventLoop(tempoPassado, tempoRestante)
        Este evento é ativado automáticamente a cada 500ms. Os argumentos são dados em milissegundos.
        ├── tempoPassado: o tempo passado desde o início do mapa.
        ├── tempoRestante: o tempo restante do mapa.

      ├─ eventNewGame()
        Este evento é ativado quando um mapa novo roda na sala.

      ├─ eventNewPlayer(jogador)
        Este evento é ativado quando um jogador entra na sala.
        └── jogador: o jogador que entrou na sala.

      ├─ eventPlayerDataLoaded(jogador, dadosDoJogador) *
        Este evento é ativado quando os dados do jogador são carregados(utilizando system.loadPlayerData).
        ├── jogador: o nome do jogador que teve os dados carregados.
        └── dadosDoJogador: os dados carregados.

      ├─ eventPlayerDied(jogador)
        Este evento é ativado quando um jogador morre.
        └── jogador: o nome do jogador que morreu.

      ├─ eventPlayerGetCheese(jogador)
        Este evento é ativado quando um jogador pega queijo.
        └── jogador: o nome do jogador que pegou o queijo.

      ├─ eventPlayerLeft(jogador)
        Este evento é ativado quando um jogador sai da sala.
        └── jogador: o nome do jogador que saiu da sala.

      ├─ eventPlayerVampire(jogador)
        Este evento é ativado quando um jogador se torna um vampiro.
        └── jogador: o nome do jogador que se transformou.

      ├─ eventPlayerWon(jogador, tempoPassado, tempoPassadoDesdeRespawn
        Este evento é ativado quando um jogador entra na toca.
        ├── jogador: o nome do jogador que entrou na toca.
        ├── tempoPassado: o tempo passado em milisegundos desde o início do mapa.
        └── tempoPassadoDesdeRespawn: o tempo passado em milisegundos desde o respawn do jogador.

      ├─ eventPlayerRespawn(jogador)
        Este evento é ativado quando um jogador respawna.
        └── jogador: o nome do jogador que respawnou.

      ├─ eventPopupAnswer(idDaPopup, jogador, resposta
        Este evento é ativado quando um jogador responde uma popup.
        ├── idDaPopup: o id da popup que foi respondida.
        ├── jogador: o jogador que respondeu a popup.
        └── resposta: a resposta do jogador.
          ├── yes ou no para popup do tipo 1.
          └── qualquer string para popup do tipo 2.

      ├─ eventSummoningStart(jogador, tipoDoObjeto, posiçãoX, posiçãoY, ângulo)
        Este evento é ativado quando um shaman começa a invocar um item.
        ├── jogador: o nome do jogador que iniciou a invocação.
        ├── tipoDoObjeto: o id do objeto que está sendo invocado.
        ├── posiçãoX: a posição horizontal do objeto.
        ├── posiçãoY: a posição vertical do objeto.
        └── ângulo: o ângulo(em graus) do objeto.

      ├─ eventSummoningCancel(jogador)
        Este evento é ativado quando um jogador cancela a invocação de um item.
        └── jogador: o nome do jogador que cancelou a invocação.

      ├─ eventSummoningEnd(jogador, tipoDoObjeto, posiçãoX, posiçãoY, ângulo, descriçãoDoObjeto)
        Este evento é ativado quando um shaman termina de invocar um item.
        ├── jogador: o nome do jogador que terminou a invocação.
        ├── tipoDoObjeto: o id do objeto que foi invocado.
        ├── posiçãoX: a posição horizontal do objeto.
        ├── posiçãoY: a posição vertical do objeto.
        ├── ângulo: o ângulo(em graus) do objeto.
        └── descriçãoDoObjeto: a tabela do objeto, semelhante a tfm.get.room.objectList.

      ├─ eventTextAreaCallback(idDaTextArea, jogador, callback)
        Este evento é ativado quando um jogador clica numa text area.
        os callbacks são tags âncoras html, que começam com "event:" (exemplo: <a href="event:honk">clique para honk</a>).
        Caso o callback se inicie com "#clear,", a textArea será apagada e o callback recebido será o texto após a vírgula.
        ├── idDaTextArea: o id da text area
        ├── jogador: o nome do jogador que clicou na text area.
        └── callback: o callback da tag âncora clicada.

      ├─ eventColorPicked(idDoColorPicker, jogador, cor)
        Este evento é ativado quando um jogador escolhe uma cor com o colorPicker.
        ├── idDoColorPicker: o id do color picker.
        ├── jogador: o nome do jogador que escolheu a cor.
        └── cor: a cor escolhida pelo jogador(-1 caso não tenha escolhido nenhuma). Utilize string.format("%x", cor) para obter a cor em hexadecimal.

    Funções

      São ativadas pelo script lua que podem afetar os jogadores na sala ou o servidor em geral. Funções com um asterisco não podem ser utilizadas em cafofos de tribo.
      ├─ debug.disableEventLog(desativado)
        Desativa o log de eventos.
        └── desativado: se deve ou não ser desativado. (Valor padrão = true)

      ├─ debug.disableTimerLog(desativado)
        Desativa o log de timers.
        └── desativado: se deve ou não ser desativado. (Valor padrão = true)





      ├─ system.bindKeyboard(jogador, idDaTecla, pressionar, ativo)
        Permite identificar quando um jogador pressiona uma determinada tecla.
        ├── jogador: o jogador para ativar a tecla.
        ├── idDaTecla: o id da tecla que você quer ativar.
          ├── os ids das teclas podem ser encontrados no site da Adobe.
          └── para identificar teclas de movimento mais precisamente, utilize os ids 0(esquerda), 1(cima), 2(direita) ou 3(baixo).
        ├── pressionar: se deve identificar quando a tecla é apertada ou solta.
        └── ativo: se o identificador para tal tecla está ativo para o jogador.(Valor padrão = true)

      ├─ system.bindMouse(jogador, ativo)
        Permite identificar quando um jogador clica com o mouse.
        ├── jogador: o jogador para ativar o identificador de cliques.
        └── ativo: se o identificador para clique do mouse está ativo para o jogador.(Valor padrão = true)

      ├─ system.disableChatCommandDisplay(comando, escondido)
        Faz com que um comando module(que comece com !) não apareça no chat da sala.
        ├── comando: o comando para esconder(sem !).
        └── ativo: se o comando deve ou não ficar escondido. (Valor padrão = true)

      ├─ system.exit()
        Força a interrupção do script Lua na sala.

      ├─ system.giveEventGift(jogador, codigoDoPresente) *
        Dá um presente de evento para o jogador selecionado.
        ├── jogador: o nome do jogador que irá receber o presente.
        └── codigoDoPresente: o código de presente, dado por um administrador.

      ├─ system.loadFile(idDoArquivo) *
        Carrega um arquivo do servidor.
        └── idDoArquivo: o id do arquivo a ser carregado. (Valor padrão = 0)

      ├─ system.loadPlayerData(jogador) *
        Carrega os dados de um jogador.
        └── jogador: o nome do jogador para carregar os dados.

      ├─ system.newTimer(callback, tempo, loop, argumentos) *
        Carrega os dados de um jogador.
        ├── callback: a função a ser chamada.
        ├── tempo: o tempo de delay em milisegundos para chamar o callback.
        ├── loop: se o timer deve entrar em loop ou não. (Valor padrão = true)
        └── argumentos: os argumentos do callback a ser chamado.

      ├─ system.removeTimer(idDoTimer) *
        remove um timer.
        └── idDoTimer: o id do timer a ser parado.

      ├─ system.saveFile(dados, idDoArquivo) *
        salva um arquivo no servidor.
        ├── dados: os dados do arquivo.
        └── idDoArquivo: o id do arquivo a ser salvo.

      ├─ system.savePlayerData(jogador, dados) *
        salva os dados de um jogador.
        ├── jogador: o jogador a ter os dados salvos.
        └── dados: os dados a serem salvos.



      ├─ tfm.exec.addConjuration(posiçãoX, posiçãoY, duração)
        Adiciona uma conjuração no mapa. Nota: Coordenadas da conjuração devem ser divididas por 10.
        ├── posiçãoX: a coordenada horizontal da conjuração.
        ├── posiçãoY: a coordenada vertical da conjuração.
        └── duração: o tempo de duração (em milissegundos) da conjuração. (Valor padrão = 1000)

      ├─ tfm.exec.addImage(url, alvo, posiçãoX, posiçãoY, jogador) *
        Adiciona uma imagem.
        ├── url: a url da imagem a ser adicionada(Apenas imagens da atelier801 são aceitas).
        ├── alvo: o elemento alvo a ter a imagem adicionada.
          ├── #idObjeto: adiciona a imagem ao objeto de shaman.
          ├── $nomeDoJogador: adiciona a imagem ao jogador.
          ├── %nomeDoJogador: substitui o rato pela imagem.
          ├── ?idDaCamada: adiciona a imagem a uma camada de pisos em primeiro plano.
          ├── _idDaCamada: adiciona a imagem a uma camada de pisos em plano de fundo.
          ├── !IdDaCamadaDePrimeiroPlano: adiciona a imagem a uma camada do mapa em primeiro plano.
          └── &IdDaCamadaFixada: adiciona uma imagem fixada na tela.

        ├── posiçãoX: a coordenada horizontal em relação ao alvo. (Valor padrão = 0)
        ├── posiçãoY: a coordenada vertical em relação ao alvo. (Valor padrão = 0)
        └── jogador: o jogador que pode ver a imagem (Valor padrão = nil)

      ├─ tfm.exec.addJoint(idDaJoint, idPiso1, idPiso2, opções)
        Adiciona uma joint ao mapa.
        ├── idDaJoint: o id da joint a ser adicionada
        ├── idPiso1: o primeiro piso para adicionar a joint.
        ├── idPiso2: o segundo piso para adicionar a joint.
        └── opções: as opções da joint a ser adicionada.
          ├── type: 0 -> joint de distância, 1 -> joint prismática, 2 -> joint de polia, 3 -> joint de revol.
          ├── point1: localização da âncora do piso1 (padrão: centro do piso1).
          ├── point2: localização da âncora do piso2 (padrão: centro do piso2), usado somente em joints de polia e revol.
          ├── point3, point4: locais das âncoras da polia, usadas somente em joints de polia.
          ├── frequency, damping: taxa de frequência e amortecimento das joints de distância.
          ├── axis, angle: eixo e o ângulo das joints prismáticas.
          ├── limit1, limit2, forceMotor, speedMotor:
          ├── ratio: limites de translação/rotação das joints prismáticas.
          └── line, color, alpha, foreground: Se nenhuma dessas propriedades for definida, a joint não aparece.

      ├─ tfm.exec.addPhysicObject(idDoPiso, posiçãoX, posiçãoY, opções)
        Gera um objeto físico (ou seja, piso). Nota: Nos códigos XML de mapa, você também pode adicionar a tag «lua="id"» nas propriedades de uma definição de piso para poder interagir com ele com código LUA.
        ├── idDoPiso: o id do piso a ser adicionado.
        ├── posiçãoX: a posição horizontal do piso.
        ├── posiçãoY: a posição vertical do piso.
        └── opções: as configurações do piso a ser adicionado.
          ├── type: o tipo do piso.
          ├─ width: a largura do piso.
          ├─ height: a altura do piso.
          ├─ foreground: se o piso é primeiro plano ou não
          ├─ friction: a fricção do piso.
          ├─ restitution: a restituição do piso.
          ├─ angle: o ângulo(em graus) do piso.
          ├─ color: a cor do piso(apenas para circulos e retângulos).
          ├─ miceCollision: se deve ou não colidir com ratos.
          ├─ groundCollision: se deve ou não colidir com objetos.
          ├─ dynamic: se é dinâmico ou não
          ├─ fixedRotation: se a rotação é fixada ou não.
          ├─ mass: a massa do piso.
          ├─ linearDamping: amortecimento linear do piso.
          └─ angularDamping: amortecimento angular do piso.

      ├─ tfm.exec.addShamanObject(tipoDoObjeto, posiçãoX, posiçãoY, ângulo, velocidadeX, velocidadeY, fantasma)
        Adiciona um objeto de shaman ao mapa.
        ├── tipoDoObjeto: o id do objeto de shaman a ser adicionado.
        ├── posiçãoX: a posição horizontal do objeto.
        ├── posiçãoY: a posição vertical do objeto.
        ├── ângulo: o ângulo(em graus) do objeto.
        ├── velocidadeX: a velocidade horizontal do objeto.
        ├── velocidadeY: a velocidade vertical do objeto.
        └── fantasma: se o objeto deve ser fantasma ou não.

      ├─ tfm.exec.chatMessage(mensagem, alvo) *
        Envia uma mensagem ao chat da sala.
        ├── mensagem: a mensagem a ser enviada.
        └── alvo: o jogador alvo que pode ver a mensagem. (Valor padrão = nil)

      ├─ tfm.exec.disableAfkDeath(desativado)
        Desativa a morte por afk na sala.
        └── desativado: se pode ou não ser desativado. (Valor padrão = true)

      ├─ tfm.exec.disableAllShamanSkills(desativado)
        Desativa as habilidades de shaman.
        └── desativado: se pode ou não ser desativado. (Valor padrão = true)

      ├─ tfm.exec.disableAutoNewGame(desativado)
        Desativa a nova rodada automática.
        └── desativado: se pode ou não ser desativado. (Valor padrão = true)

      ├─ tfm.exec.disableAutoScore(desativado)
        Desativa a pontuação automática.
        └── desativado: se pode ou não ser desativado. (Valor padrão = true)

      ├─ tfm.exec.disableAutoShaman(desativado)
        Desativa o shaman automático no mapa.
        └── desativado: se pode ou não ser desativado. (Valor padrão = true)

      ├─ tfm.exec.disableAutoTimeLeft(desativado)
        Desativa a mudança automática de tempo restante para 20 segundos.
        └── desativado: se pode ou não ser desativado. (Valor padrão = true)

      ├─ tfm.exec.displayParticle(idDaParticula, posiçãoX, posiçãoY, velocidadeX, velocidadeY, aceleraçãoX, aceleraçãoY, jogador)
        Adiciona uma particula ao mapa.
        ├─ Id da partícula: o id da particula a ser adicionada.
        ├─ PosiçãoX: a coordenada horizontal aonde a partícula deve ser adicionada.
        ├─ PosiçãoY: a coordenada vertical aonde a partícula deve ser adicionada.
        ├─ VelocidadeX: a velocidade horizontal da partícula deve ser adicionada. (Valor padrão = 0)
        ├─ VelocidadeY: a velocidade vertical da partícula deve ser adicionada. (Valor padrão = 0)
        ├─ AceleraçãoX: a aceleração horizontal da partícula deve ser adicionada. (Valor padrão = 0)
        ├─ AceleraçãoY: a aceleração vertical da partícula deve ser adicionada. (Valor padrão = 0)
        └─ jogador: o jogador que pode ver a partícula (se for nil, aparece para todos os jogadores). (Valor padrão = nil)

      ├─ tfm.exec.explosion(posiçãoX, posiçãoY, força, raio, apenasRatos)
        Adiciona uma explosão ao mapa.
        ├─ posiçãoX: a coordenada horizontal aonde a explosão vai acontecer.
        ├─ posiçãoY: a coordenada vertical aonde a explosão vai acontecer.
        ├─ força: a força máxima da explosão.
        ├─ raio: o raio da explosão
        └─ apenasRatos: se deve afetar apenas os ratos. (Valor padrão = false)

      ├─ tfm.exec.giveCheese(jogador)
        Dá queijo para um jogador.
        └─ jogador: o jogador que deve receber o queijo.

      ├─ tfm.exec.giveMeep(jogador)
        Dá meep para um jogador.
        └─ jogador: o jogador que deve receber o meep.

      ├─ tfm.exec.killPlayer(jogador)
        Mata um jogador.
        └─ jogador: o jogador que deve morrer.

      ├─ tfm.exec.lowerSyncDelay(jogador) *
        Diminui o tempo de atualização de movimentos para até 400ms.
        └─ jogador: o jogador que deve ter o tempo de atualização diminuido.

      ├─ tfm.exec.moveObject(idDoObjeto, posiçãoX, posiçãoY, adicionarPosição, velocidadeX, velocidadeY, adicionarVelocidade)
        Muda a posição e a velocidade de um objeto.
        ├─ idDoObjeto: o id do objeto a ser movido.
        ├─ posiçãoX: a nova coordenada horizontal do objeto.
        ├─ posiçãoY: a nova coordenada vertical do objeto.
        ├─ adicionarPosição: se a coordenada deve se somar a atual ou não. (Valor padrão = false)
        ├─ velocidadeX: a nova velocidade horizontal do objeto. (Valor padrão = 0)
        ├─ velocidadeY: a nova velocidade vertical do objeto. (Valor padrão = 0)
        └─ adicionarVelocidade: se a velocidade deve se somar a atual ou não. (Valor padrão = false)

      ├─ tfm.exec.movePlayer(jogador, posiçãoX, posiçãoY, adicionarPosição, velocidadeX, velocidadeY, adicionarVelocidade)
        Muda a posição e a velocidade de um jogador.
        ├─ jogador: o nome do jogador a ser movido.
        ├─ posiçãoX: a nova coordenada horizontal do jogador.
        ├─ posiçãoY: a nova coordenada vertical do jogador.
        ├─ adicionarPosição: se a coordenada deve se somar a atual ou não. (Valor padrão = false)
        ├─ velocidadeX: a nova velocidade horizontal do jogador. (Valor padrão = 0)
        ├─ velocidadeY: a nova velocidade vertical do jogador. (Valor padrão = 0)
        └─ adicionarVelocidade: se a velocidade deve se somar a atual ou não. (Valor padrão = false)

      ├─ tfm.exec.newGame(mapa, espelhado)
        Inicia um novo mapa
        └─ mapa: o código do mapa (Valor padrão = nil)
          ├─ nil: um mapa aleatório.
          ├─ 6: um mapa vanilla.
          ├─ @1234: um mapa de jogador.
          ├─ #4: um mapa de uma categoria. *
          └─ começa com < : um xml de mapa.
        └─ espelhado: se um mapa deve ser espelhado ou não. (Valor padrão = nil)

      ├─ tfm.exec.playEmote(jogador, idDoEmote, argumentoDoEmote)
        Força um jogador a fazer uma ação.
        ├─ jogador: o jogador a fazer a ação. Utilize nil para todos os jogadores na sala.
        ├─ idDoEmote: o id da ação a ser feita.
        └─ argumentoDoEmote: o atributo do emote(o código da bandeira, por exemplo). (Valor padrão = nil)

      ├─ tfm.exec.playerVictory(jogador)
        Força um jogador a entrar na toca.
        └─ jogador: o jogador a entrar na toca.

      ├─ tfm.exec.removeImage(idDaImagem) *
        Remove uma imagem do mapa.
        └─ idDaImagem: o id da imagem a ser removida.

      ├─ tfm.exec.removeJoint(idDaJoint)
        Remove uma joint do mapa.
        └─ idDaJoint: o id da joint a ser removida.

      ├─ tfm.exec.removeObject(idDoObjeto)
        Remove um objeto do mapa.
        └─ idDoObjeto: o id do objeto a ser removido.

      ├─ tfm.exec.removePhysicObject(idDoPiso)
        Remove um piso do mapa.
        └─ idDoPiso: o id do piso a ser removido.

      ├─ tfm.exec.respawnPlayer(jogador)
        Revive um jogador.
        └─ jogador: o jogador a ser revivido.

      ├─ tfm.exec.setGameTime(tempo, inicio)
        Muda o tempo do mapa.
        ├─ tempo: o tempo em segundos.
        └─ inicio: se o tempo atual deve mudar mesmo se o tempo restante for maior que o dado. (Valor padrão = true)

      ├─ tfm.exec.setNameColor(jogador, cor)
        Muda a cor do nick de um jogador.
        ├─ jogador: o nome do jogador a ter a cor do nick trocada.
        └─ cor: a nova cor do nick do jogador.

      ├─ tfm.exec.setPlayerScore(jogador, pontos, adicionar)
        Muda a pontuação de um jogador.
        ├─ jogador: o nome do jogador a ter a cor do nick trocada.
        ├─ pontos: a pontuação.
        └─ adicionar: se os pontos devem ser adicionados a pontuação do jogador ou não.

      ├─ tfm.exec.setRoomMaxPlayers(numeroDeJogadores) *
        Coloca um limite máximo de jogadores numa sala.
        └─ numeroDeJogadores: o número máximo de jogadores que a sala pode ter.

      ├─ tfm.exec.setRoomPassword(senha) *
        Coloca uma senha na sala.
        └─ senha: a senha da sala (caso seja uma string vazia, a senha é removida).

      ├─ tfm.exec.setShaman(jogador)
        Transforma um jogador em shaman.
        └─ jogador o jogador que deve virar shaman.

      ├─ tfm.exec.setVampirePlayer(jogador)
        Transforma um jogador em vampiro.
        └─ jogador o jogador que deve virar vampiro.

      ├─ tfm.exec.snow(duração, poderDaBolaDeNeve)
        Faz nevar na sala.
        ├─ duração: a duração da neve em segundos. (Valor padrão = 60)
        └─ poderDaBolaDeNeve: (Valor padrão = 10)



      ├─ ui.addPopup(id, tipo, texto, jogador, posiçãoX, posiçãoY, largura, posiçãoFixada)
        Adiciona uma popup.
        ├─ id: o id da popup.
        ├─ tipo: o tipo da popup.
          ├─ 0: simples
          ├─ 1: sim ou não.
          └─ 2: input do jogador

        ├─ texto: o texto da popup.
        ├─ jogador: o jogador que pode ver a popup (utilize nil para todos).
        ├─ posiçãoX: a posição horizontal da popup. (Valor padrão = 50)
        ├─ posiçãoY: a posição vertical da popup. (Valor padrão = 50)
        ├─ largura: a largura da popup. (Valor padrão = 0)
        └─ posiçãoFixada: se a popup deve seguir a câmera do jogador. (Valor padrão = false)

      ├─ ui.addTextArea(id, texto, jogador, posiçãoX, posiçãoY, largura, altura, corDeFundo, corDaBorda, alpha, posiçãoFixada)
        Adiciona uma text area no mapa.
        ├─ id: o id da text area.
        ├─ texto: o texto da text area.
        ├─ jogador: o jogador que pode ver a text area (utilize nil para todos). (Valor padrão = nil)
        ├─ posiçãoX: a posição horizontal da text area. (Valor padrão = 50)
        ├─ posiçãoY: a posição vertical da text area. (Valor padrão = 50)
        ├─ largura: a largura da text area. (Valor padrão = 0)
        ├─ altura: a altura da text area. (Valor padrão = 0)
        ├─ corDeFundo: a cor do fundo da text area. (Valor padrão = 0x324650)
        ├─ corDaBorda: a cor da borda da text area. (Valor padrão = 0x324650)
        ├─ alpha: a opacidade da text area. (Valor padrão = 1)
        └─ posiçãoFixada: se a text area deve seguir a câmera do jogador. (Valor padrão = false)

      ├─ ui.removeTextArea(id, jogador)
        Remove uma text area.
        ├─ id: o id da text area a ser removida.
        └─ jogador: o nome do jogador que vai ter a text area removida (utilize nil para todos). (Valor padrão = nil)

      ├─ ui.setMapName(texto)
        Muda o nome do mapa.
        └─ texto: o texto a ser mostrado.

      ├─ ui.setShamanName(texto)
        Muda o nome do shaman.
        └─ texto: o texto a ser mostrado.

      ├─ ui.showColorPicker(id, jogador, cor, titulo)
        Adiciona uma janela de seleção de cor.
        ├─ id: o id do colorPicker.
        ├─ jogador: o jogador que pode ver o colorPicker (utilize nil para todos). (Valor padrão = nil)
        ├─ cor: a cor padrão a ser mostrada. (Valor padrão = 0)
        └─ titulo: o titulo do colorPicker. (Valor padrão = nil)

      ├─ ui.updateTextArea(id, jogador, texto)
        Atualiza o texto de uma text area.
        ├─ id: o id da text area.
        ├─ texto: o novo texto da textArea.
        └─ jogador: o jogador alvo (nil se aplica a todos). (Valor padrão = nil)




Dernière modification le 1483490460000
Ork
Membre
1482442380000
    • Ork#0095
    • Profil
    • Derniers messages
    • Tribu
#6
[Modéré par Mankttem]
Montesquieu
Membre
1482454620000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#7
[Modéré par Mankttem]
Frames
Membre
1482513960000
    • Frames#0000
    • Profil
    • Derniers messages
#8
[Modéré par Mankttem]
Montesquieu
Membre
1482515580000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#9
[Modéré par Mankttem]
Montesquieu
Membre
1482516060000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#10
[Modéré par Montesquieu, raison : adicionado.
conferir dps pra possiveis correçoes]

Dernière modification le 1482780780000
Montesquieu
« Censeur »
Membre
1482791460000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#11
  0
Esse aba contêm uma variedade de informações que lhes pode ser útil ao desenvolver um module.

Cores

As cores listadas aqui são as comumente utilizadas no Transformice. Tanto do jogo, quanto da sua interface. Para uma lista completa com a lista de cores usadas no jogo, por favor acesse este tópico.

#6A7495 cor de fundo do jogo.
#324650 cor do chat do Transformice.
#465a6e cor mais aparente do chat do Transformice.


As cores abaixo podem ser usadas dentro strings que serão exibidas no jogo, como dentro de funções tfm.exec.chatMessage () e ui.add.TextArea (). Não precisam ser escritas como tags em HTML e irão colorir todo o texto da string após a tag, como por exemplo "<J>Ajuda".
Código da cor Significado dentro do jogo TAG
#2F7FCC Cor da mapcrew. <BV>
#CB546B Cor de erros. <R>
#6C77C1 Cor de informações normais. <BL>
#BABD2F Cor de informações especiais. <J>
#C2C2DA Cor da letra do jogo/fórum. <N>
#606090 Cor da mensagem automática sobre amigos. <G>
#009D9D Cor do nome na mensagem. <V>
#2ECF73 Cor das dicas do tutorial do jogo. <VP>
#C53DFF Sem uso aparente. <VI>
#ED67EA Cor da mensagem do servidor, moderadores e bots. <ROSE>
#98E2EB Cor da mensagem do shaman azul. <CH>
#A4CF9E Cor da mensagem automática da tribo. <T>



Emoções

0 - Dançar
1 - Rir
2 - Chorar
3 - Beijar
4 - Irritado
5 - Bater palmas
6 - Dormir
7 - Facepalm
8 - Sentar
9 - Confete
10 - Bandeira
11 - Marshmallow
12 - Self
13 - Mão pra cima
14 - Hive Five
15 - Hive Five
16 - Lingua de sogra

Objetos do shaman

Essa lista contêm os IDs dos objetos do shaman, assim como também os IDs das suas variações e customizações.

0 - Seta
    1 - Caixa pequena
      100 - invisível
    • 101 - coração
    • 102 - steampunk
    • 103 - presente
    • 104 - bolo
    • 105 - tambor


    2 - Caixa grande
      200 - invisível
    • 201 - coração
    • 202 - steampunk
    • 203 - bolha
    • 204 - abóbora
    • 205 - presente
    • 206 - shaman
    • 207 - bolo
    • 208 - tambor


    3 - Tábua pequena
    • 300 - invisível
    • 301 - coração
    • 302 - steampunk
    • 303 - osso
    • 304 - presente
    • 305 - bolo
    • 306 - teclado


    4 - Tabua grande
      400 - invisível
    • 401 - coração
    • 402 - steampunk
    • 403 - jacaré
    • 404 - osso
    • 405 - presente
    • 406 - shaman
    • 407 - bolo
    • 408 - teclado


    6 - Bola de praia
      600 - invisível
    • 601 - pokebola
    • 602 - crânio
    • 604 - trompete


    7 - Trampolim
      700 - invisível
    • 701 - com folhagem


    10 - Bigorna
      1000 - invisível
    • 1002 - mecanismo
    • 1003 - rocha de praia
    • 1004 - de doce


    17 - Cannon para cima
      1700 - invisível
    • 1701 - bolha
    • 1702 - pirulito
    • 1703 - bola de natal
    • 1704 - shaman


    3 - Bomba
      2300 - invisível


24 - Spirit
26 - Portal azul
27 - Portal laranja
    28, 29, 30 e 31 - Balão
      2800 - invisível
    • 2801 - gatinho
    • 2802 - engrenagem
    • 2803 - ovo rosa listrado
    • 2804 - steampunk
    • 2805 - sapo
    • 2806 - coração
    • 2807 - com água
    • 2808 - árvore de natal
    • 2809 - estrela
    • 2810 - shaman
    • 2811 - doce
    • 2812 - ovo azul decorado
    • 2813 - partitura
      2814 - nota musical


    32 - Runa
    • 3200 - invisível


    33 - Galinha (consumível do evento de Páscoa)
    • 3300 - invisível


    34 - Bola de neve
    • 3400 - invisível


    35 - Flecha do cupido
    • 3500 - invisível


    39 - Maçã verde (árvore Guia Espiritual)
    • 3600 - invisível


    40 - Ovelha (árvore Mecânico)
    • 4000 - invisível


    45 - Tábua de gelo (árvore Mecânico)
    • 4500 - invisível


    46 - Tábua de chocolate (árvore Mecânico)
    • 4600 - invisível


    54 - Rato congelado
    • 5400 - invisível


    57 - Nuvem (árvore Guia Espiritual)
    • 5700 - invisível


    59 - Bolha (árvore Mestre do Vento)
    • 5900 - invisível


    60 - Tábua minúscula (árvore Mestre do Vento)
    • 6000 - invisível


    61 - Caixa de acompanhamento (árvore Mestre do Vento)
    • 6100 - invisível


    62 - Runa estável (árvore Mecânico)
    • 6200 - invisível


    63 - Peixe morto (consumível do evento de pesca)
    • 6300 - invisível


    65 - Baiacu (consumível do evento de pesca)
    • 6500 - invisível


    67 - Tábua gigante (árvore Físico)
    • 6700 - invisível


    68 - Caixa triangular (árvore Selvagem)
    • 6800 - invisível


    69 - "S" (árvore Físico)
    • 6900 - invisível


80 - Avião de papel
85 - Pedra (árvore Selvagem)
    89 - Abóbora (consumível do evento de Halloween)
    • 8900 - invisível


    90 - RIP (consumível do evento de Halloween)
    • 9000 - invisível


95 - Bola de papel


Teclado

Teclado

ID Tecla
8 Backspace
9 Tab — transição de abas
13 Enter — ativa a digitação no chat
16 Shift — shaman gira objeto
17 Control — shaman gira objeto
18 Alt
19 Pause
20 Caps lock
27 Escape
32 Spacebar
33 Page up
34 Page down
35 End
36 Home
37 Left arrow — rato anda para a esquerda
38 Up arrow — rato pula
49 Right arrow — rato anda para a direita
40 Down arrow — rato abaixa
45 Insert
46 Delete

Números

ID Número
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9

Letras

ID Letra
65 A http://atelier801.com/img/pays/fr.png | Q http://atelier801.com/img/pays/us.png
66 B — shaman usa prego vermelho
67 C — shaman usa prego amarelo
68 D — rato anda para a direita
69 E — rato solta confete
70 F — shaman usa avisos rápidos
71 G
72 H
73 I — abre inventário
74 K
75 J — shaman usa motor verde para a esquerda
76 L
77 M
78 N — shaman usa motor verde para a direita
79 O
80 P
81 Q http://atelier801.com/img/pays/fr.png | A http://atelier801.com/img/pays/us.png — rato anda para a esquerda
82 R — responder cochicho
83 S — rato abaixa
84 T
85 U
86 V — shaman usa prego verde
87 W http://atelier801.com/img/pays/fr.png — shaman gira objeto | Z http://atelier801.com/img/pays/us.png — rato pula
88 X — shaman gira objeto
89 Y — ativa a digitação no chat
90 Z http://atelier801.com/img/pays/fr.png — rato pula | W http://atelier801.com/img/pays/us.png — shaman gira objeto

Outros¹

ID Atribuição
91 Win (left)
92 Win (right)
93 Application key

Numbpad (teclado numérico)

ID Número/caractere
97 1
98 2
99 3
100 4
101 5
102 6
103 7
104 8
105 9
106 *
107 +
109 -
110 \

F

ID F
112 F1
113 F2
114 F3
115 F4
116 F5
117 F6
118 F7
119 F8
120 F9
121 F10
122 F11
123 F12

Outros²

ID Atribuição
144 Numlock
145 Scroll lock

Caracteres

ID Caractere
186 ; (ponto e vírgula)
187 = (sinal de igual)
188 , (vírgula)
189 - (hífen)
190 . (ponto final)
191 / (barra)
192 ` (apóstrofo)
219 [ (colchete quadrado para a esquerda)
220 \ (barra invertida)
221 ] (colchete quadrado para a direita)




Pisos

0 - Madeira
1 - Gelo
2 - Trampolim
3 - Lava
4 - Chocolate
5 - Terra
6 - Grama
7 - Areia
8 - Nuvem
9 - Água
10 - Pedra
11 - Neve
12 - Piso retangular
13 - Piso circular
14 - Piso invisível
15 - Teia


Categorias dos mapas

P0 - Normal
P1 - Protegido
P2 - Prime Perm (redundante)
P3 - Prime Bootcamp
P4 - Shaman
P5 - Arte
P6 - Mecanismo
P7 - Sem shaman
P8 - Cooperação
P9 - Variados
P10 - Survivor
P11 - Survivor vampiro
P13 - Bootcamp
P17 - Racing
P18 - Defilante
P19 - Musica
P21 - Testes para survivor vampiro
P22 - Cafofo da tribo
P32 - Testes para P8
P41 - Module/minigame
P42 - Teste para racing
P43 - Mapa deletado por ser inapropriado
P44 - Mapa deletado

????


Decorações
ID Objeto do mapa
0 Arbusto
1 Árvore
2 Samambaia
3 Flor azul
4 Placa
5 Tufo de grama
6 Palmeira
7 Guarda-sol
8 Castelo de areia
9 Pá
10 Balde
11 Flor vermelha
12 Espinhos
13 Cerca
14 Janela
15 Sofá
16 Cadeira
17 Mesa
18 Flores
19 Poltrona
20 Planta
21 Frango assado
22 Estante de livros
23 Pôster
24 Cama
25 Rádio
26 Urso de pelúcia
27 Abajour
28 Geladeira
29 Guarda-roupas
30 Televisão
31 Garrafa
32 Planta pequena
33 Mesa de cabeceira
34 Fundo
35 Faixa de Halloween 1 (aboboras)
36 Faixa de Halloween 2 (fantasmas)
37 Vassoura
38 Esqueleto
39 Pôster de Halloween
40 Balões de Halloween
41 Teia com aranha
42 Árvore do outono
43 Morcegos
44 Tocha 1
45 Fundo de cemitério
46 Tocha 2 (com pedras)
47 Grades
48 Abobora 1 (pequena)
49 Abobora 2 (grande)
50 Ratinho de neve
51 Árvore com neve
52 Biscoitos com leite
53 Guirlanda
54 Bota de Natal
55 Vela 1
56 Faixa de Natal
57 Árvore de Natal
58 Estalactites de gelo
59 Visco
60 Bola de árvore de Natal
61 Pisca-pisca
62 Presente de Natal
63 Presentes de Natal
64 Papai Noel no trenó
65 Laço
66 Guarda-chuva do evento do dia dos namorados
67 Cadeira do evento do dia dos namorados
68 Mesa do evento do dia dos namorados
69 Placa do evento do dia dos namorados
70 Presente do evento do dia dos namorados
71 Vela 2 (evento do dia dos namorados)
72 Vaso de flores do evento do dia dos namorados
73 Flor em vaso
74 Fitas com coração
75 Balão ♥
76 Janela do evento do dia dos namorados
77 Pingente coração
78 Pedras com algas (pequeno)
79 Algas 1 (menos volumoso)
80 Baú
81 Estrela-do-mar
82 Concha
83 Pedras
84 Pedras com algas 2 (grande)
85 Coral 1 (pequeno)
86 Coral 2 (maior)
87 Algas 2 (mais volumoso)
88 Vaso quebrado
89 Tela de vídeo grande
90 Tela de vídeo pequena
91 Pote de Alquimia
92 Objetos de Alquimia 1
93 Objetos de Alquimia 2
94 Estante rústica
95 Piano
96 Lareira
97 Candelabro
98 Caixão
99 Pedestal
100 Poção 1 (grande)
101 Poção 2 (pequeno)
102 Lâmpada candelabro
103 Barril
104 Mesa rústica
105 Cadeira rústica
106 Caveira
107 Teia de aranha 1
108 Teia de aranha 2
109 Teia de aranha 3
110 Teia de aranha 4
111 Teia de aranha 5
112 Retrato do vampiro
113 Taça com frutas
114 Espelho
115 Lápide da Elise
116 Cruxifixo
117 Fundo 2
118 Lápide RIP
119 Vaso sanitário
120 Banheira com cortinas
121 Pia
122 Espelho
123 Panelas & frigideiras
124 Forno
125 Cadeira de balanço
126 Panela pequena
127 Banqueta
128 Armário de cozinha
129 Gavetas de cozinah
130 Lâmpada de lava
131 Bootcamp checkpoint



Roupas
mto extenso
fazer depois


Partículas
0 - Luz branca amarelada
1 - Luz lilás
2 - Luz amarela
3 - Fumaça (da emoção de nervoso)
4 - Luz branca
5 - Coração
6 - Bolhas
7 - Bolhas também
8 - Bolhas também
9 - Luz azul
10 - Explosão
11 - Outra luz amarela (igual à 2)
12 - Explosão roxa
13 - Luz vermelha
14 - Bloquinho de água
15 - +1
16 - +10
17 - +12
18 - +14
19 - +16
20 - meep!
21 - Confetes vermelhos
22 - Confetes verdes
23 - Confetes azuis
24 - Confetes amarelos
25 - Chuva (linhas retas da diagonal direita superior para a diagonal esquerda inferior)
26 - Vento circular
27 - Vento mais reto
28 - Chuva reta (de cima pra baixo)
29 - Estrelas
30 - Corações pequenos vermelhos
31 - Corações pequenos rosas
32 - Flor
33 - Sino
34 - Gotas azuis (eu acho que é gotas)
35 - Linha reta que se retorce
36 - Magia de teleporte
37 - Magia de teleporte azul
38 - Bala (do evento de páscoa)
39 - Pirulitos roxos
40 - Doce vermelho (do evento de Halloween de 2013)

Títulos
Acesse essa página para visualizar a lista completa dos títulos no jogo.


Dernière modification le 1482825480000
Montesquieu
Membre
1482791640000
    • Montesquieu#1567
    • Profil
    • Derniers messages
#12
[Modéré par Mankttem]

Dernière modification le 1482795540000
Brenower
Membre
1483415820000
    • Brenower#0000
    • Profil
    • Derniers messages
    • Tribu
#13
[Modéré par Mankttem]
  • Tribus
  • /
  • 1 of 1
  • /
  • 101
  • /
  • Module FAQ & Documentação Lua
© Atelier801 2018

Equipe Conditions Générales d'Utilisation Politique de Confidentialité Contact

Version 1.27