- Регистрация
- 28 Сен 2013
- Сообщения
- 752
- Лучшие ответы
- 4
- Репутация
- 166
/setskin
Устанавливает скин игроку с возможностью выбора, постоянный или временный скин с поддержкой MySQL и 0.3DL скинов.
Зависимости:
Параметры:
Код:
Устанавливает скин игроку с возможностью выбора, постоянный или временный скин с поддержкой MySQL и 0.3DL скинов.
Зависимости:
- Любой командный процессор имеющий синтаксис ZCMD [DC_CMD | iZCMD, Pawn.CMD (если будете использовать флаги)]
- sscanf 2.8.2 и выше
- MySQL R40+
Параметры:
PHP:
player_id, modelid, is_tmp
- player_id - ID игрока, которому будет изменятся скин
- modelid - ID скина, который заменит нынешний скин (От 1 до 311, кроме 74)
- is_tmp - необязательный параметр (по стандарту - 1), который обозначает постоянный скин (0) (с записью в бд) или временный (1) (без записи)
Код:
PHP:
flags:setskin(/* Ваш флаг уровня администратора */);
/* Если не используете флаги - удалите строчку выше */
CMD:setskin(playerid, params[])
{
if(!/* переменная отвечающая за админку */)
return SendClientMessage(playerid, -1, "{FF0000}Ошибка: {F6F6F6}Команда доступна только администратору.");
if(/* переменная отвечающая за админку */ < /* требуемый уровень админки для выполнения команды */)
return SendClientMessage(playerid, -1, "{FF0000}Ошибка: {F6F6F6}Недостаточный уровень администратора, для использования команды.");
/* Если используете флаги - уберите выше обе проверки на админку и уровень администратора */
extract params -> new player:targetid, modelid, is_tmp = 1; else
return SendClientMessage(playerid, -1, "{FF9900}Используйте: {F6F6F6}/setskin [playerid] [modelid] {временный (1)/постоянный (0)}");
if(targetid == INVALID_PLAYER_ID)
return SendClientMessage(playerid, -1, "{FF0000}Ошибка: {F6F6F6}Неверный ID игрока.");
#if defined GetPlayerCustomSkin
if(!(1 <= modelid <= 311) || modelid == 74 || !(20_000 <= modelid <= 30_000))
return SendClientMessage(playerid, -1, "{FF0000}Ошибка: {F6F6F6}Неверный ID скина. Диапазон: 1 - 311 или 20000 - 30000, кроме 74.");
#else
if(!(1 <= modelid <= 311) || modelid == 74)
return SendClientMessage(playerid, -1, "{FF0000}Ошибка: {F6F6F6}Неверный ID скина. Диапазон: 1 - 311, кроме 74.");
#endif
/* измените на вашу переменную скина */ = modelid;
if(!is_tmp)
{
#if !defined TABLE_ACCOUNTS
#define TABLE_ACCOUNTS "accounts" /* таблица с аккаунтами */
#endif
#if !defined COLUMN_SKIN
#define COLUMN_SKIN "skin" /* столбец отвечающий за скин */
#endif
#if !defined COLUMN_ID
#define COLUMN_ID "id" /* столбец отвечающий за ID игрока в базе */
#endif
static const save_skin_query[] = "UPDATE "TABLE_ACCOUNTS" SET "COLUMN_SKIN" = %d WHERE "COLUMN_ID" = %d";
new save_skin_str[sizeof(save_skin_query) + ((-2 * 2) + 3 + MAX_PLAYER_NAME) +1];
format
(
save_skin_str, sizeof(save_skin_str),
save_skin_query,
/* измените на вашу переменную скина */,
/* замените на свою переменную ID игрока, пример *PlayerInfo[playerid][pID]* */
);
mysql_query(/* переменная подключения MySQL */, save_skin_str, false);
}
SetPlayerSkin(playerid, /* измените на вашу переменную скина */);
new player_name[MAX_PLAYER_NAME +1];
GetPlayerName(targetid, player_name, sizeof(player_name));
static const set_skin[] = "{87CEEB}Выполнено: {F6F6F6}Вы установили игроку {FF9900}%s[%d] {FFFF00}%s {F6F6F6}скин под номером {FF9900}%d{F6F6F6}.";
new str[sizeof(set_skin) + ((-2 * 4) + sizeof(player_name) + 4 + 10 + 3) +1];
format(str, sizeof(str), set_skin, player_name, targetid, is_tmp ? ("временный") : ("постоянный"), modelid);
SendClientMessage(playerid, -1, str);
return 1;
}
Последнее редактирование: