Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок
  • Загляните на рынок

    Там вы можете продать или купить
    Всё что касается игровых серверов

Вопрос

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

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


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

Рекомендованные сообщения

Забронировать это рекламное место


  • 0

на сервере Altis Life хочу сделать аукцион машин,вот заспавню я их с инфистара а дальше что?я просто не понимаю как мне им сделать что бы та машина которую они купили была их,т е перебить ее не вариант,я знаю есть другой способ дать ключи но не до конца пойму как это правильно сделать,с инфистара машина в аренде после бури пропадает их так покататься или на показ как вот к примеру аукцион,а вот есть машины в магазине они с ключами сразу покупаються а у меня машин тех которые люди купят на аукционе нет,собственно в этом проблема как дать им машину с ключами и что б была их а не арендованная

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
41 минуту назад, petpoleoo сказал:

на сервере Altis Life хочу сделать аукцион машин,вот заспавню я их с инфистара а дальше что?я просто не понимаю как мне им сделать что бы та машина которую они купили была их,т е перебить ее не вариант,я знаю есть другой способ дать ключи но не до конца пойму как это правильно сделать,с инфистара машина в аренде после бури пропадает их так покататься или на показ как вот к примеру аукцион,а вот есть машины в магазине они с ключами сразу покупаються а у меня машин тех которые люди купят на аукционе нет,собственно в этом проблема как дать им машину с ключами и что б была их а не арендованная

