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

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

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

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

Как сделать ворота по команде/для адм/для фракции

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

Emil

Новичок
Здравствуйте сейчас я вам покажу как сделать ворота для (адм/фракции) по команде!
И так начнем:
Ко всем new добавляем:
PHP:
new vorot;
если хотите несколько ворот добавить пишем
PHP:
new vorot[2];
[2] это количество ворот которые вы хотите добавить
Далее ко всем forward добавляем:
PHP:
forward Vorot();
Далее ищем: public OnGameModeInit() и добавляем
PHP:
vorot = CreateObject(id,X,Y,Z,0.000,0.000,0.000); // закрытых ворот
если хотите несколько ворот то пишем так:
PHP:
vorot[0] = CreateObject(id,X,Y,Z,0.000,0.000,0.000); // закрытых ворот
vorot[1] = CreateObject(id,X,Y,Z,0.000,0.000,0.000); // закрытых ворот
и тд. смотря сколько вы хотите добавить и указали в new vorot;
Далее ищем: public OnPlayerCommandText(playerid, cmdtext[]) и добавляем
PHP:
if(!strcmp(cmdtext, "/lsopen", true)) //тут место (/lsopen) команда для открытия ворот
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1) // место 1 ставим id фракции которая будет открывать
     {
          MoveObject(vorot,x,y,z, 2.2); // тут координаты открытых ворот 2.2 это скорость открывание ворот
          SetTimer("Vorot", 7000, 0); // 7000 это время в секундах
         SendClientMessage(playerid, COLOR_LIGHTBLUE,"Ворота закроются через 7 секунд."); // это текст меняем на свое или оставляем
}
else
{
return SendClientMessage(playerid,COLOR_YELLOW," Вы не можете открыть эти ворота!"); // ну тут наверное все понятно 
}
return 1;
}
Если хотите несколько ворот как я говорил чуть выше то делаем так:
PHP:
MoveObject(vorot,x,y,z, 2.2); // тут координаты открытых ворот 2.2 это скорость открывание ворот
меняем
PHP:
MoveObject(vorot[0],x,y,z, 2.2);
если еще смотря сколько вы хотите добавить просто vorot[] место [] ставим нужную цыфру
И теперь в конец мода ставим это:
PHP:
public Vorot() 
{
	MoveObject(vorot, X,Y,Z ,2.2); //X,Y,Z координаты закрытых ворот, 2.2 скорость закрытия ворот
   	return 1;
}
Тут тоже самое смотря сколько хотите добавить
PHP:
MoveObject(vorot[0], X,Y,Z ,2.2);
и тд.

Если вы хотите сделать ворота для админа, то после команды
PHP:
if(!strcmp(cmdtext, "/lsopen", true)) //тут место (/lsopen) команда для открытия ворот
{
добавляем это
PHP:
if (PlayerInfo[playerid][pAdmin] >= 5)//pAdmin - открыть может админ, 5 это уровень админки
точнее это будем место
PHP:
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
И это будет примерно так:
PHP:
if ((strcmp(cmd, "/admin", true)==0) || (strcmp(cmd, "/ad", true)==0)) // команда для открытия ворот
{
if(PlayerToPoint(15.0,playerid,x,y,z)) // 15.0 - расстояние у ворот где можно открыть
{
if (PlayerInfo[playerid][pAdmin] >= 5)//pAdmin - открыть может админ, 5 это уровень админки, ниже покажу как для домов и т д
{
MoveObject(vorot,x,y,z, 2.2); // это координаты движения ворот, 2.2 скорость движения
SetTimer("Vorot", 7000, 0);// 7000 - время через которое закроются ворота
SendClientMessage(playerid,0xFFFF00AA,"Ворота закроются через 7 секунд");
}
else
{
return SendClientMessage(playerid,COLOR_YELLOW," Вы не можете открыть эти ворота!");
}
return 1;
}
}
А все остальное тоже самое!
Если хотите добавил 3D текст к вороте чтобы знали чья ворота и команду для открытия, то делаем дак
Ищем public OnGameModeInit() и добавляем
PHP:
CreateDynamic3DTextLabel("{FF6600}[Ворота LSPD]\nДля открытия ворот введите\n{FFFFFF}(/lsopen)",0x15AAEAFF,x,y,z, 30.0);//место x,y,z ставим координаты закрытых ворот, а 30.0 можете даже не трогать

Все работает я сам проверял и изменял!
Всем удачи. +
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу