Quote:
Originally Posted by Johhnyllll
Была одна тема на форуме, парень просил какую-то команду...
На что я сделал замечаниЕ:
И дал ему такой код:
PHP Code:
CMD:gun(playerid,params[]){
if(p_info[playerid][p_admin] < 1) return true;
if(sscanf(params,"udd",params[0],params[1],params[2])) return SendClientMessage(playerid,-1, "[Справка]: Используйте /gun [ID игрока] [ID оружия] [количество патронов]");
GivePlayerWeapon(params[0],params[1],params[2]);
new mes[88];
format(mes, sizeof(mes),"[A] %s[%d] выдал оружие %s",Name(playerid),playerid,params[0]);
Message_ToAdmins(0xA7CB44AA, mes);
return true;
}
PHP Code:
stock Message_ToAdmins(color, const fmat[], va_args<>)
{
foreach(new i : Player)
if (p_info[i][p_admin] >= 1)
SendClientMessage(i, color, va_return(fmat, va_start<2>));
}
И ссылка на Pawn.CMD
На что мне сделали указание мол в 2к17 уже пишут примерно такой код:
PHP Code:
if(!strcmp(cmdtext, "/ip", true))
{
if(PI[playerid][Admin] < 1)//заменяйте на свою переменную админки
return true;
extract params -> new plid; else
return SendClientMessage(playerid, -1, !"- Подсказка: /ip [ID]");
if(!IsPlayerConnected(plid))
return SendClientMessage(playerid, -1, !"Такого игрока нет");
new
ip[16], name[MAX_PLAYER_NAME];
GetPlayerIp(plid, ip, sizeof ip);
GetPlayerName(plid, name, sizeof name);
static const
fmt_str[] = "Ник: [%s] IP: [%s]";
new
string[sizeof fmt_str + (-2+MAX_PLAYER_NAME) + (-2+16)];
format(string, sizeof(string), fmt_str, name, ip);
SendClientMessage(playerid, -1, string);
return true;
}
Вопросы:
На сколько ли это актуально?
Есть-ли какая-то разница между ними? (скорость, память и т.п)
Стоит ли придержоваться второго варианта?
|
В одном коде (твоём):
* компактность
* ЕРЕСЬ, СЖЕЧЬ
PHP Code:
sscanf(params,"udd",[b]params[0][/b],[b]params[1][/b],[b]params[2][/b])
* занимаешься сраной обфускацией попытками экономить на памяти - ты же человеку помогать собрался, а не трахать ему мозг?
> Я знаю тех, кто всерьёз застрял в 90х годах, когда памяти не было и быдлят по поводу того, что человек для этого sscanf-a выделил специальные переменные, имеющие осмысленное название.
В 3-м варианте:
* все пункты твоего варианта, только наоборот, но...
* ПРИЗЫВАЮТ ПРОЛЕТАРИЕВ ВСЕХ СТРАН ЭКОНОМИТЬ НА ЯЧЕЙКАХ В КРАЙНЕ-ОБОСТРЕННОЙ ФОРМЕ.
* Вопрос: ты пишешь, что предлагают Pawn.CMD, НО...
я может отстал от жизни, но если его использовать, то о
PHP Code:
if(!strcmp(cmdtext, "/ip", true))
не может быть и речи, WTF?!
> в 2к16 писать 2к17
> ПРАВИЛЬНО ПИСАТЬ M3.016 и M3.017!
p.s. комментарий выше тоже к делу