REP+ -
Filbert - 16.01.2018
PHP код:
CMD:a(playerid, params[]) {
new string[128], Msg[128], pName[24];
GetPlayerName(playerid, pName, sizeof(pName));
if(PlayerInfo[playerid][Level] >= 1)
{
if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /a <Text>");
if(PlayerInfo[playerid][Level] == 1)
{
format(string, 128, "[Basic Moderator] {00FC00}%s: %s", pName(playerid), params); <<<<<<======== Error Line (2244)
MessageToAdmins(newblue1, string);
format(Msg, 128, "7[Basic Moderator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 2)
{
format(string, 128, "[Moderator] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_GREEN, string);
format(Msg, 128, "7[Moderator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 3)
{
format(string, 128, "[Master Moderator] {00FF00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_YELLOW, string);
format(Msg, 128, "11[Master Moderator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 4)
{
format(string, 128, "[Administrator] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_ORANGE, string);
format(Msg, 128, "11[Administrator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 5)
{
format(string, 128, "[Senior Admin] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(blue1, string);
format(Msg, 128, "12[Senior Admin] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 6)
{
format(string, 128, "[Elite Admin] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_Silver, string);
format(Msg, 128, "12[Elite Admin] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 7)
{
format(string, 128, "[General] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(red, string);
format(Msg, 128, "4[General] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 8)
{
format(string, 128, "[Director] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(Color_Major_Elite1, string);
format(Msg, 128, "69[Director] 9%s: %s", pName(playerid), params);
}
} else return SendClientMessage(playerid, red, "ERROR: You need to be administrator to use this command");
return 1;
}
Код:
D:\Data\GTA\NZTDM\Gamemodes\NZTDM-1.pwn(2237) : warning 219: local variable "pName" shadows a variable at a preceding level
D:\Data\GTA\NZTDM\Gamemodes\NZTDM-1.pwn(2244) : error 012: invalid function call, not a valid address
D:\Data\GTA\NZTDM\Gamemodes\NZTDM-1.pwn(2244) : warning 215: expression has no effect
D:\Data\GTA\NZTDM\Gamemodes\NZTDM-1.pwn(2244) : error 001: expected token: ";", but found ")"
D:\Data\GTA\NZTDM\Gamemodes\NZTDM-1.pwn(2244) : error 029: invalid expression, assumed zero
D:\Data\GTA\NZTDM\Gamemodes\NZTDM-1.pwn(2244) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
4 Errors.
Re: REP+ -
KayJ - 16.01.2018
Show or highlight those lines in the code.
Re: REP+ -
Daveosss - 16.01.2018
Try this:
PHP код:
stock pName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
return name;
}
CMD:a(playerid, params[])
{
new string[128], Msg[128];
if(PlayerInfo[playerid][Level] >= 1)
{
if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /a <Text>");
if(PlayerInfo[playerid][Level] == 1)
{
format(string, 128, "[Basic Moderator] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(newblue1, string);
format(Msg, 128, "7[Basic Moderator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 2)
{
format(string, 128, "[Moderator] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_GREEN, string);
format(Msg, 128, "7[Moderator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 3)
{
format(string, 128, "[Master Moderator] {00FF00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_YELLOW, string);
format(Msg, 128, "11[Master Moderator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 4)
{
format(string, 128, "[Administrator] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_ORANGE, string);
format(Msg, 128, "11[Administrator] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 5)
{
format(string, 128, "[Senior Admin] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(blue1, string);
format(Msg, 128, "12[Senior Admin] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 6)
{
format(string, 128, "[Elite Admin] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(COLOR_Silver, string);
format(Msg, 128, "12[Elite Admin] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 7)
{
format(string, 128, "[General] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(red, string);
format(Msg, 128, "4[General] 9%s: %s", pName(playerid), params);
}
else if(PlayerInfo[playerid][Level] == 8)
{
format(string, 128, "[Director] {00FC00}%s: %s", pName(playerid), params);
MessageToAdmins(Color_Major_Elite1, string);
format(Msg, 128, "69[Director] 9%s: %s", pName(playerid), params);
}
} else return SendClientMessage(playerid, red, "ERROR: You need to be administrator to use this command");
return 1;
}
Re: REP+ -
jasperschellekens - 16.01.2018
pName is shadowing a local variable, which means this is used globally in your script elsewhere.
The error message explains this literally: local variable "pName" shadows a variable at a preceding level.
Change pName to something else.
for example: GetName(playerid);
PHP код:
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
Re: REP+ -
Inn0cent - 16.01.2018
PHP код:
CMD:a(playerid, params[]) {
new string[128], Msg[128];
GetPlayerName(playerid, pName, sizeof(pName));
if(PlayerInfo[playerid][Level] >= 1)
{
if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /a <Text>");
if(PlayerInfo[playerid][Level] == 1)
{
format(string, 128, "[Basic Moderator] {00FC00}%s: %s", pName, params); <<<<<<======== Error Line (2244)
MessageToAdmins(newblue1, string);
format(Msg, 128, "7[Basic Moderator] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 2)
{
format(string, 128, "[Moderator] {00FC00}%s: %s", pName, params);
MessageToAdmins(COLOR_GREEN, string);
format(Msg, 128, "7[Moderator] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 3)
{
format(string, 128, "[Master Moderator] {00FF00}%s: %s", pName, params);
MessageToAdmins(COLOR_YELLOW, string);
format(Msg, 128, "11[Master Moderator] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 4)
{
format(string, 128, "[Administrator] {00FC00}%s: %s", pName, params);
MessageToAdmins(COLOR_ORANGE, string);
format(Msg, 128, "11[Administrator] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 5)
{
format(string, 128, "[Senior Admin] {00FC00}%s: %s", pName, params);
MessageToAdmins(blue1, string);
format(Msg, 128, "12[Senior Admin] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 6)
{
format(string, 128, "[Elite Admin] {00FC00}%s: %s", pName, params);
MessageToAdmins(COLOR_Silver, string);
format(Msg, 128, "12[Elite Admin] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 7)
{
format(string, 128, "[General] {00FC00}%s: %s", pName, params);
MessageToAdmins(red, string);
format(Msg, 128, "4[General] 9%s: %s", pName, params);
}
else if(PlayerInfo[playerid][Level] == 8)
{
format(string, 128, "[Director] {00FC00}%s: %s", pName, params);
MessageToAdmins(Color_Major_Elite1, string);
format(Msg, 128, "69[Director] 9%s: %s", pName, params);
}
} else return SendClientMessage(playerid, red, "ERROR: You need to be administrator to use this command");
return 1;
}
Re: REP+ -
kingmk - 16.01.2018
Use this.
Код:
CMD:a(playerid, params[]) {
new string[128], Msg[128], stringName[24];
GetPlayerName(playerid, stringName, sizeof(stringName));
if(PlayerInfo[playerid][Level] >= 1)
{
if(isnull(params)) return SendClientMessage(playerid, red, "USAGE: /a <Text>");
if(PlayerInfo[playerid][Level] == 1)
{
format(string, 128, "[Basic Moderator] {00FC00}%s: %s", stringName, params); <<<<<<======== Error Line (2244)
MessageToAdmins(newblue1, string);
format(Msg, 128, "7[Basic Moderator] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 2)
{
format(string, 128, "[Moderator] {00FC00}%s: %s", stringName, params);
MessageToAdmins(COLOR_GREEN, string);
format(Msg, 128, "7[Moderator] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 3)
{
format(string, 128, "[Master Moderator] {00FF00}%s: %s", stringName, params);
MessageToAdmins(COLOR_YELLOW, string);
format(Msg, 128, "11[Master Moderator] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 4)
{
format(string, 128, "[Administrator] {00FC00}%s: %s", stringName, params);
MessageToAdmins(COLOR_ORANGE, string);
format(Msg, 128, "11[Administrator] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 5)
{
format(string, 128, "[Senior Admin] {00FC00}%s: %s", stringName, params);
MessageToAdmins(blue1, string);
format(Msg, 128, "12[Senior Admin] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 6)
{
format(string, 128, "[Elite Admin] {00FC00}%s: %s", stringName, params);
MessageToAdmins(COLOR_Silver, string);
format(Msg, 128, "12[Elite Admin] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 7)
{
format(string, 128, "[General] {00FC00}%s: %s", stringName, params);
MessageToAdmins(red, string);
format(Msg, 128, "4[General] 9%s: %s", stringName, params);
}
else if(PlayerInfo[playerid][Level] == 8)
{
format(string, 128, "[Director] {00FC00}%s: %s", stringName, params);
MessageToAdmins(Color_Major_Elite1, string);
format(Msg, 128, "69[Director] 9%s: %s", stringName, params);
}
} else return SendClientMessage(playerid, red, "ERROR: You need to be administrator to use this command");
return 1;
}
You need to decide. Or u use
Код:
new stringName[24];
GetPlayerName(playerid, stringName, sizeof(stringName));
on every local script, or u can create a pName stock in global
Код:
stock pName(playerid) // pName or whatever u want to call your stock to use it.
{
new stringName[24];
GetPlayerName(playerid, stringName, sizeof(stringName));
return stringName;
}
then u can use it everywhere.
But u can't use both methods with same names function-string!
I hope u undestood.