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

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

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

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

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

1) Каким способом можно сделать динамические нпс на сервере? Отображение НПС ( боты, трейдеры, игроки ) в определенном радиусе.

2) Как сделать динамичными постройки игроков ( Епоч постройки ) ?

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


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

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

  • 0

Сформулируйте вопрос правильно, что вы понимаете под значением слов "динамические" и "динамичными". Отображение НПС? ака есп или на карте?

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


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



Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

    • Автор: paranoyk
      Постоянный вопрос - как спавнить лут в зомби.
      Ванильные зомби изначально имеют инвентарь. Модовые-не всегда, поэтому тут или обращаться к разработчику мода или пробовать в меру возможности переписать конфиг у мода (как-рассматривается в профильных темах).
      Пример:
       
      class MyZombie; // ID зомби { class Cargo //указываешь, что у этого зомби есть карго { itemsCargoSize[]={4,4}; //Размер инвентаря allowOwnedCargoManipulation=1; //Возможность взять openable=0; //Доступность }; }; Далее есть три варианта спавна лута.
      Первый-с помощью пресетов
      Второй-с помощью карго
      Третий-смешанный
      Для первого варианта переходим в папку cfgrandompresets.xml , создаём нужны нам "набор", "пресет".
      <cargo chance="Шанс спавна пресета от 0 до 1" name="Наименование вашего персета"> <item name="ID лута" chance="Шанс выпадения лута от 0 до 1" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> <item name="ID лута" chance="Шанс выпадения лута" /> </cargo> Количество предметов может быть любым но заспанится только один или вообще ни одного.
      Механика работает следующем образом. Шанс выпадения пресета - если рандомайзер выдаст число больше или равное вашему шансу что в пресете  то спавн считается верным и переходит к проверке лута,если нет-спавна не будет. Грубо говоря если прописать 0 то спавна не будет, если 1.0 то пресет заспанится обязательно если лут пройдёт проверку (ниже).
      Далее аналогично шансу пресета рассчитывается выпадение каждого лута, если при проверке один должен заспавнится - остальные не проверяются. Если ни один не проходит проверку - спавна не будет. Если прописать 0, то лут точно никогда не заспавнится, если 1.0 то спавн будет.
      Порядок проверки лута случаен. (или псевдослучаен, если быть точнее). Поэтому если все вещи имеют шанс 1.0 то выпадет только одна из.
      Далее переходим в файл cfgspawnabletypes.xml .
      Находим вашего НПС или вписываем своего.
      <type name="ID вашего НПС"> <cargo preset="Имя вашего пресета" /> <cargo preset="toolsIndustrial (как пример с ванили)" /> <attachments preset="аттачменты НПС если они прописаны" /> <attachments preset="hatsIndustrial (как пример с ванили)" /> <attachments preset="bagsIndustrial" /> <attachments preset="vestsIndustrial" /> </type> НПС может иметь сколько угодно пресетов, для каждого походит расчёт на спавн лута. Если и из первого и второго, как примере, должен заспавнится лут-в НПС будет две вещи.
      Внимание! Спавнер не умеет поворачивать вещи в инвентаре и "играть в тэтрис". Если лут не помещается - спавна не будет!
      Что дают нам пресеты при спавне - рэндом спавна вещей из списка пресета.
      Второй вариант.
      Переходим сразу в файл cfgspawnabletypes.xml
      Находим НПС или вписываем своего
      <type name="ID вашего НПС"> <cargo chance="Шанс выпадения лута от 0 до 1"> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> </cargo> <cargo chance="Шанс выпадения лута от 0 до 1"> <item name="ID лута" chance="Шанс выпадения конкретного лута от 0 до 1" /> </cargo> <attachments preset="glassesVillage" /> <attachments preset="hatsPrisoner" /> </type> Всё одинаково с первым вариантом, используется чаще всего когда нужно прописать спавн одной-двух вещей, что бы не плодить пресеты. Или вы хотите конкретному НПС давать в инвентарь конкретную вещь.
      Третий вариант просто гибрид первого и второго варианта.
      Как пример.
      <type name="ZmbM_HikerSkinny_Yellow"> <cargo preset="foodHermit" /> <cargo preset="toolsHermit" /> <cargo chance="0.5"> <item name="TLRLight" chance="1.0" /> </cargo> <attachments preset="hatsFarm" /> <attachments preset="Headtorches" /> </type> ....У НПС есть шанс появления лута из пресета foodHermit и toolsHermit или оба два:) и шанс 0.5 TLRLight .
      И ещё раз, СПАВНЕР НЕ УМЕЕТ ИГРАТЬ В ТЭТРИС С ВАШИМ ЛУТОМ В ИНВЕНТАРЕ!
      Иногда когда используется второй вариант при обязательном спавне лута приходится менять порядок. Бывает что помогает.

      Насчёт расчёта шанса, можно считать что 1.0 это 100%, а 0.01 это один процент. Если кому так легче.

      Как то так....

      создано в соавторстве с @skadjna 
    • Автор: Yahweh
      Миссия с динамичными постройками должна же находится в миссии?
      Вот мой файл компакт файл
      _fileName = "mission.sqf"; // Name of file to convert private ["_compact","_type"]; if ((preprocessFileLineNumbers _fileName) != "") then { outPutObjects = format[" Begin objects output for file: %1",_fileName]; outPutUnits = format[" Begin units output for file: %1",_fileName]; bigObjectArray = []; call compile preProcessFileLineNumbers _fileName; { //_pos = getPosASL _x; //if !(surfaceIsWater _pos) then {_pos = ASLToATL _pos;}; // less accurate than getPos _type = typeOf _x; _compact = []; _compact set [0,_type]; _compact set [1,(getPos _x)]; _compact set [2,(getDir _x)]; if (_type isKindOf "Man") then { outPutUnits = outPutUnits + ", " + str(_compact); } else { outPutObjects = outPutObjects + ", " + str(_compact); }; } count bigObjectArray; {deleteVehicle _x;} count bigObjectArray; outPutObjects = outPutObjects + format[" End objects output for file: %1 ",_fileName]; outPutUnits = outPutUnits + format[" End units output for file: %1 ",_fileName]; profileNamespace setVariable["objectsArrayOutput",outPutObjects]; profileNamespace setVariable["unitsArrayOutput",outPutUnits]; saveProfileNamespace; cutText ["[RDZ]: Сервер читает профиль армы - успешно.","PLAIN",3]; systemChat "[RDZ]: Сервер читает профиль армы - успешно."; } else { cutText ["[RDZ]: Файл некоректен.","PLAIN",3]; systemChat "[RDZ]: Файл некоректен."; bigObjectArray set [count bigObjectArray,_this];}; Пример миссии
       
      private ["_object","_objects"]; _objects = [ ["MAP_kr_t_asf2_asf2",[12961.76,5964.8501,0.15310472],-10.671323], ["MAP_asf2_7_100",[12930.017,5960.1909],77.587875], ["MAP_asf2_7_100",[12955.713,5963.6875,1.5258789e-005],-100.71323], ["MAP_asf2_7_100",[12917.463,5956.6279,6.1035156e-005],70.514389], ["MAP_asf2_7_100",[12905.515,5951.5269,-0.00010681152],63.253605], ["MAP_asf2_7_100",[12894.314,5945.0688,-1.5258789e-005],56.341312], ["MAP_asf2_1_1000",[12879.95,5935.3545,-1.5258789e-005],55.49305], ["MAP_asf2_7_100",[12869.803,5927.2026,4.5776367e-005],47.660374], ["MAP_asf2_1_1000",[12856.908,5915.7285,4.5776367e-005],47.868805], ["MAP_asf2_1_1000",[12844.306,5903.8462,0.00012207031],46.32745], ["MAP_asf2_7_100",[12835.914,5894.1909,4.5776367e-005],36.739189], ["MAP_asf2_7_100",[12829.659,5882.9961,4.5776367e-005],25.568272], ["MAP_asf2_1_1000",[12823.605,5867.1274,0],20.118275], ["MAP_asf2_0_2000",[12817.941,5850.8198,6.1035156e-005],18.996674], ["MAP_asf2_0_2000",[12812.266,5834.458,-1.5258789e-005],18.961143], ["MAP_asf2_0_2000",[12806.635,5818.0415,6.1035156e-005],18.447439], ["MAP_asf2_0_2000",[12801.018,5801.6597,-6.1035156e-005],18.669155], ["MAP_asf2_7_100",[12801.099,5801.8203,6.1035156e-005],201.17354], ["MAP_asf2_7_100",[12795.614,5789.9873,-3.0517578e-005],209.06213], ["MAP_asf2_0_2000",[12788.701,5779.2607,4.5776367e-005],-140.57358], ["MAP_asf2_0_2000",[12777.543,5765.9336,0.00010681152],-139.87437], ["MAP_asf2_0_2000",[12766.168,5752.8398,0],-139.17378], ["MAP_asf2_0_2000",[12754.739,5739.7109,-4.5776367e-005],-138.42322], ["MAP_asf2_7_100",[12743.185,5726.8022,0.00015258789],222.39578], ["MAP_asf2_7_100",[12733.965,5717.9482,0.00015258789],228.63528], ["MAP_asf2_0_2000",[12723.871,5710.1357,1.5258789e-005],-127.61487], ["MAP_asf2_0_2000",[12710.236,5699.7227,0.00018310547],-130.19102], ["MAP_asf2_22_50",[12684.475,5673.5396,-0.00024414063],28.383541], ["MAP_asf2_0_2000",[12675.876,5658.6016,-3.0517578e-005],29.571743], ["MAP_asf2_0_2000",[12667.312,5643.4717,0.00015258789],29.093756], ["MAP_asf2_0_2000",[12658.713,5628.5283,4.5776367e-005],29.571743], ["MAP_asf2_0_2000",[12650.103,5613.521,6.1035156e-005],29.571743], ["MAP_asf2_0_2000",[12641.524,5598.583,1.5258789e-005],29.571743], ["MAP_asf2_22_50",[12634.366,5580.7642,7.6293945e-005],10.591627], ["MAP_asf2_0_2000",[12630.915,5563.8789,-1.5258789e-005],11.410409], ["MAP_asf2_0_2000",[12629.36,5525.4233,-3.0517578e-005],-168.01964], ["MAP_asf2_22_50",[12629.826,5544.7173,-4.5776367e-005],-7.9248333], ["MAP_asf2_22_50",[12629.801,5544.8755,4.5776367e-005],170.0592], ["MAP_asf2_0_2000",[12618.268,5490.7397,0.00012207031],-144.99414], ["MAP_asf2_22_50",[12625.673,5508.4951,4.5776367e-005],191.4584], ["MAP_asf2_0_2000",[12608.246,5476.562,-0.00010681152],-144.99414], ["MAP_asf2_0_2000",[12598.226,5462.4521,-0.00019836426],-144.99414], ["MAP_asf2_22_50",[12581.991,5430.1714,-7.6293945e-005],8.0685301], ["MAP_asf2_0_2000",[12579.054,5413.1895,0.00010681152],9.6576042], ["MAP_asf2_22_50",[12579.195,5413.71,4.5776367e-005],-166.46851], ["MAP_asf2_22_50",[12571.106,5396.1196,-6.1035156e-005],-142.16188], ["MAP_asf2_0_2000",[12556.486,5383.4302,0],-120.19775], ["MAP_asf2_0_2000",[12541.514,5374.7935,4.5776367e-005],-120.19775], ["MAP_asf2_0_2000",[12526.5,5366.1313,-1.5258789e-005],-120.19775], ["MAP_asf2_0_2000",[12511.476,5357.4668,3.0517578e-005],-120.19775], ["MAP_asf2_22_50",[12481.611,5336.3604,-9.1552734e-005],38.767746], ["MAP_asf2_0_2000",[12471.125,5322.6348,0.00021362305],37.194469], ["MAP_asf2_0_2000",[12462.639,5308.0112,0.00010681152],30.022554], ["MAP_asf2_22_50",[12456.357,5289.7759,0.00010681152],7.7718935], ["MAP_asf2_22_50",[12456.412,5289.9404,4.5776367e-005],188.39738], ["MAP_asf2_0_2000",[12449.95,5271.7358,0],-151.13425], ["MAP_asf2_0_2000",[12441.505,5256.585,-1.5258789e-005],-150.38803], ["MAP_asf2_0_2000",[12432.807,5241.5347,1.5258789e-005],-150.38803], ["MAP_asf2_0_2000",[12424.162,5226.4478,1.5258789e-005],-150.38803], ["MAP_asf2_0_2000",[12415.536,5211.4189,-1.5258789e-005],-150.38803], ["MAP_asf2_0_2000",[12406.978,5196.5063,-1.5258789e-005],-150.38803], ["MAP_asf2_22_50",[12391.285,5163.417,1.5258789e-005],10.087194], ["MAP_asf2_0_2000",[12388.303,5146.2896,-1.5258789e-005],9.7330446], ["MAP_asf2_0_2000",[12386.209,5129.2861,4.5776367e-005],6.7555504], ["MAP_asf2_22_50",[12388.193,5110.2261,1.5258789e-005],-17.109587], ["MAP_asf2_0_2000",[12393.962,5093.9917,6.1035156e-005],-19.840439], ["MAP_asf2_6konec",[12396.037,5088.2959,-6.1035156e-005],-19.853428], ["MAP_t_pyrus2s",[12381.131,5078.8618,-1.2484815],25.367994], ["MAP_t_quercus2f",[12402.81,5104.4409,0.34566125],-90.784027], ["MAP_t_populus3s",[12391.747,5122.624,-3.0517578e-005],25.872578], ["MAP_t_pinusS2f",[12419.986,5046.5391,-0.00015258789],16.578789], ["MAP_t_populus3s",[12395.714,5150.7075,-3.0517578e-005],20.484444], ["MAP_t_populus3s",[12404.16,5178.7041,4.5776367e-005],20.484444], ["MAP_t_populus3s",[12437.676,5237.1641,-0.00010681152],20.484444], ["MAP_t_populus3s",[12453.387,5265.4536,0.12509425],31.977455], ["MAP_t_populus3s",[12463.763,5295.6968,0.078610808],-17.665117], ["MAP_t_populus3s",[12483.958,5327.5596,7.6293945e-005],20.484444], ["MAP_t_populus3s",[12507.187,5347.0508,-0.00019836426],20.484444], ["MAP_t_populus3s",[12534.619,5363.5791,-6.1035156e-005],20.484444], ["MAP_t_populus3s",[12572.636,5389.1646,-0.00021362305],20.484444], ["MAP_t_populus3s",[12585.167,5407.8857,1.5258789e-005],20.484444], ["MAP_t_populus3s",[12594.908,5443.7573,4.5776367e-005],20.484444], ["MAP_t_populus3s",[12628.753,5494.4067,0.00016784668],20.484444], ["MAP_t_populus3s",[12634.842,5518.8501,-0.00012207031],20.484444], ["MAP_t_populus3s",[12643.348,5583.519,-0.00015258789],20.484444], ["MAP_t_populus3s",[12692.736,5671.7485,3.0517578e-005],20.484444], ["MAP_t_populus3s",[12730.438,5705.6533,0.00016784668],20.484444], ["MAP_t_populus3s",[12768.995,5744.1948,4.5776367e-005],20.484444], ["MAP_t_populus3s",[12801.028,5784.0645,3.0517578e-005],20.484444], ["MAP_t_populus3s",[12814.593,5815.8687,3.0517578e-005],20.484444], ["MAP_t_populus3s",[12826.802,5850.1631,6.1035156e-005],20.484444], ["MAP_t_populus3s",[12840.684,5886.2412,-3.0517578e-005],20.484444], ["MAP_t_populus3s",[12870.388,5917.1426,0.00024414063],20.484444], ["MAP_t_populus3s",[12901.829,5940.2227,0.00021362305],20.484444], ["MAP_t_populus3s",[12931.166,5953.0938,-0.0001373291],20.484444], ["MAP_t_populus3s",[12955.889,5956.7402,6.1035156e-005],20.484444], ["MAP_t_populus3s",[12675.719,5643.7969,0.20396914],-44.703213], ["MAP_t_populus3s",[12654.184,5607.1416,0.15627691],-34.953941], ["MAP_t_populus3s",[12421.755,5209.5605,0.16859712],20.484444], ["MAP_t_populus3s",[12783.314,5762.4585,-3.0517578e-005],-20.693563], ["MAP_t_pyrus2s",[12379.632,5092.2349,0.20175517],-142.66637], ["MAP_t_pinusN2s",[12378.704,5107.3486,0.1038281],22.037758], ["MAP_t_fraxinus2W",[12413.718,5043.3687,3.0517578e-005],-9.7274151], ["ClutterCutter_EP1",[12838.171,5873.1226,6.1035156e-005],0], ["ClutterCutter_EP1",[12834.66,5892.0098,4.5776367e-005],0], ["ClutterCutter_small_EP1",[12841.059,5900.2749,9.1552734e-005],0], ["ClutterCutter_small_EP1",[12847.492,5907.1162,0.00010681152],0], ["ClutterCutter_small_EP1",[12854.642,5913.7441,9.1552734e-005],0], ["ClutterCutter_small_EP1",[12863.591,5922.187,-7.6293945e-005],0], ["ClutterCutter_small_EP1",[12872.363,5929.5669,3.0517578e-005],0], ["ClutterCutter_small_EP1",[12878.904,5933.5049,-3.0517578e-005],0], ["ClutterCutter_small_EP1",[12884.042,5938.0298,-1.5258789e-005],0], ["ClutterCutter_small_EP1",[12894.727,5945.7837,4.5776367e-005],0], ["ClutterCutter_small_EP1",[12906.163,5952.4795,0],0], ["ClutterCutter_small_EP1",[12923.688,5958.4336,9.1552734e-005],0] ]; { _object = (_x select 0) createVehicleLocal (_x select 1); _object setDir (_x select 2); _object setPos (_x select 1); _object allowDamage false; _object enableSimulation false; } count _objects; private ["_trader","_traders"]; _traders = [ ["Soldier_MG_PKM_PMC",[8264.5371,15495.855,3.7374172],56.102802], ["GUE_Woodlander3",[8266.668,15482.221,0.10264076],-141.76392], ["GUE_Woodlander2",[8254.9502,15509.599,0.23239325],-170.64685], ["GUE_Worker2",[8262.3057,15499.362,3.5365536],415.11279], ["Damsel3",[8262.2666,15499.865,0.28269568],-131.36397], ["Soldier_GL_PMC",[8243.2871,15505.409,-2.8610229e-005],134.79477], ["GUE_Villager3",[12421.655,5051.9307,0.71062249],6.034544], ["Dr_Annie_Baker_EP1",[12401.616,5045.4702,1.8259125],-35.831966], ["CIV_EuroWoman01_EP1",[12392.748,5053.9941,1.4861736],172.95543], ["US_Delta_Force_AR_EP1",[12427.486,5058.2739,3.513485],-78.654518], ["Graves",[12425.565,5054.9614,3.5064285],-38.965942], ["GUE_Commander",[12421.825,5058.9873,0.15634714],24.803446], ["Ins_Soldier_AR",[15507.673,13226.056,-1.8119812e-005],28.482628], ["Ins_Lopotev",[15503.225,13227.221,-0.00010824203],9.4583635], ["Ins_Woodlander3",[15518.751,13226.484,-7.4863434e-005],-20.681011], ["Ins_Worker2",[15473.157,13187.692,-9.1075897e-005],34.35025], ["Dr_Hladik_EP1",[15520.006,13250.66,0.26522979],-31.105717], ["Tanny_PMC",[5154.019,4855.4419,1.5258789e-005],-93.96814], ["Ins_Woodlander2",[16864.951,5273.5635,1.3620883]], ["TK_Special_Forces_EP1",[6773.3965,16950.34,1.351161],-31.881969], ["RUS_Commander",[5372.9751,16095.265,-0.00016623829],-113.97614], ["TK_Special_Forces_MG_EP1",[2128.2959,7807.7822,6.9963961],-99.433609], ["RUS_Soldier2",[10395.563,8270.3369,-4.5776367e-005],214.98192], ["Drake_Light",[15128.7,16420.936,0.075260207],134.33461], ["Damsel5",[15536.542,13224.494,0.92211318]], ["pook_Doc_Bell47",[8269.4893,15490.62,3.3378601e-006],-104.75245] ]; { _trader = createAgent [_x select 0,_x select 1,[],0,"CAN_COLLIDE"]; {_trader removeMagazine _x;} count magazines _trader; removeAllItems _trader; removeAllWeapons _trader; removeBackpack _trader; _trader switchMove ""; _trader setDir (_x select 2); _trader setVehicleInit "this disableAI 'ANIM'; this disableAI 'AUTOTARGET'; this disableAI 'FSM'; this disableAI 'MOVE'; this disableAI 'TARGET'; this setBehaviour 'CARELESS'; this forceSpeed 0; this allowDamage false;"; _trader setUnitAbility 0.6; _trader disableAI "ANIM"; _trader disableAI "AUTOTARGET"; _trader disableAI "FSM"; _trader disableAI "MOVE"; _trader disableAI "TARGET"; _trader setBehaviour "CARELESS"; _trader forceSpeed 0; _trader allowDamage false; _trader enableSimulation false; } count _traders; processInitCommands;  
      Обьекты появляются, но все ли верно, идет ли загрузка на определенный радиус? Как это проверить?
    • Автор: Yahweh
      Здарова ребят, нужна помощь. В общем хочу напфовский mission.sqf перевести в этот формат 
       
      ["ObjectName",[setPosX,setPosY,setPosZ],setDir],   Есть ли программы или сайты, чтобы быстро перевести все? Без заморочек. А то исправляя одну за другой в ручную сильно надоедает, да и строк очень много. Заранее спасибо.
    • Автор: SteelSoul
      Как отключить все нпс существа (кролики, собаки, козы, рыбы и т.п.)?
  • Наш выбор

×
×
  • Создать...

Важная информация

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