Закрыть Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: Создание ворот на кнопке/автоматическое закрытие

Показано с 1 по 6 из 6

  1. #1
    Пользователь

    Аватар для ppzvovka

    Статус: Оффлайн
    Регистрация:15.11.2010
    Сообщений:77
    Репутация:99 [+/-] 

    Создание ворот на кнопке/автоматическое закрытие

    Сегодня мы научимся создавать ворота которые будут открываться по клавише и закрываться они тоже будут по клавише/автоматически (по вашему выбору)
    И так начнём сначала нужно добавить в мод/фильтрскрипт новую переменную точнее две :

    PHP код:
    new gateactekos// ВЫ можете по своему я делал для ацтеков
    new gatetimeract// это переменная для таймера…(если вам автоматическое закрытие не нужно не пишите эту строку)
    далее к #define :
    #define COLOR_RED 0xAA3333AA //это для цвета
    Далее переходим к forward ставим это:
    forward gateactClose(playerid// в конце это будет пабликом закрытых ворот
    дальше создадим как бы объект (ворота)  пишем в :
    public 
    OnGameModeInit

    gateactekos CreateObject(9801810.90 -1893.9115.2,0.0,0.0,90);//Мои ворота на вокзал к ацтекам (980 == ид объекта,1810.90 -1893.91, 15.2 == Y,X,Z координаты и  0.0,0.0,90 ==  rY,rX,rZ – угол поворота.) УКАЗЫВАТЬ КООРДИНАТЫ ЗАКРЫТЫЙХ ВОРОТ!!!
    И так мы создали ворота как объект теперь нам нужно заставить его шевелиться (двигаться
    Для этого мы пишем следующее в этот паблик:
    public OnPlayerCommandText(playerid, cmdtext[])
    PHP код:
    if(!strcmp(cmdtext"/aopen"true)) //  сама команда для открытия ворот
    {
    if(
    PlayerInfo[playerid][pLeader] == 13 | | PlayerInfo[playerid][pMember] == 13)// проверка на фракцию, банду .В моем случае это ацтеки их ид банды == 13
    {
    if (
    PlayerToPoint(15playerid,1823.19,-1861.68,15.025))//Где должен стоять игрок что бы ворота открывались (15 == это радиус отталкивается  от координат , playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех), 1823.19,-1861.68,15.025 ==  Y,X,Z  координаты где должен стоять игрок (не забывайте про радиус!) ).
     
    {
    MoveObject(gateactekos1810.90,-1887.3,15.22);//куда будут двигаться ворота
    (gateactekos == переменная которой мы обозначили объект в public OnGameModeInit1810.90,-1887.3,15.2 == координаты Y,X,Z куда двигаются ворота,  == скорость движения ворот (2 оптимальная))
    Если вы хотите что бы ворота закрывались автоматически то пишите то что ниже ,если хотите только по клавишам то пропускайте этот пункт и читайте далее!
    SetTimer("gateactClose"100000);
    gatetimeract SetTimer("gateactClose"100000);//Таймер открытия через сколько ворота закроются (gateactekos == переменная которой мы обозначили объект в public OnGameModeInit,10000 == время через сколько закроются ворота(указываются в миллисекундах) 
     
    SendClientMessage(playeridCOLOR_RED," Ворота открылись. Он будет закрыт через 10 секунд."); //отсылка игроку сообщение о том что гараж открылся (playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех), COLOR_RED == это тот самый #define которым мы заменяли хекс-код = 0xAA3333AA *это как бы цвет, " ворота открылись. Они будут закрыты через 10 секунд." == содержимое самого сообщения ).
    }
    else 
    {
     
    SendClientMessage(playeridCOLOR_RED," Ты слишком далеко.");
     }
     
    // это предложение действия если функция PlayerToPoint и её содержимое не совпадает с положением игрока (ну типо если игрок не стоит в радиусе при котором открываются ворота ). (отсылка игроку сообщение о том что он слишком далеко),(playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех),СOLOR_RED == это тот самый #define которым мы заменяли хекс-код = 0xAA3333AA *это как бы цвет, " Ты слишком далеко." = содержимое самого сообщения)
    }
    else
     {
     
    SendClientMessage(playeridCOLOR_RED,"Вы не из El Corona."); // это предложение действия если функция (PlayerInfo[playerid][pLeader] == 13 | | PlayerInfo[playerid][pMember] == 13) и её содержимое не совпадает со статистикой игрока (ну типо если игрок не состоит в этой банде/фракции)(отсылка игроку что он не состоит в этой фракции/банде),(playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех),СOLOR_RED == это тот самый #define которым мы заменяли хекс-код = 0xAA3333AA *это как бы цвет, "Вы не из El Corona ." = содержимое самого сообщения)

    return 1;
    }
    Далее ставим это в конец самого мода (то есть создаём новый паблик):   
    public 
    gateactClose (playerid)
    {
    MoveObject(gateactekos1810.90 -1893.9115.22);// куда будут двигаться ворота
    (gateactekos == переменная которой мы обозначили объект в public OnGameModeInit1810.90 -1893.9115.2 == координаты Y,X,Z куда двигаются ворота,  == скорость движения ворот (2 оптимальная))

    KillTimer(gatetimeract);// убивает таймер
    return 1;
    }
    Далее что бы открывать по клавише пишем в паблик OnPlayerKeyStateChange следующее :
    public 
    OnPlayerKeyStateChange(playeridnewkeysoldkeys)
    {
    if (
    newkeys == 1024// newkeys == 1024 (клавиша которой будут открываться ворота (в данном случае это клавиша прыжка) Вот mysan вылаживал все айди клавиш :
     
    Действие
    Присесть
    Огонь
    Спринт
    16 
    Вторичная атака
    32 
    Прыжок
    64 
    Смотреть в право
    128 
    Ручной тормоз
    256 
    Смотреть в лево
    512 
    Субмиссия(в машине), Смотреть назад(пешком)
    1024 Идти шагом
    2048 
    Аналог вверх (по умолчанию 8 )
    4096 Аналог ввниз (по умолчанию 2)
    8192 Аналог влево (по умолчанию 4)
    16384 Аналог вправо (по умолчанию 665408 Вперёд
    128 
    Назад
    65408 
    Влево
    128 
    Вправо

    {
     
    OnPlayerCommandText(playerid, /aopen)// OnPlayerCommandText == функция в которой выполняются команды , playerid == ид игрока для которого будет выполнятся эта функция (в данном случае для всех), /aopen == сама команда которая открывает ворота .
    В итоге у вас получиться такой код
    #define COLOR_RED 0xAA3333AA
    forward gateactClose(playerid)
    new 
    gateactekos;
    new 
    gatetimeract;
    public 
    OnGameModeInit

    gateactekos CreateObject(9801810.90 -1893.9115.2,0.0,0.0,90);
    }
    }

    public OnPlayerCommandText(playerid, cmdtext[])
    PHP код:
    if(!strcmp(cmdtext"/aopen"true))
    {
    if(
    PlayerInfo[playerid][pLeader] == 13 | | PlayerInfo[playerid][pMember] == 13)
    {
    if (
    PlayerToPoint(15playerid,1823.19,-1861.68,15.025))
    {
    MoveObject(gateactekos1810.90,-1887.3,15.22);
    SetTimer("gateactClose"100000);
    gatetimeract SetTimer("gateactClose"100000);
    SendClientMessage(playeridCOLOR_RED," Ворота открылись. Он будет закрыт через 10 секунд.");

    }
    else 
    {
     
    SendClientMessage(playeridCOLOR_RED," Ты слишком далеко.");
     }

    else
     {
     
    SendClientMessage(playeridCOLOR_RED,"Вы не из El Corona.");
    return 
    1;
    }
    public 
    gateactClose (playerid)
    {
    MoveObject(gateactekos1810.90 -1893.9115.22);
    KillTimer(gatetimeract);
    return 
    1;
    }
    public 
    OnPlayerKeyStateChange(playeridnewkeysoldkeys)
    {
    if (
    newkeys == 1024)
    {
     
    OnPlayerCommandText(playerid, /aopen)
    }
    }


    И так мы закончили творение ворот *полуавтоматических , но я написал что скажу как создать открытие на кнопке а закрытие на клавише/автоматически .Так вот открытие по клавише мы зделали и закрытие автоматически тоже перейдем к второй части урока :
    ОТКРЫТИЕ И ЗАКРЫТИЕ ПО КЛАВИШЕ
    Здесь уже очень легко :
    public OnPlayerCommandText(playerid, cmdtext[])
    PHP код:
    if(!strcmp(cmdtext"/aopen"true))
    {
    if(
    PlayerInfo[playerid][pLeader] == 13 | | PlayerInfo[playerid][pMember] == 13)
    {
    if (
    PlayerToPoint(15playerid,1823.19,-1861.68,15.025))
    {
    MoveObject(gateactekos1810.90,-1887.3,15.22);
    SetTimer("gateactClose"100000);
    gatetimeract SetTimer("gateactClose"100000);
    SendClientMessage(playeridCOLOR_RED," Ворота открылись. Он будет закрыт через 10 секунд.");

    }
    else 
    {
     
    SendClientMessage(playeridCOLOR_RED," Ты слишком далеко.");
     }

    else
     {
     
    SendClientMessage(playeridCOLOR_RED,"Вы не из El Corona.");
    return 
    1;

    Теперь в OnPlayerKeyStateChange
    Пихаем это :
    PHP код:
    public OnPlayerKeyStateChange(playeridnewkeysoldkeys)
    {
    if (
    newkeys == 1024)
    {
    OnPlayerCommandText(playerid, /aopen)

    }
    {
    If(
    newkeys == 32)
    {
    MoveObject(gateactekos1810.90 -1893.9115.22);
    }
    }

    На этом наш урок закончен , Есть не много дурности на счет команд и бинда прошу строго не судить просто хотел объеснить как можно больше еще и про команды ВСЕМ пока
    Автор: kalawNash
  2. #2
    Пользователь

    Аватар для Сeрёга

    Статус: Оффлайн
    Регистрация:16.03.2011
    Сообщений:7
    Репутация:0 [+/-] 
    а ты можешь обьеснить как добавить ворота для своего дома что бы они открывались по команде?
  3. #3
    Пользователь

    Аватар для [Corleone]

    Статус: Оффлайн
    Регистрация:10.03.2011
    Адрес:Канада,Биг Вайт..
    Сообщений:102
    Репутация:12 [+/-] 
    а ты можешь обЪяснить как добавить ворота для своего дома что бы они открывались по команде?
    Да хороший он вопрос задал..распиши только все по полочкам а то ведь сёровно потом не поймёт -_-
    [Есть умные люди, а есть продуманные] (c)
    Вернулся в PAWNO =D
  4. #4
    Пользователь

    Аватар для Vanek

    Статус: Оффлайн
    Регистрация:19.04.2011
    Сообщений:28
    Репутация:0 [+/-] 
    спс большое. долго искал урок по воротам и всетаки нашел норм урок =) лови +
  5. #5
    Пользователь

    Аватар для Goldman

    Статус: Оффлайн
    Регистрация:17.03.2011
    Сообщений:298
    Репутация:41 [+/-] 
    а ты можешь обьеснить как добавить ворота для своего дома что бы они открывались по команде?
    Если ты Админ, ставь проверку, не кто не сможешь из простолюдишек их открыть
  6. #6
    Пользователь

    Аватар для zuganshin

    Статус: Оффлайн
    Регистрация:02.10.2012
    Сообщений:66
    Репутация:2 [+/-] 
    MoveObject(gateactekos, 1810.90 -1893.91, 15.2, 2);


    А вот это что?? это где стоять ворота??

Пользователи, которые читали эту тему: 1

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
В обязанности Администрации не входит контроль легальности или нелегальности передаваемой информации (любой, включая, но не ограничиваясь, информацией передаваемой между пользователями, внутренней пересылки информации в виде различных ссылок, текстов или архивов), определение прав собственности или законности передачи, приема или использования этой информации.
Администрация не несёт никакой ответственности за пользователей и модер состав форума!
читы хаки samp-rp advanvce скачать pawn скриптинг моды скрипты гарант s0beit cs 1.6 0.3x читы World of Tanks Баги samp-rp,читы samp-rp,аккаунты самп-рп Скриптинг PAWNO SA-MP IV-MP MTA уроки помощь создание сервер моды скрипты плагины cleo читы читинг собейт s0beit sobeit моды для sa-mp скрипты для sa-mp pawno скриптинг pawno скрипты pawno моды iv-mp скриптинг iv-mp скрипты iv-mp моды мод godfather Моды SAMP как установить машины для gta 4 Моды гта 4 Моды GTA 4 скачать моды для GTA 4 скрипты и моды GTA 4 скачать скрипты SAMP моды SAMP на русском языке где можно скачать Pen1 LS скачать Pen1 Fugitive скачать The Godfather rp roleplay samp-rp скачать бесплатно создать sa-mp сервер создать мод sa-mp создать скрипт в pawno gta-iv gta-v gta-sa gta-3 gta-III gta-4 gta-5 gta-vc mta mta-dm mta-race mta-sa pawno инфо info информация ru помощь в pawno ошибки pawno сервер павно gta-iv крэк gta-iv патч gta-v демо gta-v трейлер gta-iv keygen скрипты gta sa gta 4 multiplayer gta san adnreas multiplayer sa-mp forum форум о sa-mp форум о pawno русский sa-mp русское pawno русификатор реклама раскрутка сервера пиар сервера sa-mp мониторинг gta-sa ошибки в pawno pawno errors sa-mp 0.3c SA-MP 0.3d Играть в гта по сети моды для сампа скрипты самп Моды гта 4 Моды GTA 4 скачать моды для GTA 4 скрипты и моды GTA 4 скачать скрипты SAMP моды SAMP на русском языке где можно скачать Pen1 LS скачать Pen1 Fugitive скачать The Godfather Все моды SAMP у нас взлом вк hack rat android instagram twitter хак хакер лайфхак рынок продажа ddos защита услуги администратор root linux ubuntu mac android андроид прошивка без ограничений advance arizona читы 4g безлимит