kusehsup

Создание машин для фракций

В теме 17 сообщений

Сразу скажу, что данный урок написал Amfy, но нашему порталу он тоже не обходим.

Приступим

 

Первым делом нам нужно создать глобальную переменную.

new Mil[2];//Назовем её Mil

Далее идем в public OnGameModeinit и вставляем наши машины (машины вы ставите естественно свои). К примеру, мне нужно 4 машины.

AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);
AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);
AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);
AddStaticVehicleEx(411,x,y,z,angle,55,55,60000);

К первой машине добавляем Mil[0] =, а к последней машине Mil[1] =, смотрите пример ниже как должно получится.

Mil[0] = AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);
AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);
AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);
Mil[1] = AddStaticVehicleEx(411,1788.7271,1352.2760,10.7370,3.0671,55,55,60000);

Машины между Mil[0] и Mil[1] (включительно) автоматически становятся для милиции. А это значит, если в дальнейшим надо будет добавлять машины милиции, добавляем их между Mil[0] и Mil[1]

 

Далее идем в public OnPlayerStateChange и вставляем следующий код:

if(newstate == PLAYER_STATE_DRIVER)//Если игрок сидит за рулем автомобиля
{
    new carid = GetPlayerVehicleID(playerid);//Узнаем ид машины в которой сидит игрок
    if(carid >= Mil[0] && carid <= Mil[1])//Если игрок сидит в машине Mil[0] до Mil[1], значит это милицейские машины
    {
        if(PlayerInfo[playerid][pMember] != 1)//Проверка на игроков из фракции номер 1.
        {
            SendClientMessage(playerid, -1, "У вас нет ключей от этого транспорта.");//Если игрок не состоит в 1-ой фракции
            RemovePlayerFromVehicle(playerid);//Выкидываем с машины
        }
    }
}

Если PLAYER_STATE_DRIVER уже существует в данном паблике, ещё раз создавать необязательно. Можно просто вставить в уже существующий.

 

P.S Если возникнут вопросы, пишите в данной теме. PlayerInfo, pLeader, pMember при необходимости нужно сменить.

 

Au - p/s Не своровал, а одолжил на добрые нужды :$

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


Ссылка на сообщение
Поделиться на другие сайты

Есть проблема. Создал так же. Но госсников выкидывает из них машин. А нелегалов (ОПГ) нет. В чем может быть проблема? 

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


Ссылка на сообщение
Поделиться на другие сайты

@RavanD как вы вставили код в OnPlayerStateChange? Киньте его сюда. 

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


Ссылка на сообщение
Поделиться на другие сайты

@DEST

  Код (открыть спойлер)

 

Заметка от DEST , создано

Как использовать спойлер и код?

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


Ссылка на сообщение
Поделиться на другие сайты

@RavanD у фракции полиция id 3? 

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


Ссылка на сообщение
Поделиться на другие сайты

@DEST Да, а что? Ну как лидерки стоят, так и тут.

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


Ссылка на сообщение
Поделиться на другие сайты
if(PLAYER_DATA[playerid][data_MEMBER] !== id фракции) 

Попробуй так

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

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


Ссылка на сообщение
Поделиться на другие сайты

@Soul1337 что за такой оператор !== ? 

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


Ссылка на сообщение
Поделиться на другие сайты

@Soul1337Ну, а смысл? У ОПГ такой же код. Но ОПГшников невыкидывает из машин фракции, а вот Госников выкидывает. @DEST

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


Ссылка на сообщение
Поделиться на другие сайты

@RavanD вот этот код: 

  Код (открыть спойлер)

замените этим: 

  Код (открыть спойлер)

после сядьте в машину полиции и киньте логи. 

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


Ссылка на сообщение
Поделиться на другие сайты

@DEST 

  Код (открыть спойлер)
  В 6/3/2018 в 12:43, DEST сказал:

@RavanD вот этот код: 

  Код (открыть спойлер)

замените этим: 

  Код (открыть спойлер)

после сядьте в машину полиции и киньте логи. 

