Greg Taylor
1e1752bdf3
Silly fix for cmdhandler. Should eliminate all those huh?'s.
2009-01-15 02:39:11 +00:00
Greg Taylor
abe17a2965
Re-designed the startup script to be more cross platform and robust.
2009-01-13 17:06:03 +00:00
Michael King
4cb2617324
Added extrapolated "name_exists" function.
...
Note that this can move, I just put it where it made
the most sense.
Code that checks for account names and aliases can
now be replaced with (assuming this is imported):
functions_user.name_exists("username")
If there is an alias match or an account match, it
will return True.
2009-01-13 07:21:41 +00:00
Michael King
86010b6ea4
Removed "finally" keyword that breaks python 2.4 compatibility.
...
This should work as expected without the "finally", as the exception will raise after the log message.
2009-01-13 06:34:28 +00:00
Greg Taylor
e0668e3573
Easy Python 2.4 compatibility tweak. Don't think the 'finally' keyword existed in Python 2.4
2009-01-13 01:42:39 +00:00
Greg Taylor
e6d3d9395d
Previously, the global command table was being filled with entries from other tables due to some funky globalization of the ctable instance variable. Fixed that and yanked the conditionals on a few of the logged out commands that check for logged in status.
2009-01-12 18:01:35 +00:00
jamesvclemence
d89f85cb98
Corrected comment for the ingame check on 'create' command
2009-01-12 16:29:13 +00:00
jamesvclemence
623f6bea5a
Disabled the use of 'create' and 'connect' ingame
2009-01-12 16:26:07 +00:00
jamesvclemence
d80d93b250
cmd_connect improved to fail gracefully if no argument is provided.
2009-01-12 08:49:19 +00:00
jamesvclemence
da505f3bf5
cmd_create improved to fail gracefully if no argument is provided.
2009-01-11 23:06:16 +00:00
Greg Taylor
9a166ba024
Moving script_parent to a field on the object model. This is critical enough to warrant it being there instead of in an attribute. Minor changes here and there.
...
NOTE: This update adds a field, delete your evennia.db3 or manually add a NOT NULL 'script_link' charfield(255).
2008-12-16 04:28:57 +00:00
Greg Taylor
bd3d195d5b
Beginnings of @parent, the in-game tie-in for the scripting system. Can now list the currently cached scripts via @parent/showcache, and clear the cache via @parent/clearcache.
2008-12-16 03:36:49 +00:00
Greg Taylor
18e2eca2c5
Removed some retarded uses of 'server' reference variables.
2008-12-16 03:17:45 +00:00
Greg Taylor
f0f31a9a69
Finish cleaning up the script stuff. Added a README to the base parents directory warning not to modify the classes there.
2008-12-15 05:58:32 +00:00
Greg Taylor
122bf4e3ff
Splitting the scripted parent system out into the gamesrc directory. There will be more explanation of this later.
2008-12-15 05:55:04 +00:00
Greg Taylor
00297d336a
Big change here is that you now either need to run manage.py (with or without arguments) in order to create your settings.py file when doing initial setup. Or creating it works too.
...
Also get ready to start separating things out into the new game directory.
2008-12-15 04:56:47 +00:00
Greg Taylor
5249f27074
Things should be working again, minus the web stuff.
2008-12-15 04:35:00 +00:00
Greg Taylor
837f1152c6
Starting here, trunk is broken pending re-organizations. Check out the previous revision if you'd like to tinker.
2008-12-15 04:00:25 +00:00
Greg Taylor
01db5700e8
More re-arranging to make things more closely resemble MUX/MUSH directory structure. Reason we're doing this is to begin the emergence of a separation of server code from game-specific stuff (called a driver by some codebases like LPMud).
...
Ideally game developers don't touch the server code, they just play within the game directory, which will contain all of their script parents and stuff.
NOTE: I may have broken the Linux/Unix start script. I am not able to boot back into Linux at the moment due to some testing going on, so if anyone could take a moment to tell me one way or another, I'd appreciate it.
NOTE: You'll need to move your evennia.db3 file into the game directory if you're using sqlite.
2008-12-15 03:37:30 +00:00
Greg Taylor
66a529ba84
The command handler has been completely overhauled and is actually readable now. It -might- be a little faster as well. It's not really that point in development to start micro-optimizing, so I haven't ran any benchmarks.
...
Our command evaluation now mirrors MUX2's. It was kind of weird before now, I'm not really sure how it got so out of order. In any case, I'm no longer ashamed of our command handler code. Hooray.
2008-12-15 01:10:26 +00:00
Greg Taylor
d58f4eb517
Looking through our command code after a long hiatus, I realized that it was pretty much awful. So here's part 1 of the command interpreter overhaul.
...
- The command handler has been drastically simplified. We were doing way too much processing in the handler that should have been done in the individual command functions themselves.
- The 'cdat' dict we were previously passing around has been replaced with a Command object that has useful methods for performing some of the parsing command functions will probably want to do from time to time.
- All commands were updated to use the new Command object, tested, and cleaned up in general.
- A lot of formatting was cleaned up.
- A lot of previously un-found bugs and limitations were fixed.
- The 'page' command has been broken out into its own file, since it's going to have a number of functions that would otherwise clutter commands/general.py.
Expect a commit (probably later today) that will clean up the second half of cmdhandler.py.
2008-12-14 20:21:02 +00:00
Greg Taylor
37d66093cc
Addition of a re-usable CommandTable class. We still have two global command tables that are now instances of this class. Game developers will use methods on CommandTable to add their own commands without modifying the base server code.
...
This is also in preparation of allowing commands to be present on objects via their script parents.
2008-12-14 01:49:37 +00:00
Greg Taylor
e3c58aeb6d
Fixed startup.bat to work again since the creation of the 'src' folder. Forgot to update the path. Also updated Windows 'Getting Started' guide on evennia.com to be more verbose.
...
Also did a few really minor formatting fixes and commenting elsewhere.
2008-12-14 00:02:11 +00:00
Greg Taylor
51a911d048
We now access the scriptlink by calling object.scriptlink instead of get_scriptlink. Shortens the typage a little and allows for some less complex fun possibilities down the road.
2008-06-21 02:05:44 +00:00
loki77
3e57f49395
New way of working with scriptlinks.
...
Scripts should be defined as '.' separated directory structures, starting in the base evennia directory.
2008-06-18 04:36:23 +00:00
loki77
6d1a8b8250
Fixed a bug with scriptlink that caused an error for players. Basically it split on ., which I believe used to be the seperator, but it is now /.
2008-06-17 01:37:11 +00:00
loki77
186dcc17c5
Fixed bad indentation.
2008-06-17 00:38:59 +00:00
Greg Taylor
cf18029be1
Moving some of the login tasks out of sessions.py and into the BasicPlayer script parent. Also, added seconds to the 'time' command, which I apparently forgot.
2008-06-15 21:29:27 +00:00
Greg Taylor
b12ba45cc7
Moving constants over to the new flags module.
2008-06-15 20:41:58 +00:00
Greg Taylor
a954069776
Finished moving stuff around, things should be in mostly working order now.
2008-06-15 20:31:25 +00:00
Greg Taylor
fd264667b8
Whoops. Broken for a few minutes.
2008-06-15 20:19:08 +00:00
Greg Taylor
ff98ede98f
Moving the logging system to src/
2008-06-15 20:15:12 +00:00
Greg Taylor
5064d0cacc
Moved defines_globals to src/
2008-06-15 20:04:06 +00:00
Greg Taylor
e6e84c2ee5
Quick PEP 8 related change.
2008-06-15 19:55:38 +00:00
Greg Taylor
811016867b
Comsys moved to src/
2008-06-15 19:41:27 +00:00
Greg Taylor
4bb00013ae
Even more death and destruction. A lot more stuff moved to src/. A lot more bugs probably introduced.
2008-06-15 19:38:39 +00:00
Greg Taylor
d3808c1ea2
Committin a 'working' checkpoint before I break more stuff.
2008-06-15 19:06:31 +00:00