Fix some docs. Resolve #3058.
This commit is contained in:
parent
98f04fc468
commit
74a357f7f6
2 changed files with 11 additions and 24 deletions
|
|
@ -18,8 +18,7 @@ superuser powers back:
|
||||||
|
|
||||||
## Evennia Hello world
|
## Evennia Hello world
|
||||||
|
|
||||||
The `py` Command (or `!`, which is an alias) allows you as a superuser to execute raw Python from in-
|
The `py` Command (or `!`, which is an alias) allows you as a superuser to execute raw Python from in-game. This is useful for quick testing. From the game's input line, enter the following:
|
||||||
game. This is useful for quick testing. From the game's input line, enter the following:
|
|
||||||
|
|
||||||
> py print("Hello World!")
|
> py print("Hello World!")
|
||||||
|
|
||||||
|
|
@ -419,8 +418,7 @@ suitable targets.
|
||||||
|
|
||||||
Let's wrap up this first Python `py` crash-course by finding someone else to send to.
|
Let's wrap up this first Python `py` crash-course by finding someone else to send to.
|
||||||
|
|
||||||
In Evennia's `contrib/` folder (`evennia/contrib/tutorial_examples/mirror.py`) is a handy little
|
In Evennia's `contrib/` folder (`evennia/contrib/tutorial_examples/mirror.py`) is a handy little object called the `TutorialMirror`. The mirror will echo whatever is being sent to it to
|
||||||
object called the `TutorialMirror`. The mirror will echo whatever is being sent to it to
|
|
||||||
the room it is in.
|
the room it is in.
|
||||||
|
|
||||||
On the game command-line, let's create a mirror:
|
On the game command-line, let's create a mirror:
|
||||||
|
|
@ -440,34 +438,27 @@ A mirror should appear in your location.
|
||||||
mirror shows your reflection:
|
mirror shows your reflection:
|
||||||
This is User #1
|
This is User #1
|
||||||
|
|
||||||
What you are seeing is actually your own avatar in the game, the same thing that is available as `me` in the `py`
|
What you are seeing is actually your own avatar in the game, the same thing that is available as `me` in the `py` command.
|
||||||
command.
|
|
||||||
|
|
||||||
What we are aiming for now is the equivalent of `mirror.msg("Mirror Mirror on the wall")`. But the first thing that
|
What we are aiming for now is the equivalent of `mirror.msg("Mirror Mirror on the wall")`. But the first thing that comes to mind will not work:
|
||||||
comes to mind will not work:
|
|
||||||
|
|
||||||
> py mirror.msg("Mirror, Mirror on the wall ...")
|
> py mirror.msg("Mirror, Mirror on the wall ...")
|
||||||
NameError: name 'mirror' is not defined.
|
NameError: name 'mirror' is not defined.
|
||||||
|
|
||||||
This is not surprising: Python knows nothing about "mirrors" or locations or anything. The `me` we've been using
|
This is not surprising: Python knows nothing about "mirrors" or locations or anything. The `me` we've been using is, as mentioned, just a convenient thing the Evennia devs makes available to the `py` command. They couldn't possibly predict that you wanted to talk to mirrors.
|
||||||
is, as mentioned, just a convenient thing the Evennia devs makes available to the `py` command. They couldn't possibly
|
|
||||||
predict that you wanted to talk to mirrors.
|
|
||||||
|
|
||||||
Instead we will need to _search_ for that `mirror` object before we can send to it.
|
Instead we will need to _search_ for that `mirror` object before we can send to it. Make sure you are in the same location as the mirror and try:
|
||||||
Make sure you are in the same location as the mirror and try:
|
|
||||||
|
|
||||||
> py me.search("mirror")
|
> py me.search("mirror")
|
||||||
mirror
|
mirror
|
||||||
|
|
||||||
`me.search("name")` will, by default, search and _return_ an object with the given name found in _the same location_
|
`me.search("name")` will, by default, search and _return_ an object with the given name found in _the same location_ as the `me` object is. If it can't find anything you'll see an error.
|
||||||
as the `me` object is. If it can't find anything you'll see an error.
|
|
||||||
|
|
||||||
```{sidebar} Function returns
|
```{sidebar} Function returns
|
||||||
|
|
||||||
Whereas a function like `print` only prints its arguments, it's very common
|
Whereas a function like `print` only prints its arguments, it's very common
|
||||||
for functions/methods to `return` a result of some kind. Think of the function
|
for functions/methods to `return` a result of some kind. Think of the function
|
||||||
as a machine - you put something in and out comes a result you can use. In the case
|
as a machine - you put something in and out comes a result you can use. In the case of `me.search`, it will perform a database search and spit out the object it finds.
|
||||||
of `me.search`, it will perform a database search and spit out the object it finds.
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> py me.search("dummy")
|
> py me.search("dummy")
|
||||||
|
|
@ -482,15 +473,12 @@ Now that we know how to find the 'mirror' object, we just need to use that inste
|
||||||
mirror echoes back to you:
|
mirror echoes back to you:
|
||||||
"Mirror, Mirror on the wall ..."
|
"Mirror, Mirror on the wall ..."
|
||||||
|
|
||||||
The mirror is useful for testing because its `.msg` method just echoes whatever is sent to it back to the room. More common
|
The mirror is useful for testing because its `.msg` method just echoes whatever is sent to it back to the room. More common would be to talk to a player character, in which case the text you sent would have appeared in their game client.
|
||||||
would be to talk to a player character, in which case the text you sent would have appeared in their game client.
|
|
||||||
|
|
||||||
|
|
||||||
## Multi-line py
|
## Multi-line py
|
||||||
|
|
||||||
So far we have use `py` in single-line mode, using `;` to separate multiple inputs. This is very convenient
|
So far we have use `py` in single-line mode, using `;` to separate multiple inputs. This is very convenient when you want to do some quick testing. But you can also start a full multi-line Python interactive interpreter inside Evennia.
|
||||||
when you want to do some quick testing. But you can also start a full multi-line Python interactive interpreter
|
|
||||||
inside Evennia.
|
|
||||||
|
|
||||||
> py
|
> py
|
||||||
Evennia Interactive Python mode
|
Evennia Interactive Python mode
|
||||||
|
|
|
||||||
|
|
@ -60,8 +60,7 @@ The default hierarchy is
|
||||||
- `Admin` - can kick and ban accounts
|
- `Admin` - can kick and ban accounts
|
||||||
- `Developer` - full access, usually also trusted with server access
|
- `Developer` - full access, usually also trusted with server access
|
||||||
|
|
||||||
There is also the _superuser_, the "owner" of the game you create when you first set up your database. This user
|
There is also the _superuser_, the "owner" of the game you create when you first set up your database. This user goes outside the regular hierarchy and while powerful it's not so suitable for testing since it bypasses all [locks](Locks) (using `quell` or a separate `Developer`-level account is recommended).
|
||||||
goes outside the regular hierarchy and should usually only.
|
|
||||||
|
|
||||||
**EvAdventure Answer**
|
**EvAdventure Answer**
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue