def perspective_onZoneTrigger(self,simObject,zoneLink):#,zoneIn): if simObject not in self.simObjects: traceback.print_stack() print "AssertionError: simObject is not in SimAvatars simObject list!" return if not self.playerLookup.has_key(simObject): traceback.print_stack() print "AssertionError: simObject is not in SimAvatars playerLookup list!" return from zone import Zone,ZoneLink zlink = ZoneLink.byName(zoneLink) player = self.playerLookup[simObject] if player.zone: z = Zone.byName(zlink.dstZoneName) czone = player.zone.zone if czone == z: #good #we just need to respawn player, whew player.zone.respawnPlayer(player,zlink.dstZoneTransform) return #we want to present the player with a choice of active zones #and/or to launch their own zone instance (if they are allowed to) self.world.onZoneTrigger(self.playerLookup[simObject],zlink)
def CmdTP(mob,args): player = mob.player zname = args[0] if zname.lower() == 'bindstone': if player.darkness: z = player.darknessBindZone trans = player.darknessBindTransform elif player.monster: z = player.monsterBindZone trans = player.monsterBindTransform else: z = player.bindZone trans = player.bindTransform dst = ' '.join(str(i) for i in trans) else: try: z = Zone.byName(zname) dst = z.immTransform except: mob.player.sendGameText(RPG_MSG_GAME_DENIED,"Unknown zone or zone not setup for immortal command %s.\\n"%zname) return #are we in the same zone? if player.zone.zone == z: #good #we just need to respawn player, whew player.zone.respawnPlayer(player,dst) else: from zone import TempZoneLink zlink = TempZoneLink(zname,dst) player.world.onZoneTrigger(player,zlink)
def CmdTP(mob, args): player = mob.player zname = args[0] if zname.lower() == 'bindstone': if player.darkness: z = player.darknessBindZone trans = player.darknessBindTransform elif player.monster: z = player.monsterBindZone trans = player.monsterBindTransform else: z = player.bindZone trans = player.bindTransform dst = ' '.join(str(i) for i in trans) else: try: z = Zone.byName(zname) dst = z.immTransform except: mob.player.sendGameText( RPG_MSG_GAME_DENIED, "Unknown zone or zone not setup for immortal command %s.\\n" % zname) return #are we in the same zone? if player.zone.zone == z: #good #we just need to respawn player, whew player.zone.respawnPlayer(player, dst) else: from zone import TempZoneLink zlink = TempZoneLink(zname, dst) player.world.onZoneTrigger(player, zlink)