コード例 #1
0
ファイル: ultiassassin.py プロジェクト: bihicheng/playground
    def start(self):
        global started, changed
        self.useridList = es.getUseridList()
        
        for userid in self.useridList:
            player = playerlib.getPlayer(userid)
            if player.team < 2 or player.isdead:
                self.useridList.remove(userid)        
        
        if len(self.useridList) < 3:
            es.centermsg("You have to have more than 3 players to play the Assassin mod!")
            return None
        
        if self.useridList:
            ultilib.removeMapObjective()
            
            if self.manualAssassinID:
                self.assassinID = self.manualAssassinID
                self.useridList.remove(self.assassinID)
            else:
                self.assassinID = self._selectOneUserid()
                
            if self.manualVipID:
                self.vipID = self.manualVipID
                self.useridList.remove(self.vipID)
            else:
                self.vipID = self._selectOneUserid()        
            
            self.vip = VIP(self.vipID)
            self.assassin = Assassin(self.assassinID)

            self.guards = {}
            for userid in self.useridList:
                self.guards[userid] = Guard(userid)

            self.vip.prepare(self)
            self.assassin.prepare(self)
            for userid in self.guards.keys():
                self.guards[userid].prepare(self)

            self.aInvisibilityInfo = {"userid": None, "weapon": None, "color": None}
            
            if not changed:

                es.set("mp_limitteams", 20)
                es.set("mp_friendlyfire", 1)
                es.set("mp_autoteambalance", 0)
                es.set("sv_alltalk", 1)
                changed = True
            started = True
            roundtime = int(float(es.ServerVar("mp_roundtime")) * 60.0)
            roundtime += int(float(es.ServerVar("mp_freezetime")) * 60.0)
            gamethread.cancelDelayed("vipwins")
            gamethread.delayedname(roundtime,"vipwins", self.vipWins)
            es.msg("#multi", "#green[UltiAssassin 1.1]#defaultYou're playing the UltiAssassin!")
            
        self.started = True
コード例 #2
0
ファイル: ultizombie.py プロジェクト: bihicheng/playground
    def roundStart(self, ev):
        global changed
        if not changed:
            limitteams = es.ServerVar("mp_limitteams")
            autobalance = es.ServerVar("mp_autoteambalance")
            es.server.queuecmd("bot_knives_only")
            if limitteams < 15:
                limitteams.set(20)

            if autobalance == 1:
                autobalance.set(0)
            changed = True
        
        if noMapObjective:
            ultilib.removeMapObjective(buyzone=False)
            es.centermsg("Kill the zombies and survive!!")
        
        es.msg("#multi", "#green[UltiZombie 1.0]#defaultYou're playing the single player/coop zombie mod by Ulti")
        es.centermsg("Do your objective or kill all zombies!")