Вопросы

Как сделать ворота для фракции на альт(если есть на форуме,то скиньте,если нету, то помогите сами если есть возможность)

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0

Добрый день. Можно в интернете написать тему Открытие ворот на кнопку и там будет тема с созданием таких ворот и тд. Но если уже хоть что-то есть то вот немного от туда взял

 

В public OnPlayerKeyStateChange
if(newkeys & KEY_WALK) // На кнопку АЛЬТ (alt)
{
if(IsPlayerInRangeOfPoint(playerid, 102720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот
{
MoveDynamicObject(gate1,2720.3772, -2401.252312.62.0);//Двигаем ворота на позицию открытых ворот
SetTimer("CloseGate1"7000false);//Создадим таймер что ворота закрылись автоматически
}
}

 

Отредактировано пользователем Caracal2222

Поделиться сообщением


Ссылка на сообщение
  • 0

@Caracal2222 чудесное решение, варнинг и 2 ерорра в подарок

Поделиться сообщением


Ссылка на сообщение
  • 0

@hokageud Я же написал что можете вбить в интернете то что написал. Там в теме на другом сайте полностью описан код,что куда. Ну уж лучше тогда скопирую от туда и сюда вышлю. 

Спойлер

CreateObject(969, 2720.3772,-2409.7523,12.6,0, 0.0000, 90);//Закрытые ворота
CreateObject(969, 2720.3772,-2508.3069,12.6,0, 0.0000, 90);//Открытые ворота   

После этого вам нужно создать переменную., которая будет хранить в себе порядковый ID ворот.

Ко всем new
 

new gate1;   


Теперь создадим объект ворот на сервере 

В public OnGameModeInit засуньте строчку с функцией CreateObject

gate1 = CreateObject(ид_объекта, x,y,z, поворот_x, поворот_y, поворот_z);// Укажите ваши данные о ЗАКРЫТЫХ воротаx   


Для простого примера я создам ворота в доках (координаты открытых и закрытых ворот смотрите выше) 

public OnGameModeInit()
{
gate1 = CreateObject(969, 2720.3772,-2409.7523,12.6,0, 0.0000, 90);//Если у вас есть этот public то просто вставте эту строчку с созданием объекта
return 1;
}   


Ворота созданы, но теперь их надо заставить двигаться 

в public OnPlayerCommandText 

if(!strcmp(cmdtext, "/opengate", true))
{
if(IsPlayerInRangeOfPoint(playerid, 10, 2720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот
{
MoveDynamicObject(gate1,2720.3772, -2401.2523, 12.6, 2.0);//Двигаем ворота на позицию открытых ворот
SetTimer("CloseGate1", 7000, false);//Создадим таймер что ворота закрылись автоматически
}
}   


Теперь создадим public чтоб ворота закрылись самостоятельно 

Ко всем foward

forward CloseGate1();   

В конец мода

public CloseGate1()
{
MoveDynamicObject(gate1, 2720.3772,-2409.7523,12.6, 2.0);//Двигаем ворота на позицию закрытых ворот
return 1;
}   


Ворота созданы и вы теперь можете их открыть командой /opengate 

Теперь делаем открытие ворот кнопкой.

В public OnPlayerKeyStateChange
 

if(newkeys & KEY_WALK) // На кнопку АЛЬТ (alt)
{
if(IsPlayerInRangeOfPoint(playerid, 10, 2720.3772,-2409.7523,12.6))// Укажите координаты закрытых ворот, 10 - это радиус, где будет действовать открытие ворот
{
MoveDynamicObject(gate1,2720.3772, -2401.2523, 12.6, 2.0);//Двигаем ворота на позицию открытых ворот
SetTimer("CloseGate1", 7000, false);//Создадим таймер что ворота закрылись автоматически
}
}   

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент