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

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

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

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

Создание обычных команд(для новичков)

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

Mark4ik

Дебютант
Здравствуйте,в этом уроке я расскажу вам как создать обычные команды для администрации,рекомендуется новичкам.В этом уроке мы сделаем такие команды: /sethp /setarmor
1.Команда /sethp
Сделать эту команду довольно просто,и она подойдет к любому моду.
Вот как она выглядит:
Код:
if(strcmp(cmd, "/sethp", true) == 0)//название команды
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /sethp [id/Name] [здоровье]");//Текст,поможет ввести команду
				return 1;
			}
			new playa;
			new health;//само ХП
			playa = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			health = strval(tmp);
			if(health <0||health > 100)
			{ SendClientMessage(playerid, COLOR_GRAD1, " Здоровье от 0 до 159!"); return 1; }//ограничения 1-159
			if (PlayerInfo[playerid][pAdmin] >= 1)//Уровень администратора с которого можно вводить данную команду
			{
			    if(IsPlayerConnected(playa))
			    {
			        if(playa != INVALID_PLAYER_ID)
			        {
						SetPlayerHealth(playa, health);// HP
						GetPlayerName(playa, giveplayer, sizeof(giveplayer));//имя игрока
						GetPlayerName(playerid, sendername, sizeof(sendername));//id игрока
						format(string, 256, " %s дал игроку %s хп %d.", sendername,giveplayer,health);//видимость администратора
						ABroadCast(COLOR_YELLOW,string,1);//цвет текста,можно изменить
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, " Нет прав для использования этой команды!");//запрет если не пододит уровень админки
			}
		}
		return 1;
	}
2./setarmor
Команда /setarmor-Дает игроку бронь
Код:
if(strcmp(cmd, "/setarmor", true) == 0)//команда
	{
	    if(IsPlayerConnected(playerid))
	    {
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, " Используйте: /setarmor [id/Name] [броня]");//текст
				return 1;
			}
			new playa;
			new health;//жизнь
			playa = ReturnUser(tmp);
			tmp = strtok(cmdtext, idx);
			health = strval(tmp);
			if(health <0||health > 201){ SendClientMessage(playerid, COLOR_GRAD1, " Броня от 0 до 200!"); return 1; }//ограничения 1-200
			if (PlayerInfo[playerid][pAdmin] >= 1)//проверка на админа
			{
			    if(IsPlayerConnected(playa))
			    {
			        if(playa != INVALID_PLAYER_ID)
			        {
						SetPlayerArmour(playa, health);//armor(бронь)
						GetPlayerName(playa, giveplayer, sizeof(giveplayer));//имя игрока
						GetPlayerName(playerid, sendername, sizeof(sendername));//id игрока
						format(string, 256, "  %s дал игроку %s Брони %d.", sendername,giveplayer,health);//видимость для других админов
						ABroadCast(COLOR_YELLOW,string,1);//цвет,можно изменить
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, " Нет прав для использования этой команды!");
			}
		}
		return 1;
	}
А сейчас все что значит:
sendername-Имя админа который ввел команду
giveplayer-имя игрока которому дали бронь

Спасибо за внимание,строго не судите
P.S: Первый мой урок


Дополнение от Pedro_Safarelli
Вставлять в public OnPlayerCommandText
Скриншот:
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу