plugins/basecommands.sp
changeset 917 2a9cf4e74620
parent 913 7c62d3c5d829
child 918 d498a233accf
     1.1 --- a/plugins/basecommands.sp	Thu Jun 07 18:50:52 2007 +0000
     1.2 +++ b/plugins/basecommands.sp	Thu Jun 07 21:24:29 2007 +0000
     1.3 @@ -35,8 +35,49 @@
     1.4  
     1.5  public OnPluginStart()
     1.6  {
     1.7 -	LoadTranslations("core.cfg");
     1.8 +	LoadTranslations("common.cfg");
     1.9  	RegAdminCmd("sm_kick", Command_Kick, ADMFLAG_KICK, "sm_kick <#userid|name> [reason]");
    1.10 +	RegAdminCmd("sm_map", Command_Map, ADMFLAG_CHANGEMAP, "sm_map <map>");
    1.11 +}
    1.12 +
    1.13 +public Action:Command_Map(client, args)
    1.14 +{
    1.15 +	if (args < 1)
    1.16 +	{
    1.17 +		ReplyToCommand(client, "[SM] Usage: sm_map <map>");
    1.18 +		return Plugin_Handled;
    1.19 +	}
    1.20 +	
    1.21 +	new String:map[64];
    1.22 +	GetCmdArg(1, map, sizeof(map));
    1.23 +	
    1.24 +	if (!IsMapValid(map))
    1.25 +	{
    1.26 +		ReplyToCommand(client, "[SM] %t", "Map was not found", map);
    1.27 +		return Plugin_Handled;
    1.28 +	}
    1.29 +	
    1.30 +	LogMessage("\"%L\" changed map to \"%s\"", client, map);
    1.31 +	ShowActivity(client, "%t", "Changing map", map);
    1.32 +	ReplyToCommand(client, "%t", "Changing map", map);
    1.33 +	
    1.34 +	new Handle:dp
    1.35 +	CreateDataTimer(3.0, Timer_ChangeMap, dp);
    1.36 +	WritePackString(dp, map);
    1.37 +	
    1.38 +	return Plugin_Handled;
    1.39 +}
    1.40 +
    1.41 +public Action:Timer_ChangeMap(Handle:timer, Handle:dp)
    1.42 +{
    1.43 +	new String:map[65];
    1.44 +	
    1.45 +	ResetPack(dp);
    1.46 +	ReadPackString(dp, map, sizeof(map));
    1.47 +	
    1.48 +	ServerCommand("changelevel \"%s\"", map);
    1.49 +	
    1.50 +	return Plugin_Stop;
    1.51  }
    1.52  
    1.53  public Action:Command_Kick(client, args)
    1.54 @@ -86,7 +127,7 @@
    1.55  		ServerCommand("kickid %d \"%s\"", userid, reason);
    1.56  	}
    1.57  	
    1.58 -	ReplyToCommand(client, "[SM] Client \"%s\" kicked.", name);
    1.59 +	ReplyToCommand(client, "[SM] %t", "Client kicked", name);
    1.60  	
    1.61  	return Plugin_Handled;
    1.62  }