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

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

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

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

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

Несколько вопросов по Dayz SA

1) Интересует простой скрипт с оповещениями в чат о входе игрока ?

2) Оповещение о убийствах между игроками ?

3) В каком файле поменять лут зомби? , хочу разнообразить лут особенно у военных.

4) И такой вопрос на всех серверах лагает в момент смены погоды ? Зависает на несколько секунд, потом меняется погода.

Пожалуй все , спасибо за ответы! 

Изменено пользователем Altair (история изменений)

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


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

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

  • 0

Или вам лень писать и делиться а то сервер будет похож на ваш !?, ох уж это сообщество русскоязычное 

Изменено пользователем Altair (история изменений)

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


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





  • 0

2 пункт есть на форуме, ищите внимательно в разделе гайдов
4 не замечал такого, может я просто скриптами занимаюсь больше чем играю)

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


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

1. Посмотри в моде (админке) DayZ-SA-Tomato https://steamcommunity.com/sharedfiles/filedetails/?id=1575615457

2. На форуме есть и в DayZ-SA-Tomato

4. Замечал на своем сервере.

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 11.02.2019 в 13:57, Altair сказал:

1) Интересует простой скрипт с оповещениями в чат о входе игрока ?

2) Оповещение о убийствах между игроками ?

3) В каком файле поменять лут зомби? , хочу разнообразить лут особенно у военных.

4) И такой вопрос на всех серверах лагает в момент смены погоды ? Зависает на несколько секунд, потом меняется погода.

Пожалуй все , спасибо за ответы! 

1. можно скрипт не использовать, а использовать rcon протокол для этого.

2. можно скрипт не использовать, а использовать rcon протокол для этого.

3. cfgrandompresets.xml и cfgspawnabletypes.xml  в папке mpmission

4. да

 

ЗЫ: мне бы в дискорд написал, я бы сказал. я же всегда в сети.

Изменено пользователем AntonivkA (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 12.02.2019 в 19:18, irkutsk38 сказал:

1. Посмотри в моде (админке) DayZ-SA-Tomato https://steamcommunity.com/sharedfiles/filedetails/?id=1575615457

2. На форуме есть и в DayZ-SA-Tomato

4. Замечал на своем сервере.

Томато вызывает падения сервера , ужасная админка 

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


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

Altair согласен, сейчас адекватная только ZomBerry

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 13.02.2019 в 17:21, AntonivkA сказал:

1. можно скрипт не использовать, а использовать rcon протокол для этого.

2. можно скрипт не использовать, а использовать rcon протокол для этого.

3. cfgrandompresets.xml и cfgspawnabletypes.xml  в папке mpmission

4. да

 

ЗЫ: мне бы в дискорд написал, я бы сказал. я же всегда в сети.

Подскажи пожалуйста, как именно менять лут у зомби... если не сложно какой нибудь лёгкий пример, спасибо.

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


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

SergeyMaltsev1992 
cfgrandompresets.xml

cfgspawnabletypes.xml
В папке миссии за это отвечаю два файла (названия выше)
Там всё интуитивно понятно

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
7 часов назад, SergeyMaltsev1992 сказал:

Подскажи пожалуйста, как именно менять лут у зомби... если не сложно какой нибудь лёгкий пример, спасибо.

Пример в cfgrandompresets.xml:

		<cargo chance="0.35" name="foodVillage">
				<item name="SodaCan_Cola" chance="0.11" />
				<item name="SodaCan_Pipsi" chance="0.11" />
				<item name="SodaCan_Spite" chance="0.11" />
				<item name="TunaCan" chance="0.11" />
          
          name="foodVillage" - название категории предметов + название категории места спавна (едаДеревня)
          item name="SodaCan_Cola" - собственно сам предмет
          chance="0.11" - шанс спавна, в данном случае 11% (если нужен шанс 100%, значит ставить нужно 1.0)

В cfgspawnabletypes.xml все точно так же легко.

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


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

AntonivkA 

Цитата

name="foodVillage" - название категории предметов + название категории места спавна (едаДеревня)

Имя "набора" ,а не "категории" и прочее.

Набор спавниться с 35% в "контейнере" в который прописан.

Далее проверка что спавниться

"SodaCan_Cola" "SodaCan_Pipsi" "SodaCan_Spite""TunaCan" с 11% каждый, причём заспавниться только один предмет

(у меня есть подозрение что если "может что то заспавниться" верно,то может выпасть и "ни один предмет не заспавнен")

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 11.02.2019 в 13:57, Altair сказал:

4) И такой вопрос на всех серверах лагает в момент смены погоды ? Зависает на несколько секунд, потом меняется погода.

 

