Added example bodyfunctions script back to contrib. Fixed the default lookup-paths of scripts.
This commit is contained in:
parent
fa8e8b7543
commit
a34312245a
3 changed files with 77 additions and 9 deletions
63
evennia/contrib/tutorial_examples/bodyfunctions.py
Normal file
63
evennia/contrib/tutorial_examples/bodyfunctions.py
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
"""
|
||||
Example script for testing. This adds a simple timer that
|
||||
has your character make observations and noices at irregular
|
||||
intervals.
|
||||
|
||||
To test, use
|
||||
@script me = examples.bodyfunctions.BodyFunctions
|
||||
|
||||
The script will only send messages to the object it
|
||||
is stored on, so make sure to put it on yourself
|
||||
or you won't see any messages!
|
||||
|
||||
"""
|
||||
import random
|
||||
from evennia import Script
|
||||
|
||||
class BodyFunctions(Script):
|
||||
"""
|
||||
This class defines the script itself
|
||||
"""
|
||||
|
||||
def at_script_creation(self):
|
||||
self.key = "bodyfunction"
|
||||
self.desc = "Adds various timed events to a character."
|
||||
self.interval = 20 # seconds
|
||||
#self.repeats = 5 # repeat only a certain number of times
|
||||
self.start_delay = True # wait self.interval until first call
|
||||
#self.persistent = True
|
||||
|
||||
def at_repeat(self):
|
||||
"""
|
||||
This gets called every self.interval seconds. We make
|
||||
a random check here so as to only return 33% of the time.
|
||||
"""
|
||||
|
||||
if random.random() < 0.66:
|
||||
# no message this time
|
||||
return
|
||||
rand = random.random()
|
||||
# return a random message
|
||||
if rand < 0.1:
|
||||
string = "You tap your foot, looking around."
|
||||
elif rand < 0.2:
|
||||
string = "You have an itch. Hard to reach too."
|
||||
elif rand < 0.3:
|
||||
string = "You think you hear someone behind you. ... but when you look there's noone there."
|
||||
elif rand < 0.4:
|
||||
string = "You inspect your fingernails. Nothing to report."
|
||||
elif rand < 0.5:
|
||||
string = "You cough discreetly into your hand."
|
||||
elif rand < 0.6:
|
||||
string = "You scratch your head, looking around."
|
||||
elif rand < 0.7:
|
||||
string = "You blink, forgetting what it was you were going to do."
|
||||
elif rand < 0.8:
|
||||
string = "You feel lonely all of a sudden."
|
||||
elif rand < 0.9:
|
||||
string = "You get a great idea. Of course you won't tell anyone."
|
||||
else:
|
||||
string = "You suddenly realize how much you love Evennia!"
|
||||
|
||||
# echo the message to the object
|
||||
self.obj.msg(string)
|
||||
Loading…
Add table
Add a link
Reference in a new issue