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
VIRrusR

Время роста

:geek: Опять я со своими глупыми вопросами...

Ребята, подскажите, пожалуйста, как изменить время роста огородных культур в игре? 

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

Где вообще параметры времени выращивания искать?

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

VIRrusR 
Что бы огурцы твои не пропадали в файл types.xml добавь это

    <type name="GardenPlot">
        <lifetime>3888000</lifetime>
        <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/>
    </type>

Стоять будет также как и палатки 

Share this post


Link to post
Share on other sites



  • 0

adler14k ,спасибо! Но это увеличение "времени жизни" огорода. А нужно изменить время созревания урожая. Кстати, в чём измеряется liftime? Секунды, миллисекунды, минуты?..

Share this post


Link to post
Share on other sites
  • 0

123new , благодарю. Насколько я понимаю, если "время жизни" объекта превышает время до рестарта, то он сохраняется? Просто хочу быть уверен на 100%.

И кто-нибудь, пожалуйста, подскажите какие параметры в каких файлах отвечают за время роста с/х культур?

Edited by VIRrusR (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Так никто и не знает, где время созревания с/х культур прописано?..

Share this post


Link to post
Share on other sites
  • 0

scripts\4_world\entities\gardenbase\plantbase.c

 

    int     m_DeleteDryPlantTime;             // For how long in seconds can an unwatered plant exist before it disappears
    int     m_SpoiledRemoveTime;            // For how long in seconds a spoiled plant will exist
    int     m_FullMaturityTime;                // How much time needs plant to be full grown in seconds
    int     m_SpoilAfterFullMaturityTime;    // How long in seconds it takes for plant to be spoiled after it is full grown
    int     m_StateChangeTime;                // For how long in seconds will plant stay in one state before its going to next state

Share this post


Link to post
Share on other sites
  • 0

bergaut , огромнейшее спасибо! Я уж думал, что никто не подскажет - всех больше пулемёты интересуют, знаете ли...:smile: 

Share this post


Link to post
Share on other sites
  • 0

VIRrusR А нас рпшников интересует другое))) Как скрипт сделаешь отпиши пжплста, тоже на вооружение возьму.

Share this post


Link to post
Share on other sites
  • 0

bergaut ,извиняюсь за задержку с ответом - был лишен возможности писать сообщения...

Сразу предупреждаю, что я не разбираюсь в программировании и просто потихоньку пытаюсь отследить логику скриптов с помощью здравого смысла и переводчика Google, благо, что БИСовы дети используют в именах классов, функций и переменных читаемые английские слова, в основном. 

Так что  за то, что всё понял правильно ручаться не могу...

 

Итак, собственно настройки времени роста с/х культур задаются именно там, где Вы и указывали: scripts\4_world\entities\gardenbase\plantbase.c

Скрипт на самом деле необычно простой. Собственно, "печка" от которой всё пляшет:

float divided = (float) ((60 * 5) + Math.RandomInt(0, 60 * 1)) / fertility;
		m_FullMaturityTime = divided;
		
		divided = (float)((60 * 30) + Math.RandomInt(0, 60 * 30)) * fertility;
		m_SpoilAfterFullMaturityTime = divided;

m_FullMaturityTime  -время полного созревания растения. Определяется значением переменной "divided". Если отбросить всякие "рандомизаторы-модификаторы", то это 60х5=300 (секунд), т.е. пять минут. Очевидно, что "60" - это задание единиц измерения, в нашем случае это минута, а "5" - количество этих самых минут, требующихся для полного созревания урожая. Меняя второй множитель, определяем длительность созревания для основной последовательности (вскопал, удобрил, посеял, полил), хоть неделю!

 