решил эту проблему путем правки погоды в weather.c. 99% фризов исчезли + разнообразил погоду.

1% оставшийся - фризы которые появляются на одних и тех же местах на карте не зависящие от погоды. народ на моем сервере называет это "место стыка".

теперь на автомобиле стало комфортно ездить и игроки практически перестали разбивать их из-за фризов.

Изменено пользователем AntonivkA (история изменений)

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
8 часов назад, AntonivkA сказал:

 

решил эту проблему путем правки погоды в weather.c. 99% фризов исчезли + разнообразил погоду.

1% оставшийся - фризы которые появляются на одних и тех же местах на карте не зависящие от погоды. народ на моем сервере называет это "место стыка".

теперь на автомобиле стало комфортно ездить и игроки практически перестали разбивать их из-за фризов.

а можно взглянуть на файлик этот?

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 час назад, 123new сказал:

а можно взглянуть на файлик этот?

 

исходный вариант от богемии:

/*!
	All classes related to game weather
*/


//-----------------------------------------------------------------------------
/*!
	Weather phenomenon type
*/
enum EWeatherPhenomenon
{
	OVERCAST,
	FOG,
	RAIN
};


//-----------------------------------------------------------------------------
/*!
	Weather phenomenon
*/
class WeatherPhenomenon
{
	//! Returns type of this phenomenon.
	proto native EWeatherPhenomenon GetType();

	//! Returns actual value of phenomenon in range <0, 1>.
	proto native float GetActual();

	//! Returns a forecast value the phenomenon is heading towards.
	proto native float GetForecast();

	/*!
		\brief Sets the forecast.
		\param forecast     Desired forecast value that should be met in given time.
		\param time         A time of the next change (how long it takes in seconds to interpolate to given value).
		\param minDuration  A minimal time in seconds the change will last.
	*/
	proto native void Set( float forecast, float time = 0, float minDuration = 0 );

	//! Reads the time in seconds when the next forecast will be computed.
	proto native float GetNextChange();
	//! Sets the time in seconds when the next forecast will be computed.
	proto native void SetNextChange( float time );

	/*!
		\brief Reads limits of this phenomenon.
		\param fnMin Function minimum (in range <0, 1>).
		\param fnMax Function maximum (in range <0, 1>).
	*/
	proto void GetLimits( out float fnMin, out float fnMax );
	/*!
		\brief Sets limits of this phenomenon.

		Actual value of this phenomenon will be always held in range <fnMin, fnMax>.

		Default values are:
			fnMin  = 0
			fnMax  = 1

		\param fnMin Function minimum (in range <0, 1>).
		\param fnMax Function maximum (in range <0, 1>).
	*/
	proto native void SetLimits( float fnMin, float fnMax );

	/*!
		\brief Reads limits of change when forecast is computed.
		\param fcMin Forecast change minimum (in range <0, 1>).
		\param fcMax Forecast change maximum (in range <0, 1>).
	*/
	proto void GetForecastChangeLimits( out float fcMin, out float fcMax );
	/*!
		\brief Sets limits of change when forecast is computed.

		These limits govern how much the forecast value can change
		when it is computed by weather controller.

		Default values are:
			fcMin  = 0
			fcMax  = 1

		\param fcMin Forecast change minimum (in range <0, 1>).
		\param fcMax Forecast change maximum (in range <0, 1>).
	*/
	proto native void SetForecastChangeLimits( float fcMin, float fcMax );

