Нажмите сюда, чтобы прочитать это сообщение. [Показать]
Review:
/*
при компиляции у нас ошибки такие как
error 017: undefined symbol "Account"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
*/
cmd:setprefix(playerid,params[])
{
/*
-1 = лучше не использовать, магическое число.
NO_DOSTUP - не понятный define, new, const, static const. Уже ошибка что нету такого.
*/
if(sscanf(params, "ds[36]", params[0], params[1]))return SendClientMessage(playerid, -1, "{ffffff}Используйте: {c3c3c3}/setprefix [playerid] [prefix]");
if(Account[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,NO_DOSTUP);
SetPlayerPrefix(params[0],params[1]);
return 1;
}
cmd:removeprefix(playerid,params[])
{
/*
-1 = лучше не использовать, магическое число.
NO_DOSTUP - не понятный define, new, const, static const. Уже ошибка что нету такого.
*/
if(sscanf(params, "d", params[0]))return SendClientMessage(playerid, -1, "{ffffff}Используйте: {c3c3c3}/removetprefix [playerid]");
if(Account[playerid][pAdmin] < 2) return SendClientMessage(playerid,-1,NO_DOSTUP);
RemovePlayerPrefix(params[0]);
return 1;
}
public SetPlayerPrefix(player,prefix[])
{
/*
лучше перед prefix в аргументах(атрибутах) поставить const, так как у многих может быть проблемы с конст корректностью
new p_prefix[256]; - 256 - магическое число, лучше написать:
const PREFIX_STRING = 256;
new p_prefix[PREFIX_STRING];
strcat(p_prefix, prefix, PREFIX_STRING);
*/
new p_prefix[256];
strcat(p_prefix,prefix,256);
strcat(Account[player][pPrefix],p_prefix,sizeof(p_prefix));
return 1;
}
public RemovePlayerPrefix(player)
{
Account[player][pPrefix] = EOS;
return 1;
}
/* Код реально надо оптимизировать, тут без этого не обойтись. Review by @tape_web */