mirror of
https://github.com/evennia/evennia.git
synced 2026-03-20 06:46:31 +01:00
Merge, with input and tweaks from discussion with lagos and Kelketek in irc.
This commit is contained in:
commit
80da420ee7
3 changed files with 19 additions and 9 deletions
|
|
@ -43,4 +43,8 @@ things you want from here into game/gamesrc and change them there.
|
|||
* CharGen (Griatch 2011) - A simple Character creator and selector for
|
||||
Evennia's ooc mode. Works well with the menu login contrib and
|
||||
is intended as a starting point for building a more full-featured
|
||||
character creation system.
|
||||
character creation system.
|
||||
|
||||
* Evlang (Griatch 2012) - A heavily restricted version of Python for use
|
||||
as a "softcode" language by Players in-game. Contains a complete
|
||||
system with examples of objects and commands for coding.
|
||||
|
|
|
|||
|
|
@ -48,9 +48,10 @@ Quick Example Install
|
|||
This is a quick test-setup using the example objects and commands.
|
||||
|
||||
1) If you haven't already, make sure you are able to overload the
|
||||
default cmdset: Copy game/gamesrc/commands/examples/cmdset.py up one level,
|
||||
then change settings.CMDSET_DEFAULT to point to DefaultCmdSet in your newly copied module.
|
||||
Restart the server and check so the default commands still work.
|
||||
default cmdset: Copy game/gamesrc/commands/examples/cmdset.py up
|
||||
one level, then change settings.CMDSET_DEFAULT to point to
|
||||
DefaultCmdSet in your newly copied module. Restart the server and
|
||||
check so the default commands still work.
|
||||
2) Import and add
|
||||
contrib.evlang.command.CmdCode
|
||||
and
|
||||
|
|
@ -86,9 +87,11 @@ There are a few "safe" objects made available out of the box.
|
|||
caller - reference back to the one triggering the script
|
||||
scripter - reference to the one creating the script (set by @code)
|
||||
|
||||
There is also the 'evl' object that defines "safe" methods to use.
|
||||
There is also the 'evl' object that defines "safe" methods to use:
|
||||
|
||||
evl.msg(string, obj=None) # default is the send to caller
|
||||
evl.msg_contents(string, obj=None) # default is to send to all except caller
|
||||
evl.msg_home(string, obj=None) # default is to send to self.location
|
||||
delay(delay, function, *args, **kwargs)
|
||||
attr(obj, attrname=None, attrvalue=None, delete=False) # lock-checking attribute accesser
|
||||
list() # display all available methods on evl, with docstrings (including your custom additions)
|
||||
|
|
@ -101,9 +104,11 @@ try it.
|
|||
|
||||
Now look at the crate. :)
|
||||
|
||||
You can (in evlang) use evl.list() to get a list of all methods currently stored on the evl object. For testing, let's
|
||||
use the same look slot on the crate again. But this time we'll use the /debug mode of @code, which means the script
|
||||
will be auto-run immediately and we don't have to look at the create to get a result when developing.
|
||||
You can (in evlang) use evl.list() to get a list of all methods
|
||||
currently stored on the evl object. For testing, let's use the same
|
||||
look slot on the crate again. But this time we'll use the /debug mode
|
||||
of @code, which means the script will be auto-run immediately and we
|
||||
don't have to look at the create to get a result when developing.
|
||||
|
||||
@code/debug crate/look = evl.msg(evl.list())
|
||||
|
||||
|
|
|
|||
|
|
@ -108,7 +108,8 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
|
|||
def _write(self, data):
|
||||
"hook overloading the one used in plain telnet"
|
||||
#print "_write (%s): %s" % (self.state, " ".join(str(ord(c)) for c in data))
|
||||
data = data.rstrip('\r\n') + '\r\n'
|
||||
data = data.replace('\n', '\r\n').replace('\r\r\n', '\r\n')
|
||||
#data = data.replace('\n', '\r\n')
|
||||
super(TelnetProtocol, self)._write(mccp_compress(self, data))
|
||||
|
||||
def sendLine(self, line):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue