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

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

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

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

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

Пропадают здания, прописанные в Init.c

Собственно, суть проблемы в названии темы. Ставишь постройку на карте, прописав ёё в ините, в итоге кусок или полностью все объекты построенные таким образом по типу базы, просто пропадают до перезапуска сервера, может их как-то по новому после 1.19 надо прописывать? Ставил флагшток, не помогает.

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


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

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

  • 0

Ниже пример кода из инит. инит почти пустой:

//Spawn helper function
void SpawnObject(string objectName, vector position, vector orientation)
{
Object obj;
obj = Object.Cast(GetGame().CreateObject(objectName, "0 0 0"));
obj.SetPosition(position);
obj.SetOrientation(orientation);

// Force update collisions
if (obj.CanAffectPathgraph())
{
obj.SetAffectPathgraph(true, false);
GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj);
}
}

void main()
{
	//НАЧАЛО ПОГОДЫ ПЕРЕД НАЧАЛОМ ЭКОНОМИКИ------------------------
    Weather weather = g_Game.GetWeather();
    weather.MissionWeather(true);    // false = использовать погодный контроллер из Weather.c

    weather.GetOvercast().SetLimits( 0.3 , 1.0 ); // Пасмурная погода. Задать пределы
    weather.GetRain().SetLimits(0.0, 0.5); // Дождь. Задать пределы
    weather.GetFog().SetLimits(0.1, 0.28); // Туман. Задать пределы

    weather.GetOvercast().SetForecastChangeLimits(1.0, 1.0); // Пасмурная погода. Установить пределы изменения прогноза
    weather.GetRain().SetForecastChangeLimits(0.0, 0.06); // Дождь. Установить пределы изменения прогноза
    weather.GetFog().SetForecastChangeLimits(0.10, 0.30); // Туман. Установить пределы изменения прогноза

    weather.GetOvercast().SetForecastTimeLimits(1800, 1800); // Пасмурная погода. Установить пределы времени прогноза
    weather.GetRain().SetForecastTimeLimits(250, 500); // Дождь. Установить пределы времени прогноза
    weather.GetFog().SetForecastTimeLimits(1800, 1800); // Туман. Установить пределы времени прогноза

    weather.GetOvercast().Set(Math.RandomFloatInclusive(0.3, 0.4), 0, 0); // Пасмурная погода. Установить математическое случайное число с плавающей запятой
    weather.GetRain().Set(Math.RandomFloatInclusive(0.0, 0.2), 0, 0); // Дождь. Установить математическое случайное число с плавающей запятой
    weather.GetFog().Set(Math.RandomFloatInclusive(0, 1), 0, 0); // Туман. Установить математическое случайное число с плавающей запятой

    weather.SetWindMaximumSpeed(50); // Установить максимальную скорость ветра
    weather.SetWindFunctionParams(0.1, 1.0, 50); // Установить параметры функции ветра
	//INIT ECONOMY--------------------------------------
	Hive ce = CreateHive();
	if ( ce )
		ce.InitOffline();

	//DATE RESET AFTER ECONOMY INIT-------------------------
	int year, month, day, hour, minute;
	int reset_month = 9, reset_day = 20;
	GetGame().GetWorld().GetDate(year, month, day, hour, minute);

	if ((month == reset_month) && (day < reset_day))
	{
		GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
	}
	else
	{
		if ((month == reset_month + 1) && (day > reset_day))
		{
			GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
		}
		else
		{
			if ((month < reset_month) || (month > reset_month + 1))
			{
				GetGame().GetWorld().SetDate(year, reset_month, reset_day, hour, minute);
			}
		}
	
	}
Hive myHive =  CreateHive();
SpawnObject( "ch_b5x5", "6635.1 467.309 15283.4", "180.000000 0.000000 -0.000000" );	
SpawnObject( "cp_most_zaezd", "6634.9 463.12 15261.4", "0.000000 0.000000 -0.000000" );
SpawnObject( "Land_Misc_Well_Pump_Blue", "6654.41 465.0 15286.8", "0.000000 0.000000 -0.000000" );

SpawnObject( "ch_b_2f_Roof", "10000.4 193.8 7301", "0.000000 0.000000 -0.000000" );
SpawnObject( "cp_most_zaezd", "9992.1 189.9 7286", "0.000000 0.000000 -0.000000" );
SpawnObject( "ch_walls_big", "9993.0 193.8 7296.0", "0.000000 0.000000 6.000000" );
SpawnObject( "ch_wall_1x1_c2", "9993.0 190.0 7320.0", "0.000000 0.000000 6.000000" );

SpawnObject( "cp_most_zaezd", "2003.0 296.2 6783.0", "-90.000000 0.000000 -0.000000" );
SpawnObject( "ch_b_2f_Roof", "1987.0 300.0 6791", "-90.000000 0.000000 -0.000000" );

SpawnObject( "ch_b5x5", "5963 476 15249.3", "0.000000 0.000000 -0.000000" );
SpawnObject( "cp_most_zaezd", "5963 471.85 15271", "180.000000 0.000000 -0.000000" );

SpawnObject( "ch_b5x5", "12772.7 109.05 5158.9", "-120.000000 0.000000 -0.000000" );
SpawnObject( "cp_most_zaezd", "12755 104.84 5149", "60.000000 0.000000 -0.000000" );


SpawnObject( "DBN_Platform_02_80m", "13345.299805 23.600000 14503.000000", "-11.998479 0.000000 0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13369.000000 37.000000 14548.700195", "168.001511 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13378.000000 37.000000 14542.700195", "-101.999496 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13381.299805 37.000000 14527.099609", "-101.999496 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13384.599609 37.000000 14511.500000", "-101.999496 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13391.200195 37.000000 14480.299805", "-101.999496 0.000000 -0.000000" );
SpawnObject( "DBN_Large_Metal_Gate_01", "13389.599609 32.200001 14491.099609", "-103.999985 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13386.700195 37.000000 14501.799805", "-101.999496 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13385.500000 37.000000 14470.700195", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13369.900391 37.000000 14467.099609", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13354.299805 37.000000 14463.599609", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13339.099609 37.000000 14460.099609", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13323.500000 37.000000 14456.500000", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13313.700195 37.000000 14462.000000", "76.998764 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13310.099609 37.000000 14477.500000", "76.998764 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13306.500000 37.000000 14493.099609", "76.998764 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13302.900391 37.000000 14508.700195", "76.998764 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13299.299805 37.000000 14524.200195", "76.998764 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13353.400391 37.000000 14545.400391", "168.001511 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13337.799805 37.000000 14542.099609", "168.001511 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13322.400391 37.000000 14538.799805", "168.001511 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13306.900391 37.000000 14535.500000", "168.001511 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13298.900391 37.000000 14525.900391", "76.998764 0.000000 -0.000000" );
SpawnObject( "DBN_Cement_Wall_01", "13304.700195 37.000000 14535.000000", "168.001511 0.000000 -0.000000" );
SpawnObject( "cp_base10x10", "13340.700195 38.400002 14501.599609", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Guard_Tower_13m", "13381.200195 40.500000 14481.900391", "-13.001442 0.000000 0.000000" );
SpawnObject( "DBN_Guard_Tower_13m", "13369.500000 40.500000 14537.099609", "-13.001442 0.000000 0.000000" );
SpawnObject( "ch_gate_2_2x2_open", "13389.200195 35.940701 14491.099609", "76.998802 0.000000 -0.000000" );
SpawnObject( "ch_f_wall_fen_2x1", "13389.700195 40.000000 14491.200195", "76.998764 0.000000 -0.000000" );




//GetCEApi().ExportProxyData( "7500 0 7500" , 10000 );
}

 

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


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

Как эти обьекты прописаны в тайпс?

 

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


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

Как эти обьекты прописаны в тайпс?

 

Были никак, после создания темы решил прописать по класнеймам в тайпс, выставил 45 дней жизни, сейчас вроде все норм. Только не пойму почему тут пришлось тайпс задействовать, другие же постройки установленные таким же способом стоят и без этого.

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


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

Были никак, после создания темы решил прописать по класнеймам в тайпс, выставил 45 дней жизни, сейчас вроде все норм. Только не пойму почему тут пришлось тайпс задействовать, другие же постройки установленные таким же способом стоят и без этого.

Если это текстуры мода, например, автора CS (walls, bunker) или авианосцев (не помню кто там автор) то они пропадают и их необходимо заносить в types. Видимо автор мода не указал что-то в конфигурации и сервер не считает объект частью мапинга.

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


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

Если это текстуры мода, например, автора CS (walls, bunker) или авианосцев (не помню кто там автор) то они пропадают и их необходимо заносить в types. Видимо автор мода не указал что-то в конфигурации и сервер не считает объект частью мапинга.

.....именно.
@Suslikonator Какие моды используете? (мне для информации в копилку безумия)

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


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

.....именно.
@Suslikonator Какие моды используете? (мне для информации в копилку безумия)

Чайкина и Дон Бондино.

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


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

Мои статические объекты не нужно вписывать в тайпс. И они не могут просто так пропадать, только если их что-то удаляет.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Troy1
      Всем привет. пишу мод и столкнулся с проблемой в реализации.
      Суть: Пытаюсь сделать проверку, если игрок стоит прям у окна или у дверного проёма он должен получать урон.
      Делал вот так.
      int wallHits = 0; float d = 2.2; // Дистанция до стены. Если стена дальше — считаем, что там окно или проем. // 8 направлений "снежинкой" для проверки стен вокруг игрока // Используем Vector(x, y, z) для точности ref array<vector> checkDirs = { Vector(d,0,0), Vector(-d,0,0), Vector(0,0,d), Vector(0,0,-d), Vector(d,0,d), Vector(-d,0,-d), Vector(d,0,-d), Vector(-d,0,d) }; foreach (vector dir : checkDirs) { // Пускаем горизонтальные лучи от позиции игрока (from) if (DayZPhysics.RayCastBullet(from, from + dir, collisionLayerMask, this, hitObject, hitPosition, hitNormal, hitFraction)) { // ПРОВЕРКА: Это должна быть вертикальная стена (Y нормали < 0.5) // Чтобы не засчитать низкий потолок за стену if (Math.AbsFloat(hitNormal[1]) < 0.5) { wallHits++; } } } // УСЛОВИЕ БЕЗОПАСНОСТИ: // В комнате wallHits будет 6-8. У окна или в проеме — 1-4. if (wallHits < 5) { hasSafeCeiling = false; // Слишком открытое пространство (окно/дверь) } Пытался менять дистанции, но всё ровно не как не хочет работать.
      Что я делаю не так, или я вообще делаю не то?
      Мне нужно проверять игрока, в укрытии он или нет.
      С высотой я разобрался, а вот с боковыми лучами у меня траблы и не во всех помещениях работает как нужно.
      В некоторых помещениях вообще не работает, удаляешь строки проверки, начинает работать и то по высоте.
      Просто забегаешь по навес и игрок под защитой, так не должно быть.
      Помогите пожалуйста  решить задачу.
    • Автор: Troy1
      Всем привет. Суть в чём, пишу мод на событие и когда происходит событие, параллельно должна меняться скорость ветра, не могу понять как заставить скрипт управлять силой ветра. Понижать силу ветра получилось сделать, а вот повышать не как. Только после перезагрузки сервера сила ветра задаётся в нужном значение.
      Как сделать, что бы по вызову функции менялась сила ветра в большую или в меньшую сторону?
      protected void SetWind(float wind, float time) { if (!g_Game) return; Weather m_Weather = g_Game.GetWeather(); if (!m_Weather) return; m_Weather.SetWindMaximumSpeed(wind); m_Weather.SetWind(Vector(1/Math.Sqrt(3), 1/Math.Sqrt(3), 1/Math.Sqrt(3)) * wind); m_Weather.SetWindSpeed(wind); m_Weather.SetWindFunctionParams(1.0, 1.0, -1); } Это скрипт на понижение силы ветра.
      Работает понижение силы ветра в том случае, если до этого сила ветра была выше.
      Пример:
      Изначально на сервере сила ветра = 20 m/s А нужно понизить до 10 m/s
      Только в этом случае сработает скрипт который я приложил выше.
      Помогите пожалуйста решить этот вопрос.
      За ранние благодарю.
    • Автор: Troy1
      Пока ждал помощи, решил вопрос!
      Тема закрыта!!!
    • Автор: magliner
      Привет ! Ну вот моя история с вопросом в конце.. Я фанат Дэйз ванилы черноруси, заколебало сидеть на бездушных серверах со слабой админкой и терять лут от софтеров, решил создать под свои скромные запросы около ванильный сервер.. Нашел хорошего исполнителя, быстро и четко запустили отладили и ВОТ я имею СВОЙ сервер.. клас! вечер восторга и изучения
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: SemKa1407
      Ссылка на архив: https://disk.yandex.ru/d/WmYW5AcZozGSiA
      Инструкция, написанная на коленке, есть в архиве (для полных нулей).
  • Наш выбор

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

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

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

Поддержка