Question

Всем хай, помогите сделать ворота армии.

Вот есть команда ( Она с сампа , поэтому нужно свои координаты вставить, разъясните пожалуйста как свои координаты поставить, что бы ворота плавно закрывались / открывались )

P.S. TEAM_NG - Армия

CMD:open(playerid)
{
	if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
	if(TextResetCMD[playerid] > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Не флуди");
    if(IsPlayerInRangeOfPoint(playerid,12.0,286.0616,1821.0507,17.2128))
	{
		if(IsACop(playerid) || pInfo[playerid][pMember] == TEAM_NG)
		{
		    if(opengate[playerid][0]) return 1;
		    opengate[playerid][0] = true;
			MoveDynamicObject(Gate[4],285.62500000,1811.20446777,18.36432266,3.0,0.00000000,0.00000000,270.00000000);
			MoveDynamicObject(Gate[5],285.62500000,1830.82177734,18.27965546,3.0,0.00000000,0.00000000,270.00000000);
			SetTimerEx("@CloseGate", 10000, false, "dd", 0, playerid);
			SendClientMessage(playerid,COLOR_BLUE,"Ворота закроются через 10 секунд!");
			SetPlayerChatBubble(playerid, "открывает ворота", COLOR_PURPLE, 13.0, 10000);
	    }
	    else SendClientMessage(playerid,COLOR_GREY,"У вас нет ключей от ворот!");
    }
    if(IsPlayerInRangeOfPoint(playerid,12.0,131.0000000,1940.5000000,18.7000000))
    {

 

Share this post


Link to post

30 answers to this question

  • 0

@HAPKOMAH В MoveDynamicObject нужно вставить координаты открытых ворот. 

37 минут назад, HAPKOMAH сказал:

IsPlayerInRangeOfPoint(playerid

Вот сюда любые координаты, хоть закрытых, хоть открытых ворот. 

В паблик @CloseGate необходимо вставить координаты закрытых ворот. 

 

Share this post


Link to post
  • 0
6 минут назад, DEST сказал:

@HAPKOMAH В MoveDynamicObject нужно вставить координаты открытых ворот. 

Вот сюда любые координаты, хоть закрытых, хоть открытых ворот. 

В паблик @CloseGate необходимо вставить координаты закрытых ворот. 

 

Куда закрытые ворота? Насколько я понял, в CASE 0: мои ворота

LezmsPa2luk.jpg

Share this post


Link to post
  • 0
1 минуту назад, DEST сказал:

@HAPKOMAH Да, в 0

Там две строчки, в которую?

Share this post


Link to post
  • 0

@HAPKOMAH две строчки для двух ворот, соответственно в каждую разные координаты пойдут. Если объект один, одну строку из первого кода и одну строку из второго кода удалить. 

Share this post


Link to post
  • 0

@DEST

А эти две строчки для чего?

rQR0hUjgtHQ.jpg

Share this post


Link to post
  • 0

@HAPKOMAH это открывает два объекта ворот

Share this post


Link to post
  • 0
Только что, DEST сказал:

@HAPKOMAH это открывает два объекта ворот

Мне с этим что делать? Удалить? Или что?

Share this post


Link to post
  • 0

@HAPKOMAH я не знаю сколько у вас объектов. Если один, то

5 минут назад, DEST сказал:

одну строку из первого кода и одну строку из второго кода удалить

Если два, то заменяйте эти координаты на свои. 

Share this post


Link to post
  • 0
1 минуту назад, DEST сказал:

@HAPKOMAH я не знаю сколько у вас объектов. Если один, то

Если два, то заменяйте эти координаты на свои. 

У меня один объект, заменить координаты в первой строчке на Открытые ворота или Закрытые?

+ Я скомпилировал, в игре нету ворот

Share this post


Link to post
  • 0

@HAPKOMAH короче говоря, лучше сделайте все по уроку, чем копаться в готовом коде. Урок можно найти на форуме в соответствующем разделе. 

Share this post


Link to post
  • 0
Только что, DEST сказал:

@HAPKOMAH короче говоря, лучше сделайте все по уроку, чем копаться в готовом коде. Урок можно найти на форуме в соответствующем разделе. 

Находил я его.. Мне нужно заменить эти, я удалил тут в команде вторую строчку, в первой поменял координаты на закрытые ворота - в игре их нету, может я где то не правильно сделал что-то? Т.к. нигде в коде не указан ид объекта ( из чего ворота ) 

Share this post


Link to post
  • 0

@HAPKOMAH в онгейммодинит объект должен создастся

Share this post


Link to post
  • 0
5 минут назад, DEST сказал:

@HAPKOMAH в онгейммодинит объект должен создастся

Нету

Share this post


Link to post
  • 0

@HAPKOMAH ну значит сделайте по типу: 
 

Gate[?] = CreateDynamicObject(arguments); // вместо ? соответствующее число, которое двигаешь

 

Share this post


Link to post
  • 0
1 минуту назад, DEST сказал:

@HAPKOMAH ну значит сделайте по типу: 
 


Gate[?] = CreateDynamicObject(arguments); // вместо ? соответствующее число, которое двигаешь

 

"соответствующее число, которое двигаешь" - Ид объекта?

Share this post


Link to post
  • 0

@HAPKOMAH да. В MoveDynamicObject которое указано

Share this post


Link to post
  • 0

У меня вот такой код там: MoveDynamicObject(Gate[4],1892.4623, 1705.5540, 16.9909,3.0,0.00000000,0.00000000,270.00000000);

Сейчас 4 поменял на ид объекта

: error 032: array index out of bounds (variable "Gate")
: error 032: array index out of bounds (variable "Gate")

Share this post


Link to post
  • 0

@HAPKOMAH ну так Gate[4] это и есть ид объекта. Значит в OnGameModeInit нужно указать Gate[4] = ...

Share this post


Link to post
  • 0

@DEST эээм... что?! вообще-то это меняет расположение объекта! но никак не открывает ворота!

Share this post


Link to post
  • 0

@SCRIPTMAN т.е. открытие ворот это не смена их местоположения? 

Share this post


Link to post
  • 0

@DEST тогда уж нужно быть точнее.. ибо, когда человек захочет изменить расположение, он не найдет функцию, так как ты ему сказал, что это открытие ворот.

Share this post


Link to post
  • 0

@SCRIPTMAN По-моему у ТС таких вопросов не возникало. Открытие ворот это подразумевает смену их расположения. Я не думаю, что такую элементарщину нужно объяснять. В дальнейшем, сообщения такого рода будут приравнены к оффтопу. 

Share this post


Link to post
  • 0
19 минут назад, DEST сказал:

@HAPKOMAH ну так Gate[4] это и есть ид объекта. Значит в OnGameModeInit нужно указать Gate[4] = ...

Сделал:

Gate[4] = 3166;

Но ворот нету

Share this post


Link to post
  • 0

По теме:
Короче, создаем переменную, например:

new arm_vorot;
new bool: arm_vorot_status;

Первая служит за сами ворота и их координаты, вторая - проверяет, открыты или закрыты ворота.

Дальше в OnGameModeInit создаем объект, в нашем случае ворота в закрытом положении:

arm_vorot = CreateObject(id объекта, x, y, z, rX, rY, rZ);

Это у нас в закрытом положении, дальше создаем команду, я буду показывать на DC_CMD, так как сколько я нахожусь в сфере скриптинга, работаю только с ним и меня он устраивает.

CMD:open(playerid)
{
    if(!IsPlayerConnected(playerid)) return false;//проверна на коннект
    if(!IsPlayerInRangeOfPoint(playerid, 15.0, 1401.05, -599.68, 41.07)) return true;//расстояние
    if(arm_vorot_status == false)//если ворота закрыты
    {
        MoveObject(arm_vorot, x, y, z, скорость, rX, rY, rZ);//Open
		arm_vorot_status = true;
    }
    else if(arm_vorot_status == true)//если ворота открыты
    {
        MoveObject(arm_vorot, x, y, z, скорость, rX, rY, rZ);//Close
		arm_vorot_status = false;
    }
    return true;
}

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content