Updated menu_login contrib to changes in default channel settings. Also made them aware of multisession modes. Resolves #754.
This commit is contained in:
parent
a9569f274f
commit
70762fb2be
2 changed files with 15 additions and 21 deletions
|
|
@ -3,7 +3,6 @@ Base typeclass for in-game Channels.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from django.conf import settings
|
|
||||||
from evennia.typeclasses.models import TypeclassBase
|
from evennia.typeclasses.models import TypeclassBase
|
||||||
from evennia.comms.models import Msg, TempMsg, ChannelDB
|
from evennia.comms.models import Msg, TempMsg, ChannelDB
|
||||||
from evennia.comms.managers import ChannelManager
|
from evennia.comms.managers import ChannelManager
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ import traceback
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from evennia import managers
|
from evennia import managers
|
||||||
from evennia import utils, logger, create_player
|
from evennia import utils, logger, create_player
|
||||||
|
from evennia import ObjectDB
|
||||||
from evennia import Command, CmdSet
|
from evennia import Command, CmdSet
|
||||||
from evennia import syscmdkeys
|
from evennia import syscmdkeys
|
||||||
from evennia.server.models import ServerConfig
|
from evennia.server.models import ServerConfig
|
||||||
|
|
@ -41,6 +42,7 @@ CMD_LOGINSTART = syscmdkeys.CMD_LOGINSTART
|
||||||
CMD_NOINPUT = syscmdkeys.CMD_NOINPUT
|
CMD_NOINPUT = syscmdkeys.CMD_NOINPUT
|
||||||
CMD_NOMATCH = syscmdkeys.CMD_NOMATCH
|
CMD_NOMATCH = syscmdkeys.CMD_NOMATCH
|
||||||
|
|
||||||
|
MULTISESSION_MODE = settings.MULTISESSION_MODE
|
||||||
CONNECTION_SCREEN_MODULE = settings.CONNECTION_SCREEN_MODULE
|
CONNECTION_SCREEN_MODULE = settings.CONNECTION_SCREEN_MODULE
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -210,28 +212,21 @@ class CmdPasswordCreate(Command):
|
||||||
self.caller.msg(string)
|
self.caller.msg(string)
|
||||||
self.menutree.goto("node2b")
|
self.menutree.goto("node2b")
|
||||||
return
|
return
|
||||||
# everything's ok. Create the new player account. Don't create
|
# everything's ok. Create the new player account and possibly the character
|
||||||
# a Character here.
|
# depending on the multisession mode
|
||||||
|
|
||||||
|
from evennia.commands.default import unloggedin
|
||||||
|
# we make use of the helper functions from the default set here.
|
||||||
try:
|
try:
|
||||||
permissions = settings.PERMISSION_PLAYER_DEFAULT
|
permissions = settings.PERMISSION_PLAYER_DEFAULT
|
||||||
typeclass = settings.BASE_PLAYER_TYPECLASS
|
typeclass = settings.BASE_CHARACTER_TYPECLASS
|
||||||
new_player = create_player(playername, None, password,
|
new_player = unloggedin._create_player(self.caller, playername,
|
||||||
typeclass=typeclass,
|
password, permissions)
|
||||||
permissions=permissions)
|
if new_player:
|
||||||
if not new_player:
|
if MULTISESSION_MODE < 2:
|
||||||
self.msg("There was an error creating the Player. This error was logged. Contact an admin.")
|
default_home = ObjectDB.objects.get_id(settings.DEFAULT_HOME)
|
||||||
self.menutree.goto("START")
|
unloggedin._create_character(self.caller, new_player, typeclass,
|
||||||
return
|
default_home, permissions)
|
||||||
utils.init_new_player(new_player)
|
|
||||||
|
|
||||||
# join the new player to the public channel
|
|
||||||
pchanneldef = settings.CHANNEL_PUBLIC
|
|
||||||
if pchanneldef:
|
|
||||||
pchannel = managers.channels.get_channel(pchanneldef[0])
|
|
||||||
if not pchannel.connect(new_player):
|
|
||||||
string = "New player '%s' could not connect to public channel!" % new_player.key
|
|
||||||
logger.log_errmsg(string)
|
|
||||||
|
|
||||||
# tell the caller everything went well.
|
# tell the caller everything went well.
|
||||||
string = "{gA new account '%s' was created. Now go log in from the menu!{n"
|
string = "{gA new account '%s' was created. Now go log in from the menu!{n"
|
||||||
self.caller.msg(string % (playername))
|
self.caller.msg(string % (playername))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue