From The Mana World
Line 10: | Line 10: | ||
*Activate weather effects | *Activate weather effects | ||
*Query and set persistent global variables | *Query and set persistent global variables | ||
*Spawn particle effects | *<strike>Spawn particle effects</strike> | ||
*Global announcements | *Global announcements | ||
Revision as of 01:53, 1 November 2008
ToDo List for script bindings on the new server:
World Interaction
- Modify the map
- Collision
- Tile appearance
- Overlays
- Music
- Game rules like PvP allowed/denied.
- Activate weather effects
- Query and set persistent global variables
Spawn particle effects- Global announcements
Being interaction
Spawn beings- Move beings
Hurt beings- Make beings perform different actions
- Remove beings
- Callback functions for events like
death- leave game
- change map
- getting hurt
Get beings in area- Apply/Remove status effects to beings
Query andset being attributes- GM Cheats
query and set skill experience
Player interaction
Sending private chat messages- Sending dialog box messages (and catch the players answer?)
- Maybe control GUI windows? (could be useful for tutorial)
Dialog system
- Text input boxes
- Show images
Chat interaction
- Log chat channels
- Send messages to chat channels
- Filter chat channels (useful for flexible censorship systems) - needs either script support on account server or the netcode to route the chat of a chat channel through a game server when it is requested by it.
- access / control users in chat channel
AI
- Command monsters
- Override attack target selection
- Override move target selection
- Make the monster use combat abilities
- Override spawn and death events
Idea: class ScriptedMonster is a derivate from class Monster. It replaces every member function of the monster class with a call to a LUA function. This LUA function can call the function from the base class. This would allow to selectively replace or complement any behavior of the monster. This requires:
- Access to all member variables and functions of class Monster (including protected variables)
General
Set timers- Querry external data sources (already possible with LUA interpreter?)
- Local file
- HTTP
- Database
Inter-map scripting
- Executing script code in the context of the script object of another map which might even be on a different server.