Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
WereB

Настройка респавна транспорта

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

Итак, есть затруднение с респавном техники. Имеется сервер для локальной сети, Epoch 1.0.5.1/Taviana/112555 с инфистаром, DZAI, EMS, WAI. Ставил все сам, и оно таки работает. Не со всеми скриптами всегда все ясно, но я терпеливый, разбираюсь потихоньку. Вот что действительно заставило меня родить ежа, так это респавн техники после каждого перезапуска сервера.

 

Теперь конкретика.

Игроки попросили усложнить им жизнь. Взвинтил цены, поставил кастомную таблицу лута, где ничего лучше АКСУ не найти - и то, постараться надо, подтянул скиллы ботам. Далее убрал из базы вручную всю технику, прописал в init.sqf MaxVehicleLimit = 20 и запустил все это на радость пользователям. И тут понеслось. 

Игроки технику нашли, что-то продали, что-то уничтожили. В итоге в базе осталось 5 или 6 единиц транспорта. После презапуска транспорт опять начал спавнится до того самого значения 20 единиц. И так каждый раз, то есть если в базе меньше 20 машин (именно спавненных, не купленных), при следующем перезапуске игра автоматом доводит это значение до 20. 

А теперь собственно вопрос: как сделать так, чтобы единожды заспавненная база техники не обновлялась при каждом рестарте? То есть поставил 20 единиц, ее продали/уничтожили и все, карта пустая, техника больше не появляется.

 

Конечно, можно поступить иначе. Прописать MaxVehicleLimit = 20, запустить сервер. После того, как в базу попадут записи о спавненном транспорте, закрыть сервер, прописать MaxVehicleLimit = 0, снова запустить и больше не думать об этой проблеме. Но хотелось бы все же понять, как именно работает система респавна.

 

Всем заинтересовавшимся проблемой, заранее спасибо.

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

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

Итак, есть затруднение с респавном техники. Имеется сервер для локальной сети, Epoch 1.0.5.1/Taviana/112555 с инфистаром, DZAI, EMS, WAI. Ставил все сам, и оно таки работает. Не со всеми скриптами всегда все ясно, но я терпеливый, разбираюсь потихоньку. Вот что действительно заставило меня родить ежа, так это респавн техники после каждого перезапуска сервера.

 

Теперь конкретика.

Игроки попросили усложнить им жизнь. Взвинтил цены, поставил кастомную таблицу лута, где ничего лучше АКСУ не найти - и то, постараться надо, подтянул скиллы ботам. Далее убрал из базы вручную всю технику, прописал в init.sqf MaxVehicleLimit = 20 и запустил все это на радость пользователям. И тут понеслось. 

Игроки технику нашли, что-то продали, что-то уничтожили. В итоге в базе осталось 5 или 6 единиц транспорта. После презапуска транспорт опять начал спавнится до того самого значения 20 единиц. И так каждый раз, то есть если в базе меньше 20 машин (именно спавненных, не купленных), при следующем перезапуске игра автоматом доводит это значение до 20. 

А теперь собственно вопрос: как сделать так, чтобы единожды заспавненная база техники не обновлялась при каждом рестарте? То есть поставил 20 единиц, ее продали/уничтожили и все, карта пустая, техника больше не появляется.

 

Конечно, можно поступить иначе. Прописать MaxVehicleLimit = 20, запустить сервер. После того, как в базу попадут записи о спавненном транспорте, закрыть сервер, прописать MaxVehicleLimit = 0, снова запустить и больше не думать об этой проблеме. Но хотелось бы все же понять, как именно работает система респавна.

 

Всем заинтересовавшимся проблемой, заранее спасибо.

Сомневаюсь, что есть другое решение. 

с каждым рестартом заново запускается сервер и происходит проверка на то, что если ("ТС с CharId = 0" = TS) < MaxVehLim , то заспавнить еще MaxVehLim-TS.

 

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

надеюсь помог.

Edited by GaspArt (see edit history)

Share this post


Link to post
Share on other sites







  • 0

 

Сомневаюсь, что есть другое решение.  с каждым рестартом заново запускается сервер и происходит проверка на то, что если ("ТС с CharId = 0" = TS) < MaxVehLim , то заспавнить еще MaxVehLim-TS. Можно конечно помудрить и сделать что-нибудь интереснее используя Базу Данных. Создать эвент и запихнуть туда чего душе угодно. Креативных мыслей нету))  надеюсь помог.

 

