|Module API & Minigame Suggestions|
This thread is for suggesitons related to the Module API Topic-365251 and existing minigames. The Lua Team will check this thread frequently.
Have a suggestion for an existing module game, or modules in general? You can either talk directly to the creators of the minigame, or post it here. If you wish to suggest a new minigame, please make a new thread for it if it isn't already listed below. If the idea for a new minigame is small enough you may post it here.
When suggesting something for a minigame, please post in the following format in order to keep things organised and allow for easy browsing of the thread.
Everything listed below is coloured in the following key so you can easily see what the current state is for different suggestions.
• Currently Impossible
Topic-373020 - #traitor: Spite Voters
Topic-368445 - #traitor: Focussing on Guests
#traitor: Click on a player's name to vote.
#utility: Music and videos to work outside the tribe house,
#traitor: Allow !tc chat for dead traitors.
#tribewar: Remove Name Colours
#tribewar: Regular Room Rotation
#hidenseek: Only kill people if they're within the shaman's invocation range
All Shams: Everyone is shaman.
Upside-Down: Only plays upside-down maps.
Shaman Survivor: The shaman has to survive from the mice.
Despawn Zones: The shaman can't spawn objects in certain places.
Bootcamp Relay: Each mouse gets a short amount of time in the room to complete a section of the map and the next player continues after time is up.
Dodgeball: Mice get to shoot balls, being hit by a ball takes a mouse out.
Paper Throw: Launch an object in the air and wait for the map's wind/gravity to guide it into the hole.
Cheese Avoid: Map rotation consists of maps where getting cheese will be a hindrance.
Topic-383799 - Room Test: Players can load their maps to test.
Topic-278575 - Dodge
Topic-98267 - Cheese Hunt
Topic-296826 - Impact
Topic-213282 - Snowball Fight
Topic-346495 - Spawnzones
Topic-337993 - Memorial
Topic-345211 - Cloud Deux
Topic-389339 - Quiz
Topic-326423 - Deux
Topic-79263 - Sky-Dive
Topic-36501 - Transformation Racing
Topic-268258 - Limited Number of Cheese Racing
Topic-371498 - Hunger Games
Topic-302070 - Team Transform
Topic-271807 - Shaman Class (shaman tutorial is planned)
Topic-128859 - Shaman Steal
Topic-190860 - Icecube Survival
Topic-343572 - Karate
Topic-362536 - Nursery
Topic-330643 - Non-Specialisation Room
Topic-330732 - Slendermouse
Topic-78789 - Vampires vs Weremice
Topic-55193 - Capture The Cheese
Topic-8139 - Shaman Shield
Topic-297495 - Hide and Seek
Topic-286503 - Jailbreak
Topic-317997 - Ice
Topic-258413 - Freeze Tag
Topic-305730 - Freeze Tag (a different version)
Topic-265821 - Cooperative Avoidance
Topic-260196 - Pass
Topic-334095 - Runes
Topic-322060 - Bomb
Topic-318043 - Maze
Topic-369838 - Seven Up
Topic-378687 - Truth Bootcamp
Topic-383236 - Mice Hunting
Topic-383236 - Arrow Fight
Topic-389040 - Hot Potato
• Using !commands While Muted
• Guests can use !commands
• Make /langue compatible (currently translations are based on the community of the room, not the player).
• Ability to disable shaman skills.
• Ability to disable AFK death.
• system.store(key,value) and system.retrieve(key)
• Invalid Anchors
• Attaching balloons to mice
• Link two objects together
• Teleporting dynamic grounds by attaching anchors
• eventPlayerRespawned(String name)
• tfm.exec.particle(int id,int x,int y)
• Metatables with all its functions such as get/setmetatable (Object Oriented) http://www.lua.org/pil/13.html
• HTTP API (only from certain sources such as formice.com or moepl.eu)
• Modify Map XML
• vx,vy (velocity)
• facing (left or right)
• tfm.get.misc.title[id][language] - returns title text
• tfm.get.misc.clothes.head[id][language] - returns name of clothing
• tfm.get.misc.skills[id][language] - returns skill name
• Bitwise Library http://www.lua.org/manual/5.2/manual.html#6.7
• eventPlayerDied(String name, enum cause)
• Shared function library
• Disabling an invocation on eventSummoningStart (spirits/cannons/etc. still take effect if they're removed on eventSummoningEnd)
• Meep Bar
• tfm.exec.setMeepPercentage(string playerName,int percentage)
• tfm.exec.disableAutoMeepPercentage(boolean true)
• eventSummoningEnd : info about anchors (which anchor, L/C/R, what other object does it attach to) in the table from the newly created object
• Objects in a map show up in objectList
• setTransformouse (gives mice the transforming ability)
• Allow certain objects to be spawned/not spawned
• CTRL+Z in /lua editor
• tfm.exec.snow() to use true/false instead of toggling
• advance particle tfm.exec.particle(int id,int x,int y,string playerName)
• Create NPCs
• Change name colour independant of other mice
• eventPlayerVampire names the mouse who bit
• Disable default key actions
• tfm.exec.disableAutoSpawn(boolean) (for bootcamp spawning and new maps)
• Disable system messages such as "Thanks to Xxxxxxx, we gathered 0 cheese!" and "Xxxxxxx is now your shaman, follow her!" and "No cheese for you ^_^"
• tfm.exec.setSoulmate(string playerName1,string playerName2)
• /s type command to hide all system errors
• tfm.exec.spawnCheese(x,y, size)
• Passworded rooms working the same as Modules (#Moepl0lbeh can be locked, for example)
• Make it so people with the same names as official modules can't lock them (so user Traitor can't lock #traitor)
• Real time console
• Ability to set map icon
• Allow people to throw eggs like the easter bunny
• Event for someone getting egged
• Admin drawing tool
• Binding keys to type in the user's chat box, like R types "/c Lastwhisperer " and T types "/t "
• Detect chat messages that don't begin with !
• Argument errors give line number
• eventCollide(type,id,type2,id2) - Detects when two objects collide. Type could either be "player", "object", or "ground". ID will be whatever the ID of this is.
• tfm.exec.addShamanObject working with defilante tokens (or maybe their own function so they can only appear for one person?)
• tfm.exec.explosion to be able to only work on specific players or only objects/players
• Official modules don't need to be #[module][number][something] but just #[module][something], like #deathmatchStuff
• eventMeep activates when a player uses their Meep, can overwrite default explosion
• tfm.exec.setMeepTime(name,num) sets how fast a meep charges up
• eventClickedPlayer(name,targetPlayer) lets you click on mice, like the Christmas event
• tfm.exec.disableAutoCheese(boolean) - would still trigger eventPlayerGetCheese but not give cheese automatically
• tfm.exec.disableAutoWin(boolean) - would still trigger eventPlayerWon
• Change player's text (make it bold, do [Room Mod Sanky] etc.) without them typing a command
• Clickable text in chat (like clicking on a user's name)
• tfm.exec.revokeCheese(name) removes cheese from a player if they have it
• tfm.get.room.shaman (and .blue and .pink)
• Ability to disable chat command display for all !commands
• Disable "Your last message is the same." message
• Access to the fishing rod
• name - Who the sound is played to.
• id - Only predefined sounds/clips can be used, so there won't be any copyright issues.
• pitch/volume/length - will let the sounds be altered on-the-fly to sound different to users
• Some way to get the current code of an official module if you're the creator
• Stop keys from working in the room when you're typing in /lua
• Higher script limit!
• tfm.exec.kickPlayer(name,time) kicks a player out of a room for a certain amount of time
• tfm.exe.setColorName also change the title color
• tfm.exec.setSkeleton(String name) just like setVampire
Last edit on 1404512220000
I would love to have (or try to make) a map testing room, like the /room test we used to have. This should be fairly simple to make. In my eyes all it needs:
- a queueing system for players to queue their maps (!q @123456 would add @123456 to the queue). This should return the position of the submitted map in the queue to the player that submitted it so they know how long they may have to wait.
- a command for players to report abuse, as well as a blacklisting system for people submitting crash maps (which means that the queueing system should keep track of not only the map, but also who submitted it). for example !abuse. Being blacklisted would simply mean you can no longer submit maps.
Why a map testing room? We had it in the past and it was widely used. However, since it was hosted by a bot in a normal room statistics counted, allowing players to abuse this functionality to a much larger extent. In a module room statistics are disabled making abusing this system less interesting. This makes that a map testing room is once again viable. I'm sure a lot of people would appreciate using this just like they did in the past.
As for the API, it would be cool to have more map-related features.
Currently, translations are based off of the community of the room instead of the language of the player. It would be nice to be able to do this, however this would be good. Added to the list.
I've created it and this is coming to Bafflua soon (along with several other minigames and a fairly big update).
There's already a map queueing function you can find in #bafflua0test using the !queue command (although could do with a few improvements that I'll get around to very soon). As for the blacklisting system, that'd be fairly difficult to trust who should be blacklisted, if people are blacklisted by users.
What map related features do you have in mind?
You can use /module ingame to see the list of module minigames. Bafflua is composed of several different minigames each with their own room that you can see explained here. Topic-340606
I mean a dedicated test room, not somewhere in between a load of minigames ._.
As for map related stuff; would be cool to allow modules to be able to load maps into the game as well as read their status (like /info). That way you could automatically block anything other than p0 maps, cutting down on another lot of ways to abuse a map testing system.
#bafflua0test only plays P0 maps, and loads the next map in the queue like /npp would, there are no minigames in it.
Reading maps status' has been suggested to Tig several times, I sincerely hope it comes along some time, it would make this testing useful.
So, elimination but built into several existing minigames?
bafflua isn't a testing room and I think making it one is stepping out of bounds of what a minigame should be.
An actual testing room wouldn't be allowed to become "official" because it's "strictly minigames" to my knowledge, but it would be easy for anyone who can run lua to write that in the minute it takes, get someone in the room, run it then leave. If it's as popular as you say, the script won't stop because the room won't empty.
edit: try this, should do what you want. I don't know if there's any bugs though since I can't run Lua.
but those several minigames, like ffa are basically one round elimination maps
but in the real elimination it would be like
2 people down
and over and over again until there's one last winner
Minigame: Mice Hunting
Suggestion: It's something like a maze game. However, with a hunter. The mice's mission is to find the cheese and be teleported to the hole. However, one mouse or whatever amount of mice will be hunters. Hunters should generally move faster than mice and everyone should be in Nightmode style. The hunter(s)' name will be announced at the start and his name will turn red to signal so. After a hunter catches you, Poof, bubbles :D Hunters win if they manage to prevent anymoure from entering the hole. Also, hunters cannot be teleported to hole even if they get cheese and the hunter will have to hang around the mouse for a while to prevent camping around cheese.