Mercurial > traipse_dev
view orpg/networking/mplay_groups.py @ 67:c5bc2abaf7f8 ornery-dev
Traipse Dev 'OpenRPG' {090818-01}
Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc''s main goal is to offer more advanced features and enhance the productivity of the user.
Update Summary:
*Stable*
This is the first wave of Code Refinement updates. Includes new material from Core Beta; new debugger material (partially implemented), beginnings of switch to etree, TerminalWriter, and a little more. open_rpg has been renamed to component; functioning now as component.get(), component.add(), component.delete().
Fixes nodehandlers to bring the dev back to a stable push. Known issue with a nodehandler and it's sub dialogs.
author | sirebral |
---|---|
date | Tue, 18 Aug 2009 07:34:35 -0500 |
parents | 4385a7d0efd1 |
children | 449a8900f9ac |
line wrap: on
line source
from orpg.mapper.map_msg import * class game_group: def __init__( self, id, name, pwd, desc="", boot_pwd="", minVersion="", mapFile=None, messageFile=None, persist =0 ): self.id = id self.name = name self.desc = desc self.minVersion = minVersion self.messageFile = messageFile self.players = [] self.pwd = pwd self.boot_pwd = boot_pwd self.game_map = map_msg() self.lock = Lock() self.moderated = 0 self.voice = {} self.persistant = persist if mapFile != None: f = open( mapFile ) tree = f.read() f.close() else: f = open(orpg.dirpath.dir_struct["template"] + "default_map.xml") tree = f.read() f.close() self.game_map.init_from_xml(tree) def add_player(self,id): self.players.append(id) def remove_player(self,id): if self.voice.has_key(id): del self.voice[id] self.players.remove(id) def get_num_players(self): num = len(self.players) return num def get_player_ids(self): tmp = self.players return tmp def check_pwd(self,pwd): return (pwd==self.pwd) def check_boot_pwd(self,pwd): return (pwd==self.boot_pwd) def check_version(self,ver): if (self.minVersion == ""): return 1 minVersion=self.minVersion.split('.') version=ver.split('.') for i in range(min(len(minVersion),len(version))): w=max(len(minVersion[i]),len(version[i])) v1=minVersion[i].rjust(w); v2=version[i].rjust(w); if v1<v2: return 1 if v1>v2: return 0 if len(minVersion)>len(version): return 0 return 1 #depreciated - see send_group_list() def toxml(self,act="new"): # Please don't add the boot_pwd to the xml, as this will give it away to players watching their console xml_data = "<group id=\"" + self.id xml_data += "\" name=\"" + self.name xml_data += "\" pwd=\"" + str(self.pwd!="") xml_data += "\" players=\"" + str(self.get_num_players()) xml_data += "\" action=\"" + act + "\" />" return xml_data