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

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

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

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

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

DAYZ enScript (вопросы, ответы)

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

nymphoz Да

Чет затупил и недодумал алгоритм

ща исправим

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

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


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





BorizzK Прошу прощения, отбой тревоги, машины спавнятся все как положено, я допустил ошибку в позиционировании (лишняя цифра) из-за чего машина появилась хренте где и я банально её не увидел... но при этом машины после респавна всё также без атачментов.

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

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


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

ref array<EntityAI> m_SpawnedCars;
ref array<vector> m_SpawnedCarsPositions;
ref array<string> m_SpawnedCarsClassNames;

ref array<string> m_CivSedanAttachments = {
		"HeadlightH7","HeadlightH7","SparkPlug","CarBattery","CarRadiator","EngineBelt",
		"CivSedanDoors_Driver","CivSedanDoors_CoDriver","CivSedanDoors_BackLeft","CivSedanDoors_BackRight","CivSedanHood","CivSedanTrunk",
		"CivSedanWheel","CivSedanWheel","CivSedanWheel","CivSedanWheel"
	};
    
ref array<string> m_OffHatchAttachments = {
		"HeadlightH7","HeadlightH7","SparkPlug","CarBattery","CarRadiator","EngineBelt",
		"HatchbackDoors_Driver","HatchbackDoors_CoDriver","HatchbackHood","HatchbackTrunk",
		"HatchbackWheel","HatchbackWheel","HatchbackWheel","HatchbackWheel"
	};

void spawnVehicle(string type, vector position, array<string> m_Attachments)
{
	if (NearbyCars(position, 5)) return; //если в радиусе 5м есть автомобили - прерываем
	
    EntityAI car = GetGame().CreateObject(type, position);
    car.SetPosition(position);
	
 		if (car)
		{
            foreach (string att : m_Attachments)
			{
				car.GetInventory().CreateAttachment(att);
			}
			Car f_Car = Car.Cast(car); 
			f_Car.Fill(CarFluid.FUEL, 1000);
			f_Car.Fill(CarFluid.COOLANT, 1000);
			f_Car.Fill(CarFluid.OIL, 1000);
			f_Car.Fill(CarFluid.BRAKE, 1000);
			
			m_SpawnedCars.Insert(car);
			m_SpawnedCarsPositions.Insert(position);
			m_SpawnedCarsClassNames.Insert(type);
		}
}

void CheckRespawnVehicles()
{
	for (int i = 0; i < m_SpawnedCars.Count(); i++)
	{
		if (!m_SpawnedCars[i])
		{
			vector pos = m_SpawnedCarsPositions[i];
			string classname = m_SpawnedCarsClassNames[i];
			m_SpawnedCars.Remove(i);
			m_SpawnedCarsPositions.Remove(i);
			m_SpawnedCarsClassNames.Remove(i);
			if (classname == "CivilianSedan")
				spawnVehicle("CivilianSedan", pos, m_CivSedanAttachments );
			else if (classname == "OffroadHatchback")
				spawnVehicle("OffroadHatchback", pos, m_OffHatchAttachments );
		}
	}
}

bool NearbyCars(vector pos, int radius) //Проверка машин по координатам в радиусе
{
	array<Object> nearest_objects = new array<Object>;
	array<CargoBase> proxy_cargos = new array<CargoBase>;
	pos[1] = GetGame().SurfaceY( pos[0], pos[2] );
	GetGame().GetObjectsAtPosition(pos, radius, nearest_objects, proxy_cargos); 
	for ( int i = 0; i < nearest_objects.Count(); i++ )
	{
		if (nearest_objects.Get(i).IsTransport()) return true; //Обьект машина
	}
	return false; //Машин не обнаружено
}	

void SpawnVehicles()
{
 	spawnVehicle("CivilianSedan", "8742.036133 8.230740 2331.631104",m_CivSedanAttachments);

	spawnVehicle("OffroadHatchback", "8877.351563 9.299133 2257.636230",m_OffHatchAttachments);
	
	GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(CheckRespawnVehicles, 300000, true);
}

void main()
{
    //VEHICLE
	m_SpawnedCars = new array<EntityAI>;
	m_SpawnedCarsPositions = new array<vector>;
	m_SpawnedCarsClassNames = new array<string>;
	SpawnVehicles();
}

Проверяй

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


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

BorizzK Всё работает просто изумительно, именно так, как и хотелось. Не знаю что тут и сказать, просто ГИГАНТСКОЕ СПАСИБО за ваш труд.

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


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

Уже давно прошу, найдутся-ли отважные люди, способные обновить сей скрипт до 1.04? После обновления работает только default сет. Люди не спавнятся где им положено, а спавнятся где попало со стандартным лутом.
 

 

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


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

Bounty ща до работы доеду, гляну

А что не работает?

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


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

BorizzK Да я уже сам разобрался, но всё-равно спасибо)

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


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

Bounty Ну дык )))) Если разобрался принято делиться

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


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

