From The Mana World
(added hairstyle) |
|||
(6 intermediate revisions by the same user not shown) | |||
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 | ||
*Check walkability of tiles | |||
==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 | ||
*Query the direction a being is facing | |||
==Character interaction== | |||
* query/set hairstyle and color | |||
*<strike>query and set skill experience</strike> | |||
==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) | ||
==Dialog system== | |||
* Text input boxes | |||
* Show images | |||
==Chat interaction== | ==Chat interaction== | ||
Line 52: | Line 62: | ||
==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 |
Latest revision as of 18:36, 12 December 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
- Check walkability of tiles
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 the direction a being is facing
Character interaction
- query/set hairstyle and color
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.