def PackObj(sitem): cmeta = ops.loadmeta() if sitem.kid == cmeta.kid: sitem.metasheetupdater = True sitem.updater = True localmetas = ops.fetchLocalMetaMetaIDs('Meta',cmeta.metaid) for localmeta in localmetas: channel.send_message(str(localmeta), ops.jsonify(sitem))
def MetaEcho(content): cmeta = ops.loadmeta() pack = Packet() localmetas = ops.fetchLocalMetaMetaIDs('Meta',cmeta.metaid) sloc = ops.loadcloc() formatted = "["+sloc.name+"]<b> " + cmeta.name + "</b>: " + content + " haha" for localmeta in localmetas: pack.scopename = sloc.name pack.type = 'broadcast' pack.scope = 'local' pack.formatted = formatted pack.content = content + " hoho" pack.masterid = str(cmeta.masterid) pack.name = cmeta.name pack.metakind = cmeta.metakind pack.metaid = cmeta.metaid channel.send_message(str(localmeta), ops.jsonify(pack))
def PackPacket(packtype,scopename,scope,formatted,content): cmeta = ops.loadmeta() pack = Packet() if scope == 'local': targetmetas = ops.fetchLocalMetaMetaIDs('Meta',cmeta.metaid) elif scope == 'global' or scope == 'system': targetmetas = ops.fetchAllMetaMetaIDs() for targetmeta in targetmetas: pack.scopename = scopename pack.type = packtype pack.scope = scope pack.formatted = formatted pack.content = content pack.masterid = str(cmeta.masterid) pack.name = cmeta.name pack.metakind = cmeta.metakind pack.metaid = cmeta.metaid channel.send_message(str(targetmeta), ops.jsonify(pack))
def post(self, direction): cmeta = ops.loadmeta() cmeta.cokind = 'Location' #Not robust premove = copy.copy(ops.loadmeta()) cloc = ops.loadcloc() localmetas = ops.fetchLocalMetaMetaIDs('Meta',cmeta.metaid) pack = Packet() pack.scope = 'local' pack.type = 'move' for localmeta in localmetas: if localmeta == cmeta.metaid: pack.content = "You move " + ops.dirFull(direction) + "." pack.type = 'usermove' channel.send_message(str(localmeta), ops.jsonify(pack)) else: pack.content = cmeta.name + " has moved " + ops.dirFull(direction) pack.name = cmeta.name pack.destination = ops.dirFull(direction) pack.type = 'userleave' channel.send_message(str(localmeta), ops.jsonify(pack)) if direction == 'n': cmeta.yloc = str(int(cmeta.yloc)+1) elif direction == 's': cmeta.yloc = str(int(cmeta.yloc)-1) elif direction == 'e': cmeta.xloc = str(int(cmeta.xloc)+1) elif direction == 'w': cmeta.xloc = str(int(cmeta.xloc)-1) elif direction == 'u': cmeta.zloc = str(int(cmeta.zloc)+1) elif direction == 'd': cmeta.zloc = str(int(cmeta.zloc)-1) elif direction == 'ne': cmeta.xloc = str(int(cmeta.xloc)+1) cmeta.yloc = str(int(cmeta.yloc)+1) elif direction == 'se': cmeta.xloc = str(int(cmeta.xloc)+1) cmeta.yloc = str(int(cmeta.yloc)-1) elif direction == 'sw': cmeta.xloc = str(int(cmeta.xloc)-1) cmeta.yloc = str(int(cmeta.yloc)-1) elif direction == 'nw': cmeta.xloc = str(int(cmeta.xloc)-1) cmeta.yloc = str(int(cmeta.yloc)+1) cmeta.put() newlocalmetas = ops.fetchLocalMetaMetaIDs('Meta',cmeta.metaid) for newlocalmeta in newlocalmetas: if newlocalmeta == cmeta.metaid: pass else: pack.content = cmeta.name + " has arrived from the " + ops.dirOpp(direction) pack.type = 'userenter' pack.name = cmeta.name pack.destination = ops.dirOpp(direction) channel.send_message(str(newlocalmeta), ops.jsonify(pack)) DepthPerception(premove,cmeta) #self.response.out.write(cmeta.xloc+cmeta.yloc+cmeta.zloc+cmeta.lattice) nLocaMetas = ops.fetchLocalMetas(Meta, cmeta.metaid) nloc = Packet() nloc.locdata = cloc nloc.metashere = nLocaMetas self.response.out.write(ops.jsonify(nloc))