И на том спасибо :) Про эвенты даже не подумал, если честно. Благодарствую, буду курить sql. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By DrTauren
      В этом гайде мы разберёмся как настроить стартовый лут на сервере DayZ Standalone. Наверняка многие знают как это сделать, но, думаю, не все 

      Инструкция:
      1) Открываем файл init.c, который находится в папке mpmissions вашего сервера и ищем такие строки:
      EntityAI itemEnt; ItemBase itemBs; Сразу после них находится блок примерно такого вида:
      itemEnt = player.GetInventory().CreateInInventory("Rag"); itemBs = ItemBase.Cast(itemEnt); itemBs.SetQuantity(4); SetRandomHealth(itemEnt); itemEnt = player.GetInventory().CreateInInventory("RoadFlare"); itemBs = ItemBase.Cast(itemEnt); Именно здесь и задаётся стартовый лут персонажа. Видим что в стартовом луте прописан фаер и четыре бинта.
      itemEnt = player.GetInventory().CreateInInventory("Rag"); - Rag это класснейм предмета (бинта) itemBs.SetQuantity(4); - количество бинтов и т.д. в пачке, коробке и т.д. Эти два блока нам и нужно удалить и заменить на свои.
      2) Открываем файл types.xml. В этом файле прописаны класснеймы предметов, имеющихся в игре. Находим нужные и оформляем файл init.c под себя. Добавим, например, рюкзак, бобы, каску, куртку, штаны и колу:
      // рюкзак itemEnt = player.GetInventory().CreateInInventory("AliceBag_Black"); itemBs = ItemBase.Cast(itemEnt); // бобы itemEnt = player.GetInventory().CreateInInventory("BakedBeansCan"); itemBs = ItemBase.Cast(itemEnt); // каска itemEnt = player.GetInventory().CreateInInventory("BallisticHelmet_Black"); itemBs = ItemBase.Cast(itemEnt); // куртка itemEnt = player.GetInventory().CreateInInventory("BomberJacket_Grey"); itemBs = ItemBase.Cast(itemEnt); // штаны itemEnt = player.GetInventory().CreateInInventory("CargoPants_Black"); itemBs = ItemBase.Cast(itemEnt); // кола itemEnt = player.GetInventory().CreateInInventory("SodaCan_Cola"); itemBs = ItemBase.Cast(itemEnt); Таким образом, весь файл init.c должен выглядеть примерно так:
       
       

      Подробности о том как заспавнить оружие с магазинами, машины, предметы и тому подобное написаны в разделе init.c тут:
       
    • By ЭтоЯ
      Не получается закрыть транспорт, хотя кнопка есть. 
       
       4:13:42 File mpmissions\DayZ_Epoch_11.Chernarus\custom\local_lockUnlock.sqf, line 19
       4:13:42 Suspending not allowed in this context
       
      Попробовал файл поменять на оригинальный - не помогло.
    • By 123new
      В данной теме выкладываю информацию для новеньких, о том, как в официальной версии DayZ 0.61 и 0.62 отключить официальный спавнер хеликрашей и автокрашей (полицейские волги) на сервере.
      Также, в теме помечу, как в моей сборке серверной части отключить спавн транспорта.
       
      Для этого достаточно пройти по пути к файлу: MPMissions\dayz_Auto.ChernarusPlus\db\events.xml
      И удалить блоки с вот этими строками из файла
      <event name="StaticHeliCrash"> <waves>4</waves> <nominal>4</nominal> <min>2</min> <max>10</max> <lifetime>600</lifetime> <restock>1</restock> <saferadius>1000</saferadius> <distanceradius>2000</distanceradius> <cleanupradius>500</cleanupradius> <deletedamaged>1</deletedamaged> <flags>131344</flags> <children> <child flags="0" lootmax="20" lootmin="10" max="8" min="1" type="Land_Mi8_Crashed"/> <child flags="0" lootmax="20" lootmin="10" max="8" min="1" type="Land_Mi8_Crashed" /> <child flags="0" lootmax="20" lootmin="10" max="8" min="1" type="Land_UH1Y_Wreck" /> <child flags="0" lootmax="20" lootmin="10" max="8" min="1" type="Land_hiluxT" /> <child flags="0" lootmax="20" lootmin="10" max="8" min="1" type="Land_bmp2_wrecked" /> <child flags="0" lootmax="20" lootmin="10" max="8" min="1" type="Land_bvp1T" /> </children> </event> <event name="StaticPoliceCar"> <waves>0</waves> <nominal>10</nominal> <min>2</min> <max>4</max> <lifetime>2500</lifetime> <restock>0</restock> <saferadius>500</saferadius> <distanceradius>2000</distanceradius> <cleanupradius>200</cleanupradius> <deletedamaged>0</deletedamaged> <flags>131344</flags> <children> <child flags="0" lootmax="5" lootmin="2" max="10" min="10" type="Land_Volha_police_DayZ"/> </children> </event> И удаляем папку с вашим storage из папки с сервером, если такая у вас имеется.

      Если у вас стоит одна из моих сборок серверной части DayZ 0.62 или DayZ 0.61, их спавн у вас может быть также включен в виде скрипта. Отключаем его так:
      Открываем файл MPMissions\dayz_Auto.ChernarusPlus\init.sqf в Notepad++ или блокноте
      Выставляем параметр вот этот в такое значение:
      _Enable_SPAWNER_HELICRASHES = false;  
    • By 123new
      В данной теме выкладываю информацию для новеньких, о том, как в официальной версии DayZ 0.61 и 0.62 отключить официальный спавнер транспорта на сервере.
      Также, в теме помечу, как в моей сборке серверной части отключить спавн транспорта.
       
      Для этого достаточно пройти по пути к файлу: MPMissions\dayz_Auto.ChernarusPlus\db\events.xml
      И удалить блоки с вот этими строками из файла
      <event name="VehicleOffroadHatchback"> <waves>3</waves> <nominal>6</nominal> <min>3</min> <max>6</max> <lifetime>25000</lifetime> <restock>0</restock> <saferadius>1000</saferadius> <distanceradius>2000</distanceradius> <cleanupradius>0</cleanupradius> <deletedamaged>1</deletedamaged> <flags>262400</flags> <children> <child flags="0" lootmax="0" lootmin="0" max="6" min="6" type="OffroadHatchback"/> </children> </event> <event name="VehicleCivilianSedan"> <waves>3</waves> <nominal>4</nominal> <min>8</min> <max>8</max> <lifetime>0</lifetime> <restock>0</restock> <saferadius>1000</saferadius> <distanceradius>2000</distanceradius> <cleanupradius>0</cleanupradius> <deletedamaged>1</deletedamaged> <flags>262400</flags> <children> <child flags="0" lootmax="0" lootmin="0" max="8" min="8" type="CivilianSedan"/> </children> </event> <event name="VehicleTransitBus"> <waves>3</waves> <nominal>5</nominal> <min>3</min> <max>5</max> <lifetime>25000</lifetime> <restock>0</restock> <saferadius>1000</saferadius> <distanceradius>2000</distanceradius> <cleanupradius>0</cleanupradius> <deletedamaged>1</deletedamaged> <flags>262400</flags> <children> <child flags="0" lootmax="0" lootmin="0" max="5" min="5" type="TransitBus"/> </children> </event> <event name="VehicleV3SCargo"> <waves>3</waves> <nominal>0</nominal> <min>3</min> <max>5</max> <lifetime>2500</lifetime> <restock>0</restock> <saferadius>1000</saferadius> <distanceradius>2000</distanceradius> <cleanupradius>0</cleanupradius> <deletedamaged>1</deletedamaged> <flags>262400</flags> <children> <child flags="0" lootmax="0" lootmin="0" max="5" min="5" type="V3S_Cargo_Orange"/> <child flags="0" lootmax="0" lootmin="0" max="5" min="5" type="V3S_Cargo_Blue"/> <child flags="0" lootmax="0" lootmin="0" max="5" min="5" type="V3S_Cargo_Grey"/> <child flags="0" lootmax="0" lootmin="0" max="5" min="5" type="V3S_Cargo"/> </children> </event> <event name="VehicleV3SChassis"> <waves>3</waves> <nominal>10</nominal> <min>5</min> <max>10</max> <lifetime>2500</lifetime> <restock>0</restock> <saferadius>1000</saferadius> <distanceradius>1500</distanceradius> <cleanupradius>0</cleanupradius> <deletedamaged>1</deletedamaged> <flags>262400</flags> <children> <child flags="0" lootmax="0" lootmin="0" max="10" min="10" type="V3S_Chassis_Orange"/> <child flags="0" lootmax="0" lootmin="0" max="10" min="10" type="V3S_Chassis"/> <child flags="0" lootmax="0" lootmin="0" max="10" min="10" type="V3S_Chassis_Blue"/> <child flags="0" lootmax="0" lootmin="0" max="10" min="10" type="V3S_Chassis_Grey"/> </children> </event> И удаляем папку с вашим storage из папки с сервером, если такая у вас имеется.

      Если у вас стоит одна из моих сборок серверной части DayZ 0.62 или DayZ 0.61, то спавн транспорта у вас может быть также включен в виде скрипта. Отключаем его так:
      Открываем файл MPMissions\dayz_Auto.ChernarusPlus\init.sqf в Notepad++ или блокноте
      Выставляем параметр вот этот в такое значение:
      _Enable_SPAWNER_CARS = false;
    • By exploadead
      Всем приветы! Облазил много забугорных форумов, решения не нашел, может тут что подскажете:)

      На сервере создаётся виртуальный арсенал в ящике... не полный, а заранее настроенный... через BIS_fnc_addVirtualItemCargo и тд. для всей экипировки... Всё норм работает.
      Проблема в том, что всем доступна кнопка ЗАГРУЗИТЬ. Таким образом заранее определённый набор в арсенале теряет смысл, т.к. особо умные люди могут предварительно в виртуальном арсенале игры (не заходя на сервер) наделать себе наборы, сохранить их, а на сервере просто загружать через эту кнопку... Получая таким способом запрещенные оружия, форму и предметы... 
       
      Так вот кто-нибудь знает как можно отключить эту кнопку в диалоге арсенала на сервере?:)
      Заранее всем спасибо!
       
  • Our picks

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.