	/*!
		\brief Reads time range in which next forecast can be computed.
		\param ftMin Minimal number of seconds.
		\param ftMax Maximal number of seconds.
	*/
	proto void GetForecastTimeLimits( out float ftMin, out float ftMax );
	/*!
		\brief Sets time range in which next forecast can be computed.

		Default values are:
			ftMin  = 300  (5 minutes)
			ftMax  = 3600 (1 hour)

		\param ftMin Minimal number of seconds.
		\param ftMax Maximal number of seconds.
	*/
	proto native void SetForecastTimeLimits( float ftMin, float ftMax );

	/*!
		\brief Is called every time the Phenomenon computes new forecast.

		\note Called on server only.

		\param change Computed change of forecast value.
		\param time   Seconds when the next forecast will be computed.
		\return True when script modifies state of this phenomenon false otherwise.
	*/

	bool OnBeforeChange( float change, float time )
	{
		Weather weather = g_Game.GetWeather();
		
		if ( weather.GetMissionWeather() )
			return false;
		
		float rainMin;
		float rainMax;
		float rainTime;
		float rainTimeDur;

		float rainActual = weather.GetRain().GetActual();
		
		float overcastActual = weather.GetOvercast().GetActual();
		float overcastForecast = weather.GetOvercast().GetForecast();
		float overcastNextChange = weather.GetOvercast().GetNextChange();
		
		float overcastInverted = 1.0 - overcastActual;

		weather.SetRainThresholds( 0.75, 1.0, 30 );
		weather.SetWindMaximumSpeed( 30 );

		switch( GetType() )
		{
			case EWeatherPhenomenon.OVERCAST:
				Print( "COMPUTING NEW OVERCAST" );

				float rangeMin = 0.15;
				float rangeHigh = 0.85;
			
				float timeChangeLow = 1800.0;
				float timeChangeMid = 1.5 * timeChangeLow;
				float timeChangeHigh = 2 * timeChangeLow;

				float timeRange = timeChangeLow;
			
				float overcastMid = 0.5;
				float overcastRange = 0.1;

				float rand = Math.RandomFloatInclusive( 0.0, 1.0 );

				if ( rand > rangeMin && rand < rangeHigh )
				{
					overcastMid = 0.5;
					overcastRange = 0.2;
				
					weather.SetWindFunctionParams( 0.1, 0.4, 30 );

					//m_clrCounter += 0.1;
					//m_badCounter -= 0.1;
				}
				else if ( rand <= rangeMin )
				{
					overcastMid = 0.25;
					overcastRange = 0.12;
				
					weather.SetWindFunctionParams( 0.02, 0.2, 30 );

					if ( GetActual() > rangeHigh )
					{
						timeRange = timeChangeHigh;
						weather.SetWindFunctionParams( 0.2, 0.6, 40 );
					}
					else if ( GetActual() > rangeMin )
					{
						timeRange = timeChangeMid;
						weather.SetWindFunctionParams( 0.1, 0.4, 30 );
					}
					else
					{
						timeRange = timeChangeLow;
						weather.SetWindFunctionParams( 0.02, 0.1, 20 );
					}

					//m_clrCounter -= 0.1;
					//m_badCounter -= 0.1;
				}
				else
				{
					overcastMid = 0.8;
					overcastRange = 0.2;

					if ( GetActual() < rangeMin )
					{
						timeRange = timeChangeHigh;
						weather.SetWindFunctionParams( 0.2, 0.8, 50 );
					}
					else if ( GetActual() > rangeHigh )
					{
						timeRange = timeChangeLow;
						float maxWind = Math.RandomFloatInclusive( 0.7, 1.0 );
						weather.SetWindFunctionParams( 0.7, maxWind, 50 );
					}
					else
					{
						timeRange = timeChangeMid;
						weather.SetWindFunctionParams( 0.4, 0.8, 50 );
					}

					//m_clrCounter += 0.1;
					//m_badCounter += 0.1;
				}
			
				float nextOvercast = Math.RandomFloatInclusive( overcastMid - overcastRange, overcastMid + overcastRange );
				Set( nextOvercast, timeRange, 0 );
				//SetNextChange( timeRange );

				Print( "Actual " + "( " + g_Game.GetDayTime() + " )" + " overcast: " + GetActual() );
				Print( "Actual " + "( " + g_Game.GetDayTime() + " )" + " rain: " + rainActual );
				Print( "-----------------------------------------------------------" );	

				return true;

			case EWeatherPhenomenon.FOG:
				Print( "COMPUTING NEW FOG" );
				Print( "Actual " + "( " + g_Game.GetDayTime() + " )" + " fog: " + GetActual() );
				Print( "-----------------------------------------------------------" );
				
				float fogMin = 0.0;
				float fogMax = 0.15;
				float fogTime = 1800.0;

				float fogyMorning = Math.RandomFloatInclusive( 0.0, 1.0 );

				if (  fogyMorning > 0.85 )
				{
					if ( (g_Game.GetDayTime() > 4 && g_Game.GetDayTime() < 7 ) )
					{
						fogMin = 0.10;
						fogMax = 0.35;
						fogTime = 300;
					}
				}

				if ( overcastActual < 0.3 )
				{
					fogMin = 0.0;
					fogMax = 0.08;
					fogTime = 900.0;
				}

				Set( Math.RandomFloatInclusive( fogMin, fogMax ), fogTime, 0);
				return true;
			
			case EWeatherPhenomenon.RAIN:
				Print( "COMPUTING NEW RAIN" );

				if ( GetActual() > 0.1 && overcastActual <= 0.95 )
				{
					rainMin = 0.0;
					rainMax	= 0.05;
					rainTime = Math.RandomFloatInclusive( overcastActual*20, overcastActual*60 );	// *10 converting to seconds *2-12 muting rain 
					rainTimeDur = Math.RandomFloatInclusive( overcastInverted*1200, overcastInverted*1800 );
				}
				else if ( overcastActual > 0.8 )
				{
					rainMin = 0.1;
					rainMax	= 0.4;
					rainTime = Math.RandomFloatInclusive( 120, 240 );
					rainTimeDur = Math.RandomFloatInclusive( 30, 60 );
				}
				else if ( overcastActual > 0.9 )
				{
					rainMin = 0.4;
					rainMax	= 0.7;
					rainTime = Math.RandomFloatInclusive( 60, 120 );
					rainTimeDur = Math.RandomFloatInclusive( 60, 120 );
				}
				else if ( overcastActual > 0.95 )
				{
					rainMin = 0.5;
					rainMax	= 0.8;
					rainTime = Math.RandomFloatInclusive( 10, 60 );
					rainTimeDur = Math.RandomFloatInclusive( 120, 240 );
				}
				else
				{
					rainMin = 0.0;
					rainMax	= 0.3;
					rainTime = Math.RandomFloatInclusive( 240, 300 );
					rainTimeDur = Math.RandomFloatInclusive( 90, 120 );
				}
				
				Set( Math.RandomFloatInclusive(rainMin, rainMax), rainTime, rainTimeDur );
/*
				if ( overcastNextChange < rainTime + rainTimeDur )
					SetNextChange( overcastNextChange );
				else
*/
				//SetNextChange(rainTime + rainTimeDur);

				
				Print( "Actual " + "( " + g_Game.GetDayTime() + " )" + " rain: " + GetActual() );
				Print( "-----------------------------------------------------------" );
				
				return true;
		}

		return false;
	}
};


