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
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!")