Пиши в дискорд Atavis #0227

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


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

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Sancezz063
      Пропадают машины, люди говорят до рестарта оставляют машину, а после она просто пропадает, может ли на это влиять админка ? 
      Машины пропадают которые собирают на сервере
    • Автор: ownness
      Ребят, подскажите, можно ли добавить цвета/текстуры на автомобили, чтобы при покупке выбирать?
       
      вот кусок кода Config_Vehicles.hpp... в нем две телеги, у первой есть цвета (так и не понял, откуда они тянутся), у второй - нет. есть варианты реализации?
      class madsa_hummer_h2 { realname="Hummer H2"; buyPrice=344000; inventory=85; side="CIV"; insurance=0; disableOwnerInfos=1; licenses[]={"rebelle_1"}; fuel="SP95"; fuelCapacity=121; colors[]= { "madsa_hummer_h2_black_F", "madsa_hummer_h2_blue_F", "madsa_hummer_h2_gold_F", "madsa_hummer_h2_green_F", "madsa_hummer_h2_pink_F", "madsa_hummer_h2_purple_F", "madsa_hummer_h2_red_F", "madsa_hummer_h2_silver_F", "madsa_hummer_h2_white_F", "madsa_hummer_h2_yellow_F" }; }; class madsa_hummer_h2_black_F: madsa_hummer_h2 {}; class madsa_hummer_h2_blue_F: madsa_hummer_h2 {}; class madsa_hummer_h2_gold_F: madsa_hummer_h2 {}; class madsa_hummer_h2_green_F: madsa_hummer_h2 {}; class madsa_hummer_h2_pink_F: madsa_hummer_h2 {}; class madsa_hummer_h2_purple_F: madsa_hummer_h2 {}; class madsa_hummer_h2_red_F: madsa_hummer_h2 {}; class madsa_hummer_h2_silver_F: madsa_hummer_h2 {}; class madsa_hummer_h2_white_F: madsa_hummer_h2 {}; class madsa_hummer_h2_yellow_F: madsa_hummer_h2 {}; class madsa_zl1_f { realname="Chevrolet zl1f"; buyprice=260000; inventory=20; side="CIV"; insurance=1; licence[]={"driver"}; fuel="SP98"; fuelCapacity=67; colors[]={}; };  
    • Автор: BorizzK
      //AUTHOR: BORIZZ.K //Version 20.12.2018.0011 void PlaceAllCarsToGround() { array<Object> nearest_objects = new array<Object>; array<CargoBase> proxy_cargos = new array<CargoBase>; Object object; string className; int objectcount = 0; vector mapcenter = "7500 0 7500"; int radius = 20000; vector foundcar_pos; mapcenter[1] = GetGame().SurfaceY( mapcenter[0], mapcenter[2] ); GetGame().GetObjectsAtPosition(mapcenter, radius, nearest_objects, proxy_cargos); for ( int i = 0; i < nearest_objects.Count(); i++ ) { object = nearest_objects.Get(i); className = object.GetType(); if ( GetGame().IsKindOf(className, "Car" ) ) //if ( className == "OffroadHatchback" || className == "V3SVehicle" || className == "V3SChassis" || className == "CivilianSedan") { EntityAI objectEnt = EntityAI.Cast(object); if (objectEnt) { foundcar_pos = objectEnt.GetPosition(); Print("::: PlaceAllCarsToGround() ::: Found car: " + className + ", objectEnt: " + objectEnt + ", Position: " + foundcar_pos.ToString() + ", SurfaceGetNormal: " + GetGame().SurfaceGetNormal(foundcar_pos[0], foundcar_pos[2]).ToString()); //Check surface under car /* string surface_type; int liquidType; GetGame().SurfaceUnderObject(object, surface_type, liquidType); Print("::: PlaceAllCarsToGround() ::: Found car: " + className + ", objectEnt: " + objectEnt + ", surface_type: " + surface_type + ", liquidType: " + liquidType); */ if ( foundcar_pos[1] < (GetGame().SurfaceY(foundcar_pos[0], foundcar_pos[2])) - 0.1 || foundcar_pos[1] > (GetGame().SurfaceY(foundcar_pos[0], foundcar_pos[2])) + 0.1 ) { foundcar_pos[1] = GetGame().SurfaceY(foundcar_pos[0], foundcar_pos[2]); objectEnt.SetPosition(foundcar_pos); objectEnt.SetOrientation(objectEnt .GetOrientation()); objectEnt.SetDirection(objectEnt .GetDirection()); Print("::: PlaceAllCarsToGround() ::: Position changed for car : " + className + ", objectEnt: " + objectEnt + ", Position: " + foundcar_pos.ToString()); } else { Print("::: PlaceAllCarsToGround() ::: No position change required for car : " + className + ", objectEnt: " + objectEnt); } } } } } Добавить код в init.c (ВНЕ КЛАССА)
      Вызывать в конце функции main()
      Просто вставив в конце
      PlaceAllCarsToGround();
       
      P.S. Поправил код, + учел рекомендации Ультимы
      У меня на сервере с машинами все ок
       
    • Автор: BorizzK
      Накрапал функций (по мотивам того что делали для 0.62 когда-то)
      Проверяем сколько машин на сервере (кстати, кому известны координаты центра Черноруси и макс полезный радиус от центра где могут располагаться объекты?)
      Если машин данного типа достаточно на карте, не спавним
      Если не хватает, перед спавном проверяем нет ли машины рядом (что бы не заспавнить внутрь другой)
      Если все норм, спавним
       
      int CheckNearObjects(vector pos, int radius, string objectClass) //Проверка обьектов поблизости { array<Object> nearest_objects = new array<Object>; array<CargoBase> proxy_cargos = new array<CargoBase>; Object object; string className; int objectcount = 0; GetGame().GetObjectsAtPosition(pos, radius, nearest_objects, proxy_cargos); Print("::: SpawnCars.c ::: CheckNearObjects (EntityAI m_Object, int radius) ::: Radius: " + radius.ToString() + ", all nearest_objects: " + nearest_objects.Count().ToString()); for ( int i = 0; i < nearest_objects.Count(); i++ ) { object = nearest_objects.Get(i); className = object.GetType(); if ( className == objectClass ) { objectcount++; Print( "::: SpawnCars.c ::: CheckNearestObjects: found object " + objectcount.ToString() + ": " + object.ToString() + ", Type/Class: " + className + " !!!"); } } return objectcount; } int SpawnCar(string m_Car_Class, TVectorArray spawn_Points, int max_Car_Count, float min_Car_Health, float max_Car_Health, bool damageallow) //Спавн машины по заданным параметрам { Print("::: SpawnCars.c ::: SpawnCar(" + m_Car_Class + ", " + spawn_Points.ToString() + ") :::"); vector m_Car_Pos; EntityAI m_Car; int n_Car_Count = 0; int all_Car_Count = 0; int s_Car_Count = 0; array<string> m_Car_Equip_Array = new array<string>; if (m_Car_Class == "OffroadHatchback") { /* Так то же можно m_Car_Equip_Array.Insert("HatchbackWheel"); m_Car_Equip_Array.Insert("HatchbackWheel"); m_Car_Equip_Array.Insert("HatchbackWheel"); m_Car_Equip_Array.Insert("HatchbackWheel"); m_Car_Equip_Array.Insert("CarBattery"); m_Car_Equip_Array.Insert("SparkPlug"); m_Car_Equip_Array.Insert("EngineBelt"); m_Car_Equip_Array.Insert("CarRadiator"); m_Car_Equip_Array.Insert("HatchbackDoors_Driver"); m_Car_Equip_Array.Insert("HatchbackDoors_CoDriver"); m_Car_Equip_Array.Insert("HatchbackHood"); m_Car_Equip_Array.Insert("HatchbackTrunk"); */ //И так можно m_Car_Equip_Array = {"HatchbackWheel","HatchbackWheel","HatchbackWheel","HatchbackWheel","CarBattery","SparkPlug","SparkPlug","EngineBelt","CarRadiator","HatchbackDoors_Driver","HatchbackDoors_CoDriver","HatchbackHood","HatchbackTrunk"}; //Проверяем m_Car_Equip_Array.Debug(); } /* else if (m_Car_Class == "M3S") { //Тут заполняем массив комплектующими M3S } */ else { Print("::: SpawnCars.c ::: SpawnCar() ::: NO CAR / WRONG CLASS SPECIFIED :::"); return s_Car_Count; } all_Car_Count = CheckNearObjects("7000 0 7000", 20000, m_Car_Class); //Можно отключить если сервер глючит при старте, тогда присовойте all_Car_Count значение - all_Car_Count = 1; (см ниже) //all_Car_Count = 1; for ( int i = 0; i < spawn_Points.Count(); i++ ) { m_Car_Pos = spawn_Points.Get(i); n_Car_Count = CheckNearObjects(m_Car_Pos, 10, m_Car_Class); Print("::: SpawnCars.c ::: n_Car_Count = " + n_Car_Count.ToString()); if (s_Car_Count + all_Car_Count < max_Car_Count) { if (n_Car_Count < 1) { m_Car = EntityAI.Cast(GetGame().CreateObject(m_Car_Class, m_Car_Pos, false, true)); for ( int e = 0; e < m_Car_Equip_Array.Count(); e++ ) { m_Car.GetInventory().CreateAttachment( m_Car_Equip_Array.Get(e) ); } m_Car.SetAllowDamage(damageallow); m_Car.SetHealth("","",Math.RandomInt(min_Car_Health,max_Car_Health)); Print("::: SpawnCars.c ::: Spawned car: " + m_Car.ToString() + ", Position: " + m_Car.GetPosition().ToString()); if (m_Car) { s_Car_Count++; } } else { Print("::: SpawnCars.c ::: Car spawn not allowed at position: " + m_Car_Pos.ToString() + ", becouse nearest car with same class " + m_Car_Class + " found."); } } else { Print("::: SpawnCars.c ::: Car spawn not allowed becouse cars with same class " + m_Car_Class + " >= " + max_Car_Count.ToString()); } } return s_Car_Count; }  
      Подключение
       
      Правим по своему вкусу
      Помещаем код в файл и размещаем в папке доступной серверу
       
      В самом начале init.c
      #include "$CurrentDir:\\путь\\путь\\имя файла с кодом.c
       
      Далее в функции main вызываем спавн
       
      TVectorArray spawn_Points_Niva = {"6063 0 7871"}; //array with positions, for more cars write more positios in to array int SpawnCarsCarsCount = SpawnCar("OffroadHatchback", spawn_Points_Niva, 32, 100, 100, false); //Class, Positions, Max count, min health, max health, damage allow - true/false Print("::: SpawnCars.c ::: SpawnCars() ::: Spawned cars: " + SpawnCarsCarsCount.ToString()); //это просто каммент  
      Или просто
      int SpawnCarsCarsCount;
      SpawnCarsCarsCount = SpawnCar("M3S", {"6000 0 6000", "7000 0 8000"}, 44, 100, 100, false);
       
      Но для M3S нужно прописать комплектуху в SpawnCar() в массив m_Car_Equip_Array
       
      Ну вобщем разберетесь )))
       
       
      Добавлено:
      Альтернативный вариант от комьюнити:
       
    • Автор: TheFirstNoob
      Краткое описание:
      С помощью данного скрипта вы сможете буксировать технику с помощью вертолетов.

      Особенности:
      - Легкие вертолеты (Литл берды) могут буксировать только легкую технику (Мотоциклы, велики)
      - Средние вертолеты (Мишки, Юашки) могут буксировать только легкую и среднюю технику (Хамера, внедорожники, седаны, микроавтобусы)
      - Тяжелые вертолеты (Чинук) могут буксировать все. (Грузовики, водник, бронированная техника)
      - При сбросе техники с большой высоты открывается парашют и помечается зеленым дымом, чтобы техника приземлилась мягко и вы знали где она приземлилась.

      ГАЙД по запрету буксировки закрытой техники: Нажми на меня :3

      1. Качаем сам скрипт: Скачать
      2. Открываем ваш init.sqf и в конце написать:
      [] execVM "=BTC=_Logistic\=BTC=_Logistic_Init.sqf";

      3. Открываем ваш description.ext и после строк:
      aiKills = 1;
      diagRadio = 1;
      diagHit = 1;

      Через строчку вписать следующее:  class RscTitles { class BTC_Hud { idd = 1000; movingEnable=0; duration=1e+011; name = "BTC_Hud_Name"; onLoad = "uiNamespace setVariable ['HUD', _this select 0];"; controlsBackground[] = {}; objects[] = {}; class controls { class Radar { type = 0; idc = 1001; style = 48; x = (SafeZoneW+2*SafeZoneX) - 0.1; //safezonex + 0.1; //0.9 y = (SafeZoneH+2*SafeZoneY) - 0.15; //safezoney + 0.1; //0.85 w = 0.3; h = 0.4; font = "Zeppelin32"; sizeEx = 0.03; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; text = "\ca\ui\data\igui_radar_air_ca.paa"; }; class Img_Obj { type = 0; idc = 1002; style = 48; x = (SafeZoneW+2*SafeZoneX) + 0.045; y = (SafeZoneH+2*SafeZoneY) + 0.045; w = 0.01; h = 0.01; font = "Zeppelin32"; sizeEx = 0.04; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; text = "=BTC=_Logistic\data\=BTC=_Obj.paa"; }; class Pic_Obj { type = 0; idc = 1003; style = 48; x = (SafeZoneW+2*SafeZoneX) - 0.125; y = (SafeZoneH+2*SafeZoneY) - 0.23; w = 0.1; h = 0.1; font = "Zeppelin32"; sizeEx = 0.03; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; text = ""; }; class Arrow { type = 0; idc = 1004; style = 48; x = (SafeZoneW+2*SafeZoneX) + 0.15; y = (SafeZoneH+2*SafeZoneY) - 0.15; w = 0.05; h = 0.05; font = "Zeppelin32"; sizeEx = 0.03; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; text = ""; }; class Type_Obj { type = 0; idc = 1005; style = 0x00; x = (SafeZoneW+2*SafeZoneX) - 0.03; y = (SafeZoneH+2*SafeZoneY) - 0.335; w = 0.3; h = 0.3; font = "Zeppelin32"; sizeEx = 0.03; colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; text = ""; }; }; }; class ExampleTitle { idd = -1; duration = 10; //show for 10 seconds class controls { class ExampleControl { idc = -1; type = 0; style = 2; //centre text x = safeZoneX + safeZoneW - 0.6 * 3 / 4; y = safeZoneY + safeZoneH - 0.6; h = 0.6; w = 0.6 * 3 / 4; //w == h font = "EtelkaNarrowMediumPro"; sizeEx = 0.03; colorBackground[] = {1,1,0,1}; //yellow background colorText[] = {0,0,1,1}; //blue text text = "Bottom Right Corner Square Box"; }; }; }; };  
      Готово!

      P.S. В папке =BTC=_Logistic в файле =BTC=_Logistic_init.sqf можно добавить дополнительную авиа-технику и технику, которая она будет способна буксировать.

      Открыв =BTC=_Logistic_init.sqf можно увидеть:
      case "AH6X_DZ" : {_array = ["Motorcycle"];};где "AH6X_DZ" - название воздушной единицы, которая будет поднимать груз где "Motorcycle" - название наземной единицы, которую будет поднимать соответственно "AH6X_DZ"
×
×
  • Создать...