typedef WeatherPhenomenon Overcast;
typedef WeatherPhenomenon Fog;
typedef WeatherPhenomenon Rain;




//-----------------------------------------------------------------------------
/*!
	Weather controller
*/
class Weather
{
	protected bool m_missionWeather;
	
	void Weather()
	{
		m_missionWeather = false;
	}
	
	//! Returns actual time from start of a server (how many seconds elapsed from server start).
	proto native float GetTime();

	//! Returns an overcast phenomenon object.
	proto native Overcast GetOvercast();

	//! Returns a fog phenomenon object.
	proto native Fog GetFog();

	//! Returns a rain phenomenon object.
	proto native Rain GetRain();

	/*!
		\brief Sets the thunderstorm properties.
		\param  density   A value in <0, 1> range where 0 means no thunderstorms at all
		                  and 1 means thunderstorm every time it gets cloudy.
		\param  threshold The overcast value that must be exceeded so that lightning can appear.
		\param  timeOut   A minimal time in seconds between lightning during thunderstorm.
	*/
	proto native void SetStorm( float density, float threshold, float timeOut );

	//! Returns wind vector (direction and speed as length of the vector).
	proto native vector GetWind();
	//! Sets the wind vector (direction and speed as length of the vector).
	proto native void SetWind( vector wind );
	/*!
		\brief Returns actual wind speed in metre per second.
		\note Wind is changing continuously in time, so the returned value may not stand for too long.
	*/
	proto native float GetWindSpeed();
	/*!
		\brief Sets the actual wind speed in metre per second.
		\note Wind is changing continuously in time, so the returned value may not stand for too long.
		      Minimum speed for wind is 0.1 m/s.
	*/
	proto native void SetWindSpeed( float speed );
	/*!
		\brief Returns maximal wind speed in metre per second.
		\note By default this value is 10 m/s but it can be overridden in script on mission initialization.
	*/
	proto native float GetWindMaximumSpeed();
	//! Sets the maximal wind speed in metre per second.
	proto native void SetWindMaximumSpeed( float maxSpeed );
	/*!
		\brief Reads function parameters that controls the wind behaviour (change in time).
		\param fnMin   Function relative minimum (in range <0, 1>).
		\param fnMax   Function relative maximum (in range <0, 1>).
		\param fnSpeed Controls speed of change of function value.
	*/
	proto external void GetWindFunctionParams( out float fnMin, out float fnMax, out float fnSpeed );
	/*!
		\brief Sets function parameters that controls the wind behaviour (change in time).
		\param fnMin   Function relative minimum (in range <0, 1>).
		\param fnMax   Function relative maximum (in range <0, 1>).
		\param fnSpeed Controls speed of change of function value.
	*/
	proto native void SetWindFunctionParams( float fnMin, float fnMax, float fnSpeed );

