Commit graph

37 commits

Author SHA1 Message Date
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