28.07.2010, 03:15
what is this!
error 033: array must be indexed (variable "playername")
error 033: array must be indexed (variable "playername")
playername = ReturnUser(tmp);
//==============================================================================
if(strcmp(cmd, "/tempban", true) == 0)
{
new playername[MAX_PLAYER_NAME];
new adminname[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][Level] >= 4)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, red, "Usage: /tempban [PlayerID] [Day(s)] [Reason]");
SendClientMessage(playerid, green, "Function: Temporarily bans a player for specified Days");
return 1;
}
new string[128];
playername = ReturnUser(tmp);
if(IsPlayerConnected(playername))
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp))
{
SendClientMessage(playerid, red, "Usage: /tempban [PlayerID] [Day(s)] [Reason]");
SendClientMessage(playerid, green, "Function: Temporarily bans a player for specified Days");
return 1;
}
new days = strval(tmp);
if(!IsNumeric(tmp))
return SendClientMessage(playerid, red, "ERROR: Invalid Day! Only Numbers!");
if(strval(tmp) <= 0 || strval(tmp) > 1000)
return SendClientMessage(playerid, red, "ERROR: Invalid Day! (1-1000)");
new reason[128];
reason = strtok2(cmdtext,idx);
if (!strlen(reason))
return SendClientMessage(playerid, red, "ERROR: Reason not Specified!");
if (strlen(reason) <= 0 || strlen(reason) > 100)
return SendClientMessage(playerid, red, "ERROR: Invalid Reason length!");
new ip[15];
GetPlayerIp(playername,ip,15);
GetPlayerName(playerid, playername, sizeof playername);
GetPlayerName(playername, playername, sizeof(playername));
new File:tempban = fopen("ladmin/Config/TempBans", io_append);
if (tempban)
{
new year,month,day;
getdate(year, month, day);
day += days;
if (IsMonth31(month))
{
if (day > 31)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 31) day -= 31;
}
else while(day > 31) day -= 31;
}
}
else if (!IsMonth31(month))
{
if (day > 30)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 30) day -= 30;
}
else while(day > 30) day -= 30;
}
}
else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
{
if (day > 29)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 29) day -= 29;
}
else while(day > 29) day -= 29;
}
}
else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
{
if (day > 28)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 28) day -= 28;
}
else while(day > 28) day -= 28;
}
}
format(string, sizeof string, "%d|%d|%d|%s\n", day, month, year, ip);
fwrite(tempban, string);
fclose(tempban);
}
format(string,128,"Administrator %s Temporarily Banned %s for %d Day(s) | Reason: %s",adminname,playername,days,reason);
SendClientMessageToAll(red,string);
Kick(playername);
format(string, sizeof string, "Admin %s Temporarily Banned %s for %d Day(s) | Reason: %s",adminname,playername,days,reason);
SaveIn("TempBansLog",string);
}
else
{
SendClientMessage(adminname, red, "Player is not connected");
}
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
}
//==============================================================================
(4491) : warning 219: local variable "string" shadows a variable at a preceding level (4492) : error 033: array must be indexed (variable "playername") C(4493) : error 035: argument type mismatch (argument 1) (4518) : error 035: argument type mismatch (argument 1) (4520) : error 035: argument type mismatch (argument 1) (4585) : error 035: argument type mismatch (argument 1) (4592) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 6 Errors.
if(strcmp(cmd, "/tempban", true) == 0)
{
new adminname[MAX_PLAYER_NAME];
if(PlayerInfo[playerid][Level] >= 4)
{
tmp = strtok(cmdtext,idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, red, "Usage: /tempban [PlayerID] [Day(s)] [Reason]");
SendClientMessage(playerid, green, "Function: Temporarily bans a player for specified Days");
return 1;
}
new string[128];
new playername[24];
playername = ReturnUser(tmp);
if(IsPlayerConnected(playername))
{
tmp = strtok(cmdtext, idx);
if (!strlen(tmp))
{
SendClientMessage(playerid, red, "Usage: /tempban [PlayerID] [Day(s)] [Reason]");
SendClientMessage(playerid, green, "Function: Temporarily bans a player for specified Days");
return 1;
}
new days = strval(tmp);
if(!IsNumeric(tmp))
return SendClientMessage(playerid, red, "ERROR: Invalid Day! Only Numbers!");
if(strval(tmp) <= 0 || strval(tmp) > 1000)
return SendClientMessage(playerid, red, "ERROR: Invalid Day! (1-1000)");
new reason[128];
reason = strtok2(cmdtext,idx);
if (!strlen(reason))
return SendClientMessage(playerid, red, "ERROR: Reason not Specified!");
if (strlen(reason) <= 0 || strlen(reason) > 100)
return SendClientMessage(playerid, red, "ERROR: Invalid Reason length!");
new ip[15];
GetPlayerIp(playername,ip,15);
GetPlayerName(playerid, playername, sizeof playername);
GetPlayerName(playername, playername, sizeof(playername));
new File:tempban = fopen("ladmin/Config/TempBans", io_append);
if (tempban)
{
new year,month,day;
getdate(year, month, day);
day += days;
if (IsMonth31(month))
{
if (day > 31)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 31) day -= 31;
}
else while(day > 31) day -= 31;
}
}
else if (!IsMonth31(month))
{
if (day > 30)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 30) day -= 30;
}
else while(day > 30) day -= 30;
}
}
else if (!IsMonth31(month) && IsMonth29(year) && month == 2)
{
if (day > 29)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 29) day -= 29;
}
else while(day > 29) day -= 29;
}
}
else if (!IsMonth31(month) && !IsMonth29(year) && month == 2)
{
if (day > 28)
{
month += 1;
if (month > 12)
{
year += 1;
while(day > 28) day -= 28;
}
else while(day > 28) day -= 28;
}
}
format(string, sizeof string, "%d|%d|%d|%s\n", day, month, year, ip);
fwrite(tempban, string);
fclose(tempban);
}
format(string,128,"Administrator %s Temporarily Banned %s for %d Day(s) | Reason: %s",adminname,playername,days,reason);
SendClientMessageToAll(red,string);
Kick(playername);
format(string, sizeof string, "Admin %s Temporarily Banned %s for %d Day(s) | Reason: %s",adminname,playername,days,reason);
SaveIn("TempBansLog",string);
}
else
{
SendClientMessage(adminname, red, "Player is not connected");
}
} else return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
}
what is this!
error 033: array must be indexed (variable "playername") |
(4518) : error 035: argument type mismatch (argument 2) (4518) : error 035: argument type mismatch (argument 2) (4519) : error 035: argument type mismatch (argument 2) (4519) : error 035: argument type mismatch (argument 2) (4591) : error 035: argument type mismatch (argument 1) Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 5 Errors.
//4518
GetPlayerName(playerid, playername, sizeof playername);
//4519
GetPlayerName(playerid, playername, sizeof(playername));
//4591
SendClientMessage(adminname, red, "Player is not connected");
new playername = ReturnUser(tmp);
lol ok but this is just the line, wont help unless u has all needed, and that is a lot of stuff,
pawn Код:
|
format(playername, sizeof(playername), "%s", ReturnUser(tmp));
ReturnUser returns a string with an indefined size. You can work around that doing something like this:
pawn Код:
|