_imports = []
_parents = []
_version = 1
def _Sys_Create(self, name, hashVal, salt, email):
self.name = name
self.hashVal = hashVal
self.salt = salt
self.email = email
settings = {}
settings["useMXP"] = False
settings["useMXPSound"] = False
settings["useMSP"] = False
settings["useANSI"] = False
self.settings = settings
worldObj.accounts[self.name] = self
self.permissions = {}
def Login(self, avatar):
connectedAccounts = worldObj.connectedAccounts
if connectedAccounts.has_key(self.name):
avatar.Send("Someone else was logged in with this account. Booting them!\r\n")
bootAvatar = worldObj.connectedAccounts[self.name]
bootAvatar.Send("Someone else has logged in with this account.\r\n")
#Here we would copy relevant game data, such as the entity this avatar was controlling, to the
#new avatar.
bootAvatar.account = None
bootAvatar.Disconnect()
worldObj.connectedAccounts[self.name] = avatar
#Temporary hack to announce login.
for otherAvatar in worldObj.avatars:
if (otherAvatar == avatar) or (otherAvatar.account == None) or not(worldObj.connectedAccounts.has_key(otherAvatar.account.name)):
continue
otherAvatar.Send("%s has logged in.\r\n" % self.name)
def Logout(self):
connectedAccounts = worldObj.connectedAccounts
if connectedAccounts.has_key(self.name):
connectedAccounts[self.name].account = None
del connectedAccounts[self.name]
#Temporary hack to announce logout.
for otherAvatar in worldObj.avatars:
if (otherAvatar.account == None) or not(worldObj.connectedAccounts.has_key(otherAvatar.account.name)):
continue
otherAvatar.Send("%s has logged out.\r\n" % self.name)
def _Sys_Destroy(self):
if worldObj.connectedAccounts.has_key(self.name):
avatar = worldObj.connectedAccounts[self.name]
avatar.Send("This account has been deleted.\r\n")
self.Logout()
if self in worldObj.accounts:
worldObj.accounts.remove(self)