AlliedModders Donor
Join Date: Dec 2013
Location: 0xA9D0DC
|
05-08-2015
, 12:32
Combining Args
|
#1
|
Is there a better way to display the "giveaway item" as one arg in chat than this?:
PHP Code:
GetCmdArg(1, Arg1, sizeof(Arg1)) GetCmdArg(2, Arg2, sizeof(Arg2)) GetCmdArg(3, Arg3, sizeof(Arg3)) GetCmdArg(4, Arg4, sizeof(Arg4)) Format(Arg1, sizeof(Arg1), "%s %s", Arg1, Arg2); Format(Arg1, sizeof(Arg1), "%s %s", Arg1, Arg3); Format(Arg1, sizeof(Arg1), "%s %s", Arg1, Arg4);
PrintToChatAll("[\x04Giveaway\x01] Giveaway item: \x02%s", Arg1)
Full Code:
PHP Code:
#include <sourcemod> #define PLUGIN_VERSION "1.4"
new Handle:c_clutter;
public Plugin:myinfo = { name = "Giveaway", author = "Addicted", description = "Picks a random client and displays a message.", version = PLUGIN_VERSION, url = "" }
public OnPluginStart() { RegAdminCmd("sm_giveaway", Giveaway , ADMFLAG_ROOT) c_clutter = CreateConVar("sm_ga_tidychat", "0", "Remove excess chat messages.", FCVAR_PLUGIN , true, 0.0, true, 1.0); AutoExecConfig(true, "giveaway") }
public Action:Giveaway(client, args){ new winner = GetRandomPlayer(3); new String:Arg1[32], String:Arg2[32], String:Arg3[32], String:Arg4[32] new clutter = GetConVarInt(c_clutter); if(args <1) { PrintToChat(client, "[\x04Giveaway\x01] Usage: !giveaway <giveaway item>") return Plugin_Handled; } GetCmdArg(1, Arg1, sizeof(Arg1)) GetCmdArg(2, Arg2, sizeof(Arg2)) GetCmdArg(3, Arg3, sizeof(Arg3)) GetCmdArg(4, Arg4, sizeof(Arg4)) Format(Arg1, sizeof(Arg1), "%s %s", Arg1, Arg2); Format(Arg1, sizeof(Arg1), "%s %s", Arg1, Arg3); Format(Arg1, sizeof(Arg1), "%s %s", Arg1, Arg4);
PrintToChatAll("[\x04Giveaway\x01] Giveaway item: \x02%s", Arg1) if(clutter == 0) { PrintToChatAll("--") PrintToChatAll("--") PrintToChatAll("--") PrintToChatAll("--") PrintToChatAll("[\x04Giveaway\x01] \x06Picking random client...\x01") PrintToChatAll("[\x04Giveaway\x01] \x06Found random client...\x01") } PrintToChatAll("[\x04Giveaway\x01] \x06Winner\x01 is \x02%N\x01!", winner)
return Plugin_Continue; }
stock GetRandomPlayer(team) {
new clients[MaxClients+1], clientCount; for (new i = 1; i <= MaxClients; i++) if (IsClientInGame(i) && (GetClientTeam(i) == team)) clients[clientCount++] = i; return (clientCount == 0) ? -1 : clients[GetRandomInt(0, clientCount-1)]; }
Last edited by Addicted.; 05-08-2015 at 12:35.
|
|