Читать далее...  

 

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


Ссылка на сообщение
Поделиться на другие сайты

@RavanD судя по логам, код вообще не отработал. Вы после замены строк кода мод компилировали и перезаливали с перезапуском? 

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


Ссылка на сообщение
Поделиться на другие сайты

@DEST Да, удалил старый код, вставил новый, скомпилировал. Когда скомпилировался обновил на хостинге и естественно его перезапустил, в чем может быть проблема? 

  Код (открыть спойлер)

Заметка от Cawfee , создано

Как взять код в тег "Код"?.

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


Ссылка на сообщение
Поделиться на другие сайты

@RavanD значит, вы либо не садились в машину, либо сели не в ту машину. Это точно единственно существующие в моде машины? Может быть уже есть проверка на них. 

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


Ссылка на сообщение
Поделиться на другие сайты

@DEST Да, нет я сел... Меня сразу выкинуло, да и единственные это машины для полиции... Больше нету. @DEST Да, удалил старый код, вставил новый, скомпилировал. Когда скомпилировался обновил на хостинге и естественно его перезапустил, в чем может быть проблема? 

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


Ссылка на сообщение
Поделиться на другие сайты

@RavanD не нужно скидывать все одно и то же по 150 раз, тем более, если содержимое логов никак не меняется. Кинь все, что связано с police_car[0] и police_car[1]

 

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


Ссылка на сообщение
Поделиться на другие сайты

@DEST

  Весь код связанный с police_car (открыть спойлер)

 

@DEST Я с телефона писал, жму на "@", а он старые СМС еще прихватывает. Баг наверное)

 

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • RASTAMAN
      От RASTAMAN
      Plantinum RolePlay
      Скачать файл Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
       
      Система казино Система домов Система авто И многие другие системы!

      Особых багов не найдено.

      В моде присутствует 25 фракции.
      Есть Textdraw на спавне!
      Добавил RASTAMAN Добавлено 10.10.2017 Категория Моды Автор неизвестен  
    • RASTAMAN
      От RASTAMAN
      Для того чтобы дать пароль нужно быть администратором 10 lvl после того пишем в чат /passadm
       
      Система казино Система домов Система авто И многие другие системы!

      Особых багов не найдено.

      В моде присутствует 25 фракции.
      Есть Textdraw на спавне!
    • Michov Andr
      От Michov Andr
      Re:samp RP — проект в разработке
      Re:samp RP — это SA-MP в стиле RP-проект, который в данный момент находится в активной разработке. Мы создаём сервер с бонусной системой, где механики будут, и игроки смогут развивать свои персонажи, зарабатывать деньги и взаимодействовать с окружающим миром. Однако, главное — это ролевой процесс. Вы сами выбираете, хотите ли вы заниматься бизнесом и фармом или погружаться в глубокую ролевую игру. Всё зависит от того, какой путь вы хотите пройти.
      Мы стремимся к тому, чтобы на сервере не было скучного фарма и бесконечных рутинных задач. Всё будет сбалансировано так, чтобы каждый игрок мог выбрать свой стиль игры и наслаждаться процессом, будь то отыгрыш роли, развитие персонажа или участие в экономике.
      Что касается доната — на сервере будет доступна возможность покупки привилегий, включая покупку админки. Мы не планируем делать донат обязательным для прогресса, и он не будет влиять на геймплей, но те, кто хотят ускорить процесс или получить дополнительные возможности, смогут воспользоваться такими предложениями. Всё сделано так, чтобы не нарушать баланс и не превращать сервер в платный путь к успеху.
      Re:samp RP — это сервер, где каждый игрок может найти для себя интересное занятие и, главное, где всегда будет место для качественной ролевой игры. Мы не навязываем никаких обязательных механик, и все решения остаются за вами. Стартовый бонус, донат, админки — это всё дополнительные возможности, но не основа игры. 
      Discrod:https://discord.gg/ernRMjyEJy
       
             
      на логотип не смотрим да признаюсь взял с самп рп() но уж больно он норм)
    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }