Цитата:
Код:
CMD:setplayerskin(playerid, params[])
{
new skin[256];
if(!AcceptWrite(playerid)) return 1;
if(pData[playerid][IsAdmin] <= 9) return 1;
if(sscanf(params, "d",params[0],params[1])) return SendClientMessage(playerid, COLOR_WHITE, " Введите: /setplayerskin [id] [skin_ID]");
if(params[0] > 311 || params[0] < 1) return SendClientMessage(playerid, COLOR_GREY," ID может быть от 1 до 311");
if(IsPlayerConnected(params[0]))
{
pInfo[playerid][params[0]][Skin] = params[1];
format(skin,sizeof(skin), "Ваш скин был изменен игроком %s ", getName(playerid);
SendMes(params[0], 0x6ab1ffaa, skin);
format(skin,sizeof(skin), "Вы изменили скин %s на номер: %d.", getName(playerid),params[1]);
SendMes(playerid, 0x6ab1ffaa, skin);
SetPlayerSkin(params[0], pInfo[params[0]][Skin]);
return true;
}
return 1;
}
ALT:setplayerskin:spskin;
возможно что то не доделал
Зачем форматировать функцию два раза? Если SendMes и так форматирует.
Код:
[code]CMD:setplayerskin(playerid, params[])
{
if(!AcceptWrite(playerid)) return 1;
if(pData[playerid][IsAdmin] <= 9) return 1;
if(sscanf(params, "d",params[0],params[1])) return SendClientMessage(playerid, COLOR_WHITE, " Введите: /setplayerskin [id] [skin_ID]");
if(params[0] > 311 || params[0] < 1) return SendClientMessage(playerid, COLOR_GREY," ID может быть от 1 до 311");
pInfo[playerid][params[0]][Skin] = params[1];
SendMes(playerid, 0x6ab1ffaa, " Вы изменили скин %s на номер: %d.", getName(playerid),params[1]);
SetPlayerSkin(params[0], pInfo[params[0]][Skin]);
return true;
}
ALT:setplayerskin:spskin;
[/code]
Проверка на находимость его на сервере не требуется, так как она идет в AcceptWrite.
Игроку которому изменяют скин не пишет про смену скина. (Видел в админ разделе Samp-Rp как админ писал про это, когда ему IBankov менял скин)