Alanchick
Новичок
Доброго времени суток, Ув. пользователи портала P-I.
Думаю по названию не сложно догадаться что делает эта функция, но все же...
С помощью нее Вы можете давать скин игроку на время, по истечению которого
ему возвращается старый скин.
Не буду много писать, а сразу перейду к коду, собственно вот он:
Думаю по названию не сложно догадаться что делает эта функция, но все же...
С помощью нее Вы можете давать скин игроку на время, по истечению которого
ему возвращается старый скин.
Не буду много писать, а сразу перейду к коду, собственно вот он:
PHP:
stock SetPlayerTimeSkin(playerid, skin, time)
{
if(time < 1)
return false;
SetTimerEx("OnTimeToSkinFinished", time*1000, false, "ii", playerid, GetPlayerSkin(playerid));
return SetPlayerSkin(playerid, skin);
}
forward OnTimeToSkinFinished(playerid, old_skin);
public OnTimeToSkinFinished(playerid, old_skin)
{
SetPlayerSkin(playerid, old_skin);
}
PHP:
CMD:setskin(playerid, params[])
{
new targetid,
newskin,
time;
if(sscanf(params, "ddD(180)", targetid, newskin, time))
return SendClientMessage(playerid, -1, !"Введите /setskin [ID игрока] [ID скина] [время]");
if(newskin < 1 || newskin == 74 || newskin > 311)
return SendClientMessage(playerid, -1, !"Недопустимый ID скина!");
if(!IsPlayerConnected(targetid))
return SendClientMessage(playerid, -1, !"Игрок оффлайн!");
if(time < 10 || time > 180)
return SendClientMessage(playerid, -1, !"Время не может быть меньше 10 и более 180 секунд!");
SetPlayerTimeSkin(targetid, newskin, time);
return true;
}
(По секрету: если время не будет указано в команде, то оно по стандарту выставится как 180 секунд (3 минуты))
На этом у меня все.
Можно сказать два в одном. И функция, и команда.
Жду адекватной критики.
Автор: Alanchick (я)
Да сойдет же голова с плеч у того,
кто посмеет скопировать тему на другой
портал без указания автора, аминь.
кто посмеет скопировать тему на другой
портал без указания автора, аминь.
Последнее редактирование:
