def msg_server(msg): """Sends a message to all players on the server.""" if 243 < len(msg): mm.warn("Truncating long message '%s'" % msg) msg = msg[0:243] host.sgl_sendTextMessage(0, MsgChannels.ServerMessage.id, MsgType.Server, msg, 0)
def changedWeaponMisc(player, weapon): global NO_C4, NO_CLAYMORE, NO_MOUNTED_MGS, NO_TOW_MISSILE, PUNISH_METHOD, WARNING_LVL0, WARNING_LVL1 if NO_CLAYMORE and weapon.templateName == "usmin_claymore" or NO_C4 and weapon.templateName == "c4_explosives" or NO_MOUNTED_MGS and weapon.templateName == "rulmg_rpk74_stationary" or NO_TOW_MISSILE and weapon.templateName == "ats_hj8_Launcher": if not PUNISH_METHOD: host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL0) % (player.getName()), 0) else: player.getDefaultVehicle().setDamage(0) host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL1) % (player.getName()), 0)
def onPlayerNameValidated(realNick, oldNick, realPID, oldPID, player): if realNick != oldNick: message = "Player: %s, real name %s, was kicked and banned for using Name Hacks" % (oldNick, realNick) elif realPID != oldPID: message = "Player: %s tried to use wrong PlayerID %d (real PID %d); kicked and banned for using PID Hacks" % (oldNick, oldPID, realPID) else: return host.rcon_invoke("admin.banPlayer %d %d" % (player.index, BANTIME)) host.sgl_sendTextMessage(0, 12, 1, message, 0)
def msg_player( playerid, msg ): """Sends a message to a player on the server.""" # TODO: update to send the message to the player once this is fixed # in the server code if 243 < len( msg ): mm.warn( "Truncating long message '%s'" % msg ) msg = msg[0:243] # BF2142 v1.10 only works sending messages to player 0 :( # so reverting to server send host.sgl_sendTextMessage( 0, MsgChannels.ServerMessage.id, MsgType.Server, msg, 0 )
def onPlayerNameValidated(realNick, oldNick, realPID, oldPID, player): if realNick != oldNick: message = "Player: %s, real name %s, was kicked and banned for using Name Hacks" % ( oldNick, realNick) elif realPID != oldPID: message = "Player: %s tried to use wrong PlayerID %d (real PID %d); kicked and banned for using PID Hacks" % ( oldNick, oldPID, realPID) else: return host.rcon_invoke("admin.banPlayer %d %d" % (player.index, BANTIME)) host.sgl_sendTextMessage(0, 12, 1, message, 0)
def changedWeaponMisc(player, weapon): global NO_C4, NO_CLAYMORE, NO_MOUNTED_MGS, NO_TOW_MISSILE, PUNISH_METHOD, WARNING_LVL0, WARNING_LVL1 if ((NO_CLAYMORE and weapon.templateName == "usmin_claymore") or (NO_C4 and weapon.templateName == "c4_explosives") or (NO_MOUNTED_MGS and weapon.templateName == "rulmg_rpk74_stationary") or (NO_TOW_MISSILE and weapon.templateName == "ats_hj8_Launcher")): if not (PUNISH_METHOD): host.sgl_sendTextMessage(0, 12, 1, str(WARNING_LVL0) % (player.getName()), 0) else: player.getDefaultVehicle().setDamage(0) host.sgl_sendTextMessage(0, 12, 1, str(WARNING_LVL1) % (player.getName()), 0)
def onRestart(data): global TIME_TO_RESTART global temp_time global timer global inCounting if (temp_time>0): host.sgl_sendTextMessage( 0, 12, 1, "... %s " % (temp_time), 0) temp_time = temp_time - 1 else: timer.destroy() timer = None temp_time = TIME_TO_RESTART inCounting = False host.rcon_invoke("admin.restartMap")
def onRestart(data): global TIME_TO_RESTART global temp_time global timer global inCounting if (temp_time > 0): host.sgl_sendTextMessage(0, 12, 1, "... %s " % (temp_time), 0) temp_time = temp_time - 1 else: timer.destroy() timer = None temp_time = TIME_TO_RESTART inCounting = False host.rcon_invoke("admin.restartMap")
def KickerSystem(player): global playerKickList, HOW_MANY_KILLS_TO_KICK, RESTRICTED_WEAPON_KICK_MSG, RESTRICTED_WEAPON_KICK_REASON, WARNING_AFTER_FRAG, RESTRICTED_WEAPON_KICK_IN_MINUTES playerId = player.getProfileId() t = 0 for temp_player in playerKickList: if (int(playerId) == int(temp_player[0])): temp_player[1] += 1 if (temp_player[1] >= HOW_MANY_KILLS_TO_KICK): host.sgl_sendTextMessage( 0, 12, 1, str(RESTRICTED_WEAPON_KICK_MSG) % (player.getName()), 0) host.rcon_invoke("pb_sv_kick \"" + str(player.getName()) + "\" " + str(RESTRICTED_WEAPON_KICK_IN_MINUTES) + " \"" + str(RESTRICTED_WEAPON_KICK_REASON) + "\"") del playerKickList[playerKickList.index( [playerId, temp_player[1]])] t = 1 else: host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_AFTER_FRAG) % (player.getName()), 0) t = 1 if not (t): playerKickList.append([playerId, 1]) host.sgl_sendTextMessage(0, 12, 1, str(WARNING_AFTER_FRAG) % (player.getName()), 0) t = 0
def changedWeapon(WeaponList, player, weapon, method): global PUNISH_METHOD, WARNING_LVL0, WARNING_LVL1 if not method: if str(weapon.templateName) in WeaponList: if not PUNISH_METHOD: host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL0) % (player.getName()), 0) else: player.getDefaultVehicle().setDamage(0) host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL1) % (player.getName()), 0) else: if str(weapon.templateName) not in WeaponList: if not PUNISH_METHOD: host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL0) % (player.getName()), 0) else: player.getDefaultVehicle().setDamage(0) host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL1) % (player.getName()), 0)
def changedWeapon(WeaponList, player, weapon, method): global PUNISH_METHOD, WARNING_LVL0, WARNING_LVL1 if not (method): if (str(weapon.templateName) in WeaponList): if not (PUNISH_METHOD): host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL0) % (player.getName()), 0) else: player.getDefaultVehicle().setDamage(0) host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL1) % (player.getName()), 0) else: if not (str(weapon.templateName) in WeaponList): if not (PUNISH_METHOD): host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL0) % (player.getName()), 0) else: player.getDefaultVehicle().setDamage(0) host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_LVL1) % (player.getName()), 0)
def KickerSystem(player): global playerKickList, HOW_MANY_KILLS_TO_KICK, RESTRICTED_WEAPON_KICK_MSG, RESTRICTED_WEAPON_KICK_REASON, WARNING_AFTER_FRAG, RESTRICTED_WEAPON_KICK_IN_MINUTES playerId = player.getProfileId() t = 0 for temp_player in playerKickList: if int(playerId) == int(temp_player[0]): temp_player[1]+=1; if temp_player[1] >= HOW_MANY_KILLS_TO_KICK: host.sgl_sendTextMessage( 0, 12, 1, str(RESTRICTED_WEAPON_KICK_MSG) % (player.getName()), 0) host.rcon_invoke("pb_sv_kick \""+str(player.getName())+"\" "+str(RESTRICTED_WEAPON_KICK_IN_MINUTES)+" \""+str(RESTRICTED_WEAPON_KICK_REASON)+"\"") playerKickList.remove([playerId,temp_player[1]]) t = 1 else: host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_AFTER_FRAG) % (player.getName()), 0) t = 1 if not t: playerKickList.append([playerId, 1]) host.sgl_sendTextMessage( 0, 12, 1, str(WARNING_AFTER_FRAG) % (player.getName()), 0) t = 0
def sendServerMessage(self, playerId, message): return host.sgl_sendTextMessage(playerId, 10, 1, message, 0) # def sendMessage2Player(self, playerId, channel, type, message): return host.sgl_sendTextMessage(playerId, channel, type, message, 0) def getTicketState(self, team): return host.sgl_getParam('ticketState', team, 0)
def onCommander(teamid, oldCommanderPlayerObject, player): global OLDSCHOOL_LEVEL if OLDSCHOOL_LEVEL != 0: global ANTICOMMANDER if ANTICOMMANDER: #yeap. Double check. Unfortunately DICE forgot to implement host.UNregisterHandler... And this is the only way to disable anticommander (and other) 'on the fly' by using remote rcon command. Sorry :P global COMMANDER_AUTOKICK if COMMANDER_AUTOKICK == 1: global COMMANDER_KICK_MSG, COMMANDER_KICK_REASON, COMMANDER_KICK_TIME_IN_MINUTES host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_KICK_MSG) % (player.getName()), 0) host.rcon_invoke("pb_sv_kick \""+str(player.getName())+"\" "+str(COMMANDER_KICK_TIME_IN_MINUTES)+" \""+str(COMMANDER_KICK_REASON)+"\"") else: global COMMANDER_MSG host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0)
def sendServerMessage(self, playerId, message): return host.sgl_sendTextMessage(playerId, 10, 1, message) def getTicketState(self, team): return host.sgl_getParam('ticketState', team, 0)
def sendServerMessage(self, playerId, message): return host.sgl_sendTextMessage(playerId, 10, 1, message, 0)
def onCommander(teamid, oldCommanderPlayerObject, player): global OLDSCHOOL_LEVEL if (OLDSCHOOL_LEVEL != 0): global ANTICOMMANDER if ( ANTICOMMANDER ): #yeap. Double check. Unfortunately DICE forgot to implement host.UNregisterHandler... And this is the only way to disable anticommander (and other) 'on the fly' by using remote rcon command. Sorry :P global COMMANDER_AUTOKICK if (COMMANDER_AUTOKICK == 1): global COMMANDER_KICK_MSG, COMMANDER_KICK_REASON, COMMANDER_KICK_TIME_IN_MINUTES host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_KICK_MSG) % (player.getName()), 0) host.rcon_invoke("pb_sv_kick \"" + str(player.getName()) + "\" " + str(COMMANDER_KICK_TIME_IN_MINUTES) + " \"" + str(COMMANDER_KICK_REASON) + "\"") else: global COMMANDER_MSG host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0) host.sgl_sendTextMessage( 0, 12, 1, str(COMMANDER_MSG) % (player.getName()), 0)
def warnPlayer(self, playerName, text, playerId=-1): msg = ("\n" * self.__ruleWarnNewlines) + playerName + ": " + text # TODO: Add timer for duration. Currently message is shown ~4 seconds host.sgl_sendTextMessage(0, 12, 4, msg, 0) if self.__showRuleWarnBlur and playerId > -1: host.sgl_sendGameLogicEvent(playerId, 13, 1)