.pwn(1591) : error 017: undefined symbol "Playername" .pwn(1598) : error 017: undefined symbol "Playername" .pwn(1605) : error 017: undefined symbol "Playername" .pwn(1612) : error 017: undefined symbol "Playername" .pwn(1620) : warning 217: loose indentation Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
CMD:admins(playerid, params[])
{
new admins[128];
if(IsPlayerConnected(playerid))
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][AdminLevel] == 1)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{0000A0}Moderator: {FFFFFF}%s\n", Playername(i));
strcat(admins, adminstring);
}
else if(PlayerInfo[i][AdminLevel] == 2)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{0000A0}Administrator: {FFFFFF}%s\n", Playername(i));
strcat(admins, adminstring);
}
else if(PlayerInfo[i][AdminLevel] == 3)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{0000A0}Management: {FFFFFF}%s\n", Playername(i));
strcat(admins, adminstring);
}
else if(PlayerInfo[i][AdminLevel] == 4)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{FF0000}Owner: {FFFFFF}%s\n", Playername(i));
strcat(admins, adminstring);
}
}
}
ShowPlayerDialog(playerid,1359,DIALOG_STYLE_MSGBOX,"{FF3300}Admins Online",admins,"Ok","");
}
else return SendClientMessage(playerid,-1,"No admins online.");
return 1;
}
CMD:admins(playerid, params[])
{
new admins[128], _name[MAX_PLAYER_NAME];
if(IsPlayerConnected(playerid))
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
GetPlayerName(i, _name, sizeof _name);
if(PlayerInfo[i][AdminLevel] == 1)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{0000A0}Moderator: {FFFFFF}%s\n", _name);
strcat(admins, adminstring);
}
else if(PlayerInfo[i][AdminLevel] == 2)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{0000A0}Administrator: {FFFFFF}%s\n", _name);
strcat(admins, adminstring);
}
else if(PlayerInfo[i][AdminLevel] == 3)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{0000A0}Management: {FFFFFF}%s\n", _name);
strcat(admins, adminstring);
}
else if(PlayerInfo[i][AdminLevel] == 4)
{
new adminstring[256];
format(adminstring, sizeof(adminstring),"{FF0000}Owner: {FFFFFF}%s\n", _name);
strcat(admins, adminstring);
}
}
}
ShowPlayerDialog(playerid,1359,DIALOG_STYLE_MSGBOX,"{FF3300}Admins Online",admins,"Ok","");
}
else return SendClientMessage(playerid,-1,"No admins online.");
return 1;
}
stock Playername(playerid)
{
new Name[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, Name, MAX_PLAYER_NAME + 1);
return Name;
}
Add this to your script:
pawn Код:
|
You don't need "+ 1" the point of "MAX_PLAYER_NAME" is that it is the maximum (that being the meaning of "MAX") that the variable needs to be. You are explicitly declaring a variable as bigger than it ever needs to be.
|
public OnPlayerConnect(playerid)
{
new set_name[] = "123456789012345678901234";
SetPlayerName(playerid, set_name);
printf("Setting name length: %i", strlen(set_name));
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
printf("GetPlayerName: %s (%i)", name, strlen(name));
return 1;
}
new set_name[] = "123456789012345678901234";
printf("Len: %i", sizeof(set_name));
new set_name[24] = "123456789012345678901234";
new set_name[24];
format(set_name, sizeof(set_name), "123456789012345678901234");
print(set_name);