_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)