m_SpoilAfterFullMaturityTime  -время, требующееся для "загнивания" неубранного урожая. Параметр тем более важный, чем большую длительность созревания Вы устанавливаете - из-за того, что есть ещё всякие модификаторы, вносящие отклонения по времени созревания. У меня отклонения от заданного времени созревания достигали двадцати процентов! Это мало значимо, если у Вас задано время созревания, скажем, час - отклонение может составить минут 10...12, а по умолчанию урожай "сгниёт" только через пол часа, т.е. есть запас времени на "жатву". Но если Вы настраиваете время созревания на, скажем, сутки? 1440/5=288, т.е. почти 5 часов! Неслабо?.. Поэтому следует настроить задержку "гниения" на период, перекрывающий возможные отклонения по срокам созревания урожая с запасом, скажем часов на 6...6,5.

 

Подчеркну, что скрипт работает в абсолютном времени ,т.е. хоть у Вас на сервере serverTimeAcceleration=1, хоть 12, по умолчанию, урожай созревает за пять минут, а портится - за пол часа.

 

P.S. Следует учитывать также, что если Вы хотите значительно увеличить время созревания посевов, то нужно увеличить "время жизни" самого огорода в файле types.xml ,оно должно быть больше времени созревания урожая и времени задержки гниения вместе взятых.

 

P.P.S. В скрипте ещё куча "модификаторов" - погода, отклонения от полной последовательности (не полил или не удобрил) и т.д. и т.п. Я в это не лез и не полезу, ибо не интересно, да и, насколько я понимаю, не особо на что влияет.

Edited by VIRrusR (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Подскажите пожалуйста , где найти этот файл scripts\4_world\entities\gardenbase\plantbase.c  или хотя бы путь к нему , я перерыл все , но без результатов

Share this post


Link to post
Share on other sites
  • 0

violets444 C:\Program Files (x86)\Steam\steamapps\common\DayZServer\dta .....файл scripts.pbo который надо распаковать ,а после изменения-запОковать.

 

Share this post


Link to post
Share on other sites
  • 0
29 минут назад, paranoyk сказал:

violets444 C:\Program Files (x86)\Steam\steamapps\common\DayZServer\dta .....файл scripts.pbo который надо распаковать ,а после изменения-запОковать.

 

Я правильно понимаю, если я внесу изменения в scripts.pbo и обратно запакую его , то мне нужно будет произвести какие то манипуляции с файлом ключа scripts.pbo.dayz.bisign  ?!

Share this post


Link to post
Share on other sites
  • 0
16 часов назад, violets444 сказал:

Я правильно понимаю, если я внесу изменения в scripts.pbo и обратно запакую его , то мне нужно будет произвести какие то манипуляции с файлом ключа scripts.pbo.dayz.bisign  ?!

это зависит от того как сервер настроен.
можно сделать так:
1. распаковываем scripts.pbo и получаем папку scripts

2. папку scripts перемещаем в корень сервера

3. В параметры запуска сервера добавляем -FilePatching

и ругаться не будет. и запаковывать в пбо назад не надо.

Share this post


Link to post
Share on other sites
  • 0

violets444 в рараметр запуска сервера добавить      -filepatching

 scripts.pbo можно не паковать а его содержимое поместить в папку scripts в корневой папке сервера

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites
  • 0

violets444 я кстати тож планировал это все сделать, но время роста установить сутки

 

Вот только как на это повлияет рестарт

Share this post


Link to post
Share on other sites
  • 0
20 часов назад, BorizzK сказал:

violets444 я кстати тож планировал это все сделать, но время роста установить сутки

 

Вот только как на это повлияет рестарт

Надо увеличить время жизни грядки и увеличить время на процесс гниения, чтобы время на процесс роста вписывалось в эти диапазоны

Share this post


Link to post
Share on other sites
  • 0
23 минуты назад, Tsveig сказал:

 А сейчас это так же работает? 

работает но при условии отключения параметра verifysignatures=0; так как разработчики игры чето сломали.

Share this post


Link to post
Share on other sites
  • 0

Я нашел эту строчку, но тогда люди смогут заходить без модов на сервер?

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

×
×
  • 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.