	/*!
		\brief Sets overcast threshold values for rain phenomena.

		Rain can start only if actual overcast value is in given range of <tMin, tMax>.
		If it's already raining and actual overcast value gets out of given range
		then rain will stop in given tTime seconds.

		Default values are:
			tMin  = 0.6
			tMax  = 1
			tTime = 30

		\param tMin  Minimal overcast value (in range <0, 1>).
		\param tMax  Maximal overcast value (in range <0, 1>).
		\param tTime Time in seconds when it stops raining.
	*/
	proto native void SetRainThresholds( float tMin, float tMax, float tTime );

	void MissionWeather( bool use )
	{
		m_missionWeather = use;
	}
	
	bool GetMissionWeather()
	{
		return m_missionWeather;
	}

};

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем AntonivkA (история изменений)

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


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

AntonivkA так а правил то что? это родной файл от разрабов игры

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
6 часов назад, 123new сказал:

AntonivkA так а правил то что? это родной файл от разрабов игры

так я и написал, что исходный файл от богемии.

правил я все.

но что бы лишиться фризов, достаточно поправить только это:

	proto native void Set( float forecast, float time = 0, float minDuration = 0 );

можно сделать например так:

	proto native void Set( float forecast, float time = 1200, float minDuration = 120 );

 

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


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

AntonivkA А расписать,что на что там влияет,можете?

К примеру,что изменяет вот то что вы описали?

Изменено пользователем paranoyk (история изменений)

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


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

AntonivkA А расписать,что на что там влияет,можете?

К примеру,что изменяет вот то что вы описали?

откройте файл, там все написано, описание каждой переменной и как оно работает.

конкретно то, что я указал в примере - это:
 

Цитата

forecast     Желаемое прогнозное значение, которое должно быть выполнено в данный момент времени.
time         Время до следующего изменения (сколько времени в секундах для интерполяции до заданного значения).
minDuration  Минимальное время в секундах, которое будет длиться изменение.

 

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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