BorizzK да я собстно и не вижу чему там не работать то, все ж осталось как было вроде как.

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


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

        Добрый день, форумчане. В общем, весь транспорт на сервера стал постоянно перереспавниться по истечении времени заданном в параметре <lifetime>, всё бы ничего, но раньше (два-три дня назад) такого не происходило, точнее происходило, но отсчёт времени <lifetime> начинался только после непосредственного взаимодействия игрока с транспортом. Также на сервере у меня save/load транспорта в DB не происходит, из-за чего при каждом старте сервера, на нём спавнится новая техника, а старая соответственно исчезает . Что интересно, при старте сервера, весь заспавненный транспорт будет стоять до того момента, пока не произойдёт взаимодействия с игроком (хоть два часа простоит, даже если время жизни задано 30 секунд), но когда этот транспорт всё-таки после взаимодействия с игроком пропадёт, то произойдёт респавн по средствам:

GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(CheckRespawnVehicles, 180000, true);

и вот уже этот транспорт сразу начинает вести отсчёт <lifetime> и без участия игрока, если поставить время жизни машины 30 секунд, то каждые пол минуты она исчезает и появляется новая, когда 2-3 машины на сервере, может это и не беда, но когда на сервере ~ 250 машин и со многими из них игрок уже взаимодействовал, то можно сказать транспорт всего сервера начинает постоянно респавниться. 

        После долгих мучений, я заметил одну особенность, у меня в коде спавна машины присутствует код для спавна оружия в транспорте через оператор "Switch" и если его удалить, то зареспавненный транспорт не ведёт отсчёт времени жизни до взаимодействия с игроком. Вижу я это так, будто игра думает, что если в транспорте спавнится оружие, то взаимодействие произошло, но примечательно то, что при старте сервера в транспорте тоже спавнится оружие и машины не ведут отсчёта времени жизни до взаимодействия с игроком, хотя два-три дня назад, у меня этот код работал вместе с оператором Switch и ничего не перереспавнивалось постоянно, просто появлялась новая машина и стояла сколько угодно времени как и при старте сервера.

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

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

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


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

BorizzK так проблема в том, что отсчёт времени жизни заРЕспавненый транспорт ведёт с момента появления на карте, а не после взаимодействия с игроком, от того, что я поставлю время жизни 10 минут, проблема не уйдёт, просто транспорт грубо говоря начнёт реже перереспавниваться, но суть в том, что раньше транспорт и переРЕспавненный мог стоять часами с временем жизни 30 секунд, главное чтобы игрок не взаимодействовал с транспортом. Виновник всего этого на данный момент оператор SWITCH, которым я спавню оружие в тачках, но раньше таких проблем не было, что могло поменяться, ума не приложу.

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

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


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

nymphoz ранее некоректно работала проверка по заспавленным скриптами машинам

Ее просто починили

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


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

BorizzK какой-то хотфикс вышел вчера-позавчера?

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


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

BorizzK видимо эта новость прошла мимо меня. Но ведь как не крути техника ведёт себя странно только если в ней заспавнить оружие, без него она будет стоять до посинения.

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

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


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

BorizzK да действительно, нашёл фикс https://forums.dayz.com/topic/245104-stable-update-104152050/ и самое интересное, что первый же комментарий под описанием фикса:

Цитата

1: The vehicle will disappear by itself, and it will be a blink of an eye. The whole car is gone.
{The vehicle purchased by NPC will be like this, and the vehicle that the administrator will brush will do the same. }

может всё-таки это временный баг)))

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

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


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

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

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

 

С чем это связано и в каких файлах искать ошибку? 

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


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

QPr1me нема такого бага, смотри, что за моды стоят.

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


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

Equadro Fidov 4 не может так лагать то?  

 

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

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


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

Странно спавнил себе 3 мосина, забил 3 слота оружия, делаю релог, захожу, на мне 2 оружие, одно на земле лежит, там где я его спавнил... Убежал дальше, так же релог, захожу 2 оружия, третье лежит опять там же где я его заспавнил ... вообщем когда я делаю релог, оружие возвращается на место где появилось ... бред какой - то 

 

Оружие всегда пропадает из слота где раньше был слот под тапор и тд ... 

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

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


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

Все разобрался. Мод Base Furniture Mods шалил! 

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


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

QPr1me да ладно, фидов же не виноват? наставят себе говно модов а потом дейзи винят. тему удалить.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: RedWoodGamer
      Ищу мододела который напишет мод на поиск предметов в ванильной фурнитуре с возможностью конфигурации лутабельных объектов и лута внутри них, а так-же КД на лутаемый объект (Простыми словами чтобы нельзя было лутать один и тот же объект двум игрокам одновременно, если один залутал, включается определённый таймер и второй игрок может залутать его через прошедшее время, либо же завязать это время на рестарт сервера.)
      Бюджет есть, оценивайте свою работу и предлагайте цену, кто не хочет в комментариях вот Discord : RedWood#6323
    • Автор: CubeIn
      Приветствую друзья, возникла неприятная ошибка.
      Подписал все ключи через DS Utils, вставил ключ в северную часть, но все равно при заходе на сервер пишет данную ошибку.
      Client contains PBO which is not part of server data
       
    • Автор: CubeIn
      Есть ли у кого ни будь шаблон или инструкция как создать свой шеврон?
      Нашел видео от Фидова, но ссылка на шаблон не действительна

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

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

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

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