From The Mana World
 
Line 28: Line 28:
*Query and set being attributes
*Query and set being attributes
*GM Cheats
*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)


==AI==
==AI==
Line 43: Line 48:
*Set timers
*Set timers
*Querry external data sources (already possible with LUA interpreter?)
*Querry external data sources (already possible with LUA interpreter?)
**Local file
**HTTP
**Database

Revision as of 21:40, 7 May 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 and set 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)

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