- Made many small bugfixes to the @parent and @create functions as well as their underlying methods.
- Made it so user #1 is also affected by the on_player_creation() function. - Added an event folder for custom events, including a working example - Expanded the example commands and parents to include the changes to how they should be initialized. - Added an optional ansi scheme (not active by default)
This commit is contained in:
parent
a32840002c
commit
a9dbac8aae
16 changed files with 397 additions and 35 deletions
55
game/gamesrc/parents/examples/custom_basicobject.py
Normal file
55
game/gamesrc/parents/examples/custom_basicobject.py
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
"""
|
||||
Simple example of a custom modified object, derived from the base object.
|
||||
|
||||
If you want to make this your new default object type, move this into
|
||||
gamesrc/parents and set SCRIPT_DEFAULT_OBJECT = 'custom_basicobject'
|
||||
in game/settings.py.
|
||||
|
||||
Generally, if you want to conveniently set future objects to inherit from this
|
||||
script parent (not as a default), this files and others like it need to be
|
||||
located under the game/gamesrc/parent directory.
|
||||
"""
|
||||
from game.gamesrc.parents.base.basicobject import BasicObject
|
||||
|
||||
class CustomBasicObject(BasicObject):
|
||||
|
||||
def at_object_creation(self):
|
||||
"""
|
||||
This function is called whenever the object is created. Use
|
||||
this instead of __init__ to set start attributes etc on a
|
||||
particular object type.
|
||||
"""
|
||||
|
||||
#Set an "sdesc" (short description) attribute on object,
|
||||
#defaulting to its given name
|
||||
|
||||
#get the stored object related to this class
|
||||
obj = self.scripted_obj
|
||||
|
||||
#find out the object's name
|
||||
name = obj.get_name(fullname=False,
|
||||
show_dbref=False,
|
||||
show_flags=False)
|
||||
#assign the name to the new attribute
|
||||
obj.set_attribute('sdesc',name)
|
||||
|
||||
def at_object_destruction(self, pobject=None):
|
||||
"""
|
||||
This is triggered when an object is about to be destroyed via
|
||||
@destroy ONLY. If an object is deleted via delete(), it is assumed
|
||||
that this method is to be skipped.
|
||||
|
||||
values:
|
||||
* pobject: (Object) The object requesting the action.
|
||||
"""
|
||||
pass
|
||||
|
||||
|
||||
def class_factory(source_obj):
|
||||
"""
|
||||
This method is called by any script you retrieve (via the scripthandler). It
|
||||
creates an instance of the class and returns it transparently.
|
||||
|
||||
source_obj: (Object) A reference to the object being scripted (the child).
|
||||
"""
|
||||
return CustomBasicObject(source_obj)
|
||||
Loading…
Add table
Add a link
Reference in a new issue