changeset 9612:dbe1767b17a7 draft

(svn r13665) -Fix[FS#2119]: Wrong PlayerID used for sending a message to.Patch by Yexo
author belugas <belugas@openttd.org>
date Mon, 30 Jun 2008 16:59:35 +0000
parents 8ac3cfc62291
children 1fbe30ff6587
files src/console_cmds.cpp
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/console_cmds.cpp
+++ b/src/console_cmds.cpp
@@ -1184,15 +1184,16 @@
 
 	if (argc != 3) return false;
 
-	if (atoi(argv[1]) < 1 || atoi(argv[1]) > MAX_PLAYERS) {
+	PlayerID player_id = (PlayerID)(atoi(argv[1]) - 1);
+	if (!IsValidPlayer(player_id) || !GetPlayer(player_id)->is_active) {
 		IConsolePrintF(CC_DEFAULT, "Unknown player. Player range is between 1 and %d.", MAX_PLAYERS);
 		return true;
 	}
 
 	if (!_network_server) {
-		NetworkClientSendChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, atoi(argv[1]), argv[2]);
+		NetworkClientSendChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, player_id, argv[2]);
 	} else {
-		NetworkServerSendChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX);
+		NetworkServerSendChat(NETWORK_ACTION_CHAT_COMPANY, DESTTYPE_TEAM, player_id, argv[2], NETWORK_SERVER_INDEX);
 	}
 
 	return true;