|
Originally Posted by Don Correlli
|
if(strcmp("/ad", cmdtext, true, 3) == 0)
{
new PlayerMoney;
PlayerMoney = GetPlayerMoney(playerid);
if(PlayerMoney >= 500)
{
if(cmdtext[3] == 0)
{
SendClientMessage(playerid, COLOR_RED, "Usage: /ad [advertising]");
return 1;
}
new string[128];
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, PlayerMoney -500);
format(string, sizeof(string), "%s (ID: %d) is advertising: %s", PlayerName, playerid, cmdtext[4]);
SendClientMessageToAll(COLOR_RED, string);
return 1;
}
return 1;
}
(513) : warning 219: local variable "string" shadows a variable at a preceding level
new string[128];
|
Originally Posted by Don Correlli
It's warning and not error. You have "string" already defined somewhere in your script.
Just delete: pawn Код:
|
new cmd[128], tmp[128], name[MAX_PLAYER_NAME], str[128], idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/ad", true) == 0)
{
tmp = bigstrtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, color, "Usage: /ad [message]");
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(str, sizeof str, "[ADVERTISMENT] %s: %s", name, tmp);
SendClientMessageToAll(color, str);
return 1;
}
public OnPlayerCommandText
new cmd[128], idx;
cmd = strtok(cmdtext, idx);
if (strcmp(cmd, "/ad", true)==0)
{
new tmp[128];
tmp = strtok(cmdtext, idx);
if (strlen(tmp)==0) return SendClientMessage(playerid, 0xFF0000AA, "USAGE: /ad (text)"); // 0xFF0000AA is Red
new adstring[128], pname[24];
format(adstring, sizeof(adstring), "ADVERTISEMENT: %s, contact: %s [%i]", tmp, pname, (playerid));
SendClientMessageToAll(0xFFFF00AA, adstring); // 0xFFFF00AA is yellow
//GivePlayerMoney(playerid, -5) ;
//GameTextForPlayer(playerid, "~r~-$5", 1500, 1);
// remove the //'s from in front of the two lines above this if you want it to cost the player $5 to advertise
}
just copy and paste that at the top of your "OnPlayerCommandText"stock strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}