Пример #1
0
 def enterInstance(self,player,template,teleto):
     instanceId = 0
     if not self.checkCondition(player):
         return instanceId
     members = self.getMembers(player)
     # Check for existing instances of party members or channel members
     for member in members :
         if member.getInstanceId()!= 0 and member.getInstanceId() != player.getInstanceId():
             instanceId = member.getInstanceId()
     # Existing instance
     if instanceId != 0:
         foundworld = False
         for worldid in self.world_ids:
             if worldid == instanceId:
                 foundworld = True
         if not foundworld:
             self.sendString(player,self.MEMBERS_IN_OTHER_INSTANCE)
             return 0
         teleto.instanceId = instanceId
         self.teleportPlayer(player, teleto)
         return instanceId
     else:
         instanceId = InstanceManager.getInstance().createDynamicInstance(template)
         if not self.worlds.has_key(instanceId):
             # create new world
             world = self.setupWorld(instanceId)
             self.worlds[instanceId]=world
             self.world_ids.append(instanceId)
             self._log.info(self.name + " started, Template: " + template + " InstanceId: " +str(instanceId) + " created by: " + str(player.getName()))
         # Teleports player
         teleto.instanceId = instanceId
         self.teleportPlayer(player,teleto)
         return instanceId
     return instanceId
Пример #2
0
 def openDoor(self,doorId,world):
     for door in InstanceManager.getInstance().getInstance(world.instanceId).getDoors():
         if door.getDoorId() == doorId:
             door.openMe()
Пример #3
0
 def closeAllDoors(self,world):
     for door in InstanceManager.getInstance().getInstance(world.instanceId).getDoors():
             door.closeMe()
Пример #4
0
 def getAllPlayers(self,world):
     return InstanceManager.getInstance().getInstance(world.instanceId).getPlayers()