From The Mana World
(marked some stuff which is already possible) |
|||
Line 14: | Line 14: | ||
==Being interaction== | ==Being interaction== | ||
*Spawn beings | *<strike>Spawn beings</strike> | ||
*Move beings | *Move beings | ||
*Hurt beings | *<strike>Hurt beings</strike> | ||
*Make beings perform different actions | *Make beings perform different actions | ||
*Remove beings | *Remove beings | ||
*Callback functions for events like | *Callback functions for events like | ||
**death | **<strike>death</strike> | ||
**leave game | **leave game | ||
**change map | **change map | ||
**getting hurt | **getting hurt | ||
*Get beings in area | *<strike>Get beings in area</strike> | ||
*Apply/Remove status effects to beings | *Apply/Remove status effects to beings | ||
*Query and set being attributes | *<strike>Query and</strike> set being attributes | ||
*GM Cheats | *GM Cheats | ||
==Player interaction== | ==Player interaction== | ||
*Sending private chat messages | *<strike>Sending private chat messages</strike> | ||
*Sending dialog box messages (and catch the players answer?) | *Sending dialog box messages (and catch the players answer?) | ||
*Maybe control GUI windows? (could be useful for tutorial) | *Maybe control GUI windows? (could be useful for tutorial) | ||
Line 52: | Line 52: | ||
==General== | ==General== | ||
*Set timers | *<strike>Set timers</strike> | ||
*Querry external data sources (already possible with LUA interpreter?) | *Querry external data sources (already possible with LUA interpreter?) | ||
**Local file | **Local file |
Revision as of 01:59, 25 October 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
Player interaction
Sending private chat messages- Sending dialog box messages (and catch the players answer?)
- Maybe control GUI windows? (could be useful for tutorial)
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.