Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Статический скин

Статус
В этой теме нельзя размещать новые ответы.

Edwin

Мастер
Искал команду выдачи именно статического скина, то есть такого, который выставляется навсегда, и прикидываете, не нашёл!
Поэтому написал сам, теперь хочу сделать урок по таким скинам.
Начинал с простого:
PHP:
if(strcmp(cmd, "/statskin", true) == 0)
то бишь: "если ввести /statskin".
Дальше ответвляем и делаем функцию. Я сделал проверку на админа, то есть с 4-го уровня смогут ей пользоваться
PHP:
if(PlayerInfo[playerid][pAdmin] >= 4) return SendClientMessage(playerid,COLOR_RED,"У вас нет прав!");
Дальше сделал проверку на правильность введённой команды:
PHP:
tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Подсказка: /statskin [id] [skin]");
		new playaid = strval(tmp);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Подсказка: /statskin [id] [skin]");
Ну и дальше сама функция:
PHP:
new skinid = strval(tmp);
		if(!IsPlayerConnected(playaid)) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок оффлайн"); // Проверка на то, есть ли игрок с таким id
		SetPlayerSkin(playaid,skinid);
		PlayerInfo[playerid][pModel] = skinid;
А в конце сделал вывод сообщений игроку и всем админам:
PHP:
GetPlayerName(playaid, hisname, sizeof(hisname));
		GetPlayerName(playerid, myname, sizeof(myname));
		format(string, sizeof(string), "Администратор %s выдал вам статический скин номер %d",myname,skinid);
		SendClientMessage(playaid, COLOR_BLUE, string);
		format(string, sizeof(string), "%s выдал %s статический скин № %d", myname, hisname, skinid);
		SendAdminMessage(COLOR_YELLOW, string, 1);
		return 1;
Всё, команда готова.
Целиком она выглядит вот так:
PHP:
if(strcmp(cmd, "/statskin", true) == 0)
	{
		if(PlayerInfo[playerid][pAdmin] < 3) return SendClientMessage(playerid,COLOR_RED,"У вас нет прав!");
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Подсказка: /statskin [id] [skin]");
		new playaid = strval(tmp);
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GREY, "Подсказка: /statskin [id] [skin]");
		new skinid = strval(tmp);
		if(!IsPlayerConnected(playaid)) return SendClientMessage(playerid, COLOR_GREY, "Этот игрок оффлайн");
		SetPlayerSkin(playaid,skinid);
		PlayerInfo[playerid][pModel] = skinid;
		GetPlayerName(playaid, hisname, sizeof(hisname));
		GetPlayerName(playerid, myname, sizeof(myname));
		format(string, sizeof(string), "Администратор %s выдал вам статический скин номер %d",myname,skinid);
		SendClientMessage(playaid, COLOR_BLUE, string);
		format(string, sizeof(string), "%s выдал %s статический скин № %d", myname, hisname, skinid);
		SendAdminMessage(COLOR_YELLOW, string, 1);
		return 1;
	}
Кстати, хочу обратить внимание на то, что в начале паблика OnPlayerCommandText у меня заданы все вот эти переменные:
PHP:
    new string[128];
	new myname[MAX_PLAYER_NAME];
	new hisname[MAX_PLAYER_NAME];
	new cmd[32],tmp[128],idx;
	cmd = strtok(cmdtext, idx);
Если кому-то пригодилось, соглашусь на +сик)
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу