30.01.2019, 10:49
Yes, it formats only once now. But you still declare variables or get the name of weapon before checking if the weapon is valid. Notice how I placed them inside the allowed weapons:
Another alternative is `GameTextForAll` function so you will only have to give weapon in the foreach loop.
pawn Код:
CMD:fight(playerid, params[])
{
new wep_id;
if (sscanf(params, "d", wep_id)) return SCM(playerid, COLOR_GREEN, "* [USAGE]: /fight [weapon id]");
switch (wep_id)
{
case 2..13, 15, 16, 18, 22..39, 41, 42:
{
new string[32], gunname[19];
GetWeaponName(wep_id, gunname, sizeof(gunname));
format(string, sizeof(string), "~g~%s ~w~fight!", gunname);
foreach(new i: Player)
{
GivePlayerWeapon(i, wep_id, 9999);
GameTextForPlayer(i, string, 3000, 4);
}
}
default:
{
SCM(playerid, COLOR_RED, "* Invalid weapon ID.");
}
}
return 1;
}