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

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

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

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

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

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

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

59 минут назад, BorizzK сказал:

Точка спавна с лутом да КиллФид
Понятно
 

Статичная что ли?

 

Что статичная? Тут не вразумил.... 

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


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



Ребят, всем привет. Как я могу запарсить http-ответ от веб-сервера? Подскажите пожалуйста 🙂

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


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

Я нашел вот такую вот штуку, но никак не могу найти документацию к ней. https://steamcommunity.com/sharedfiles/filedetails/?id=1800832002 Разработчик пока молчит 😞

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


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

Я нашел вот такую вот штуку, но никак не могу найти документацию к ней. https://steamcommunity.com/sharedfiles/filedetails/?id=1800832002 Разработчик пока молчит 😞

еслли именно открыть php и считать ответ например то глянь sib мод, там было чет такое на стороне клиента игры.

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


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

Замечательный баг поймал с сервером. Делюсь наблюдениями.

На сервере стоит скрипт, который запускает функцию из OnInit в MpMissions через:

GetGame().GetCallQueue(CALL_CATEGORY_GAMEPLAY).CallLater(Collect_Info_Players, (30 *1000), true);

При запуске функции первым действием идет логирование. Вот например:

[02.04.2020 - 20.27.40] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[02.04.2020 - 20.27.10] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[02.04.2020 - 20.26.40] [#LogMessage]: [CALL Collect_Info_Players] START!!! 

т.е. запуск каждые 30 секунд, как и должно быть.

Спустя n-е время работы сервера наблюдаю такую картину:

[02.04.2020 - 20.27.40] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[02.04.2020 - 20.54.39] [#LogMessage]: [CALL Collect_Info_Players] START!!!
[02.04.2020 - 21.24.13] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[02.04.2020 - 22.02.49] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[02.04.2020 - 22.45.32] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[02.04.2020 - 23.32.07] [#LogMessage]: [CALL Collect_Info_Players] START!!! 
[03.04.2020 - 00.16.01] [#LogMessage]: [CALL Collect_Info_Players] START!!! 

Это логи, собранные по очереди, как они писались. На время обратите внимание.
При этом на сервере игроков не было, менялась лишь погода, судя по скрипт логу.
Сервер запускался в 2020-04-02_15-47-28 и работал без рестартов все это время.

 

фпс:

16:38:33 Average server FPS: 5303.67 (measured interval: 60 s)
16:38:33 Used memory: 1849880 KB
16:38:33 Players: 0 in total
18:42:33 Average server FPS: 4576.05 (measured interval: 60 s)
18:42:33 Used memory: 1837611 KB
18:42:33 Players: 0 in total
19:37:33 Average server FPS: 4525.67 (measured interval: 60 s)
19:37:33 Used memory: 1840986 KB
19:37:33 Players: 0 in total
21:36:33 Average server FPS: 4224.72 (measured interval: 60 s)
21:36:33 Used memory: 1849557 KB
21:36:33 Players: 0 in total
21:42:33 Average server FPS: 4745.97 (measured interval: 60 s)
21:42:33 Used memory: 1846758 KB
21:42:33 Players: 0 in total
21:46:33 Average server FPS: 4601.52 (measured interval: 60 s)
21:46:33 Used memory: 1846318 KB
21:46:33 Players: 0 in total
21:55:33 Average server FPS: 4702.50 (measured interval: 60 s)
21:55:33 Used memory: 1847652 KB
21:55:33 Players: 0 in total
23:12:33 Average server FPS: 4629.48 (measured interval: 60 s)
23:12:33 Used memory: 1854017 KB
23:12:33 Players: 0 in total

и т.п., одинаково дальше, вырезал кусочки.

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

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


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

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

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


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

Немного не по теме, но хотел спросить когда сломались 
GetSpeed(); и GetModelSpeed() ? чет постоянно нулевой масив возвращает
 

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


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

Доработал - переработал

конечно же потребуется оптимизация

вобщем промежуточный вариант для изучения/обучения/обдумывания

 

2 часа гоняю на серве с онлайном 40 рыл

отрицательного влияния на производительность сервера не замечено - работает норм


в общем то, огромное спасибо, за такую интересную реализацию, все работает, кроме одного но...перс не кашляет находясь в зоне, а это важно ведь хочу отключить сообщения о входе/нахождении/выходе. Не подскажите почему?

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

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


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

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

Я задумал что бы набор для определения группы крови был не на 1 раз, а на 4 использования. Поскольку у меня на сервере стоит мод на медецину, и частенько приходиться его использовать. Вот что у меня получилось.

Modded class BloodTestKit : Inventory_Base {
	scope = 2;
	displayName = "$STR_CfgVehicles_BloodTestKit0";
	descriptionShort = "$STR_CfgVehicles_BloodTestKit1";
	model = "\dz\gear\medical\BloodTest_Kit.p3d";
	varQuantityInit = 4;
	varQuantityMin = 0;
	varQuantityMax = 4;
	quantityBar = 1;
	varQuantityDestroyOnMin = 1;
	itemSize[] = {1, 1};
	rotationFlags = 17;
	weight = 130;
	
	class DamageSystem {
		class GlobalHealth {
			class Health {
				hitpoints = 15;
				healthLevels[] = {{1.0, {"DZ\gear\medical\data\BloodTest.rvmat"}}, {0.7, {"DZ\gear\medical\data\BloodTest.rvmat"}}, {0.5, {"DZ\gear\medical\data\BloodTest_damage.rvmat"}}, {0.3, {"DZ\gear\medical\data\BloodTest_damage.rvmat"}}, {0.0, {"DZ\gear\medical\data\BloodTest_destruct.rvmat"}}};
			};
		};
	};
	
	class AnimEvents {
		class SoundWeapon {
			class BloodBag_start {
				soundSet = "BloodBag_start_SoundSet";
				id = 201;
			};
			
			class BloodBag_spear {
				soundSet = "BloodBag_spear_SoundSet";
				id = 202;
			};
			
			class BloodBag_loop {
				soundSet = "BloodBag_loop_SoundSet";
				id = 203;
			};
			
			class BloodBag_loop2 {
				soundSet = "BloodBag_loop_SoundSet";
				id = 204;
			};
			
			class BloodBag_end {
				soundSet = "BloodBag_end_SoundSet";
				id = 205;
			};
			
			class pickUpItem {
				soundSet = "pickUpBloodBag_SoundSet";
				id = 797;
			};
			
			class drop {
				soundset = "bloodbag_drop_SoundSet";
				id = 898;
			};
		};
	};
};

Вроде ничего сложного просто взял 4 строчки с бинта и приставил их к тестеру

    varQuantityInit = 4;
    varQuantityMin = 0;
    varQuantityMax = 4;
    quantityBar = 1;

Находиться это все по пути @EasyBoy/\Addons\gear_medical в файле config.cpp, но через стим тулс, я не могу его запаковать в аддон, выдаёт ошибки. Причем разные способы были,  все тщетно, пишет ошибка в линии 0, а в нотпаде нету 0-й строки((

image.png.01ba1353980729c433259405e16612b0.png

Так же и с аптечкой, изменил ей размер...

Modded class FirstAidKit : Container_Base {
	itemSize[] = {4, 6};
	itemsCargoSize[] = {4, 6};
};

Путь @EasyBoy/\Addons\gear_containers в файле config.cpp

image.png.8ba0894fde6185a5c45d1e53f186f6ee.png

Так же пробывал еще путь @EasyBoy/\Addons\EasyBoy\gear_containers в файле config.cpp для тестера соответственно.

 

Я точно что-то делаю не так, не кидайтесь камнями, я только учусь, причем понятия о скриптинге не имею, все методом тыка((

 

Опишу что перепробовал, пробовал просто папку называть gear, папка была как в аддонах так и в EasyBoy. Код пробовал как обрезанный где только мои изменения, так и полный так же с моими изменениями, добавлял в начало приписку классов.

modded class CfgPatches {
	class DZ_Gear_Medical {
		units[] = {"Medical_DisinfectantSpray", "Medical_Antibiotics", "Medical_Bandage", "Medical_Bloodbag", "Medical_Defibrillator", "Medical_Epinephrine", "Medical_Morphine", "Medical_Painkiller"};
		weapons[] = {};
		requiredVersion = 0.1;
		requiredAddons[] = {"DZ_Data"};
	};
};

Еще вариантов 5 точно было в основном игрался с кодом. Короче в методах тыка я хорош, но успеха мне это не дало.

 

Мой последний вариант еще такой был.

 

Modded class CfgPatches {
	class DZ_Gear_Medical {
		units[] = {"Medical_DisinfectantSpray", "Medical_Antibiotics", "Medical_Bandage", "Medical_Bloodbag", "Medical_Defibrillator", "Medical_Epinephrine", "Medical_Morphine", "Medical_Painkiller"};
		weapons[] = {};
		requiredVersion = 0.1;
		requiredAddons[] = {"DZ_Data"};
	};
};

Medded class CfgVehicles {
	class Inventory_Base;	// External class reference
	class Switchable_Base;	// External class reference
	class Edible_Base;	// External class reference
	class Bottle_Base;	// External class reference

    class BloodTestKit : Inventory_Base {
		scope = 2;
		displayName = "$STR_CfgVehicles_BloodTestKit0";
		descriptionShort = "$STR_CfgVehicles_BloodTestKit1";
		model = "\dz\gear\medical\BloodTest_Kit.p3d";
		varQuantityInit = 4;
        varQuantityMin = 0;
        varQuantityMax = 4;
        quantityBar = 1;
		itemSize[] = {1, 1};
		rotationFlags = 17;
		weight = 130;
		
		class DamageSystem {
			class GlobalHealth {
				class Health {
					hitpoints = 15;
					healthLevels[] = {{1.0, {"DZ\gear\medical\data\BloodTest.rvmat"}}, {0.7, {"DZ\gear\medical\data\BloodTest.rvmat"}}, {0.5, {"DZ\gear\medical\data\BloodTest_damage.rvmat"}}, {0.3, {"DZ\gear\medical\data\BloodTest_damage.rvmat"}}, {0.0, {"DZ\gear\medical\data\BloodTest_destruct.rvmat"}}};
				};
			};
		};
		
		class AnimEvents {
			class SoundWeapon {
				class BloodBag_start {
					soundSet = "BloodBag_start_SoundSet";
					id = 201;
				};
				
				class BloodBag_spear {
					soundSet = "BloodBag_spear_SoundSet";
					id = 202;
				};
				
				class BloodBag_loop {
					soundSet = "BloodBag_loop_SoundSet";
					id = 203;
				};
				
				class BloodBag_loop2 {
					soundSet = "BloodBag_loop_SoundSet";
					id = 204;
				};
				
				class BloodBag_end {
					soundSet = "BloodBag_end_SoundSet";
					id = 205;
				};
				
				class pickUpItem {
					soundSet = "pickUpBloodBag_SoundSet";
					id = 797;
				};
				
				class drop {
					soundset = "bloodbag_drop_SoundSet";
					id = 898;
				};
			};
		};
	};
};

И путь прописывал @EasyBoy\Addons\EasyBoy\DZ\Gear\Medical    config.cpp

 

image.png.b4a9a938b43e0146a73fa6c3ad099f7b.png

Я не знаю ни языка скриптинга ни английского, но очень упертый))

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

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


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

Modded в конфиге не нужно писать

только в скриптах вроде

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

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


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

Разумеется все варианты и без модеда пробывал)) 

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


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

Тогда вопрос куда этот код вставлял?

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


Ссылка на сообщение
Поделиться на других сайтах
18.12.2020 в 16:32, Ewgen сказал:

Тогда вопрос куда этот код вставлял?

config.cpp

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


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

config.cpp

🤣🤣🤣


 

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


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

config.cpp

Тут даже я хрюкнул от удивления.....

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


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

Те изменения которые я делал, они в конфиге бина и есть. Я просто не могу запаковать этот бин((

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


Ссылка на сообщение
Поделиться на других сайтах
18 минут назад, EasyBoy сказал:

Те изменения которые я делал, они в конфиге бина и есть. Я просто не могу запаковать этот бин((

dayz tools - cfg convert - перетаскивай батник или цпп на нужный батник в папке и все запакуется/распакуется

 

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


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

Вот через rest можно передать на сервер запрос, а возможна ли обратно?Т.е. каким то образом получить инфу, которую отправляет http сервер? А то вариант с постоянными get запросами, что бы потом через callback инфу вывести, ну вообще не кактит.

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


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

Всем привет. Пытаюсь вспомнить моддинг спустя 5 лет 🙂 Не смейтесь, пожалуйста, сильно над глупыми вопросами.

 

Напомните про разделение клиента и сервера. Вот я взял класс, патроны например, изменил их стэк или количество, всё запаковал, подписал. Такой мод должен запускаться и на сервере и на клиенте? Или достаточно запустить на сервере? Переопределение класса (только свойства, без моделей и текстур) не может просто на сервере произойти, а потом передаться клиенту?

 

Спасибо.

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


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

Всем привет. Пытаюсь вспомнить моддинг спустя 5 лет 🙂 Не смейтесь, пожалуйста, сильно над глупыми вопросами.

 

Напомните про разделение клиента и сервера. Вот я взял класс, патроны например, изменил их стэк или количество, всё запаковал, подписал. Такой мод должен запускаться и на сервере и на клиенте? Или достаточно запустить на сервере? Переопределение класса (только свойства, без моделей и текстур) не может просто на сервере произойти, а потом передаться клиенту?

 

Спасибо.

старый дедовский метод еще никого не подводил: берешь мод, ставишь только на сервере, входишь в игру и проверяешь. Если чуешь, что не работает - делаешь мод клиентским.

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


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

Ещё вопрос. Вот раньше, когда компьютеры были большие, а арма была вторая, я писал что-то типа 

_chuvak = this addAction["Give"]

Как теперь выдать действие объекту? Есть аддон на банкоматы (Banking). В описании автор говорит: можете использовать в качестве банкомата собственные объекты. Просто добавьте action "DC_ActionOpenBankingMenu". Причём даже поясняет таким как я:

 

You don't have to add it by default. If you want to use it on some other object, you add it by overriding the SetActions function of that object

 

И вот я добавляю в эдиторе мужичка строкой в init.c

 

SpawnObject("SurvivorM_Rolf", "3698.149902 403.000000 5962.270020", "0.000000 0.000000 0.000000");

 

Но как мне ему сделать addAction? Как добраться до SetActions ? Это делается в config.cpp моего объекта?

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

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


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

Ещё вопрос. Вот раньше, когда компьютеры были большие, а арма была вторая, я писал что-то типа 

_chuvak = this addAction["Give"]


_chuvak = this addAction["Give"]

Как теперь выдать действие объекту? Есть аддон на банкоматы (Banking). В описании автор говорит: можете использовать в качестве банкомата собственные объекты. Просто добавьте action "DC_ActionOpenBankingMenu". Причём даже поясняет таким как я:

 

You don't have to add it by default. If you want to use it on some other object, you add it by overriding the SetActions function of that object

 

И вот я добавляю в эдиторе мужичка строкой в init.c

 

SpawnObject("SurvivorM_Rolf", "3698.149902 403.000000 5962.270020", "0.000000 0.000000 0.000000");


SpawnObject("SurvivorM_Rolf", "3698.149902 403.000000 5962.270020", "0.000000 0.000000 0.000000");

 

Но как мне ему сделать addAction? Как добраться до SetActions ? Это делается в config.cpp моего объекта?

 

Сначала надо экшан накатать

Либо использовать штатный

 

Добавляем в классе обьекта (сущности)


 

override void SetActions() //все дело в том что это SetActions есть в базовых классах и потому мы перекрываем в классе обьекта и сначла будет вызван он из класса обьекта

{

     super.SetActions(); //вызов выше по иерархии у всех остальных (вызов перекрытых модом функций)

    AddAction(имяклассавашегоэкшана); //Этот класс еше надо зарегить в экшан менеджере

}

Все есть в файлах игры - примеров там ТЫЩЩИ!

Вообще вся эта система экшанов изобретенная бисами - жутко уродлива, запутанна и крайне неэффективна с тз потребления ресурсов и тд итп
Ее по уму надо переписать более чем полностью
 

 

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

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


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

Добавляем в классе обьекта (сущности)


 

override void SetActions() //все дело в том что это SetActions есть в базовых классах и потому мы перекрываем в классе обьекта и сначла будет вызван он из класса обьекта { super.SetActions(); //вызов выше по иерархии у всех остальных (вызов перекрытых модом функций) AddAction(имяклассавашегоэкшана); //Этот класс еше надо зарегить в экшан менеджере }


override void SetActions() //все дело в том что это SetActions есть в базовых классах и потому мы перекрываем в классе обьекта и сначла будет вызван он из класса обьекта

{

     super.SetActions(); //вызов выше по иерархии у всех остальных (вызов перекрытых модом функций)

    AddAction(имяклассавашегоэкшана); //Этот класс еше надо зарегить в экшан менеджере

}

 

Спасибо, @BorizzK!

 

Я пока ещё плаваю в файлах игры сильно. Как раз нужен какой-то понятный толчок в нужную сторону.

 

Я нашел вот этот кусок кода в примерах в моде. Но класс объекта (сущность), это же не в config.cpp делается? Нужно как-то подключать файл *.c ? И для этого нужно в config.cpp настраивать CfgMod? Я разберусь, но просто хочу врубиться в эту всю систему, в логику.

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


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

Поиском

Создаем мод

Создаем серверный мод

А еще изучите струтуру и синтаксис языка в вики богемии + как создавать моды там же

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


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

@BorizzK

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

Суть в том, что действие "DC_ActionOpenBankingMenu" уже работает через другой мод. Автор так и говорит, просто addAction его и всё ок. То есть это действие в игре точно работает, значит автор мода уже всё зарегал в экшн мэнеджере, я вроед как просто беру его готовое и добавляю себе. Но не получается.

 

Создаю класс для "Серёги" из Рольфа. В игре могу спавнить, всё ок.

class CfgVehicles {

    class SurvivorM_Rolf;
    class DZR_LP_sergey : SurvivorM_Rolf {};

 

В \Addons\Scripts\4_World создал Sergey.c (может этот скрипт просто не грузится?)

class DZR_LP_sergey: PlayerBase
{    
    override void SetActions()
    {
        super.SetActions();
        
        AddAction(DC_ActionOpenBankingMenu);
    }
}

 

Скрипты вроде подключил в конфиге как раз по примерам

class CfgMods
{
    class DZR_am
    {
        dir="dzr_ammo_money";
        type="mod";
        dependencies[]=
        {
            "World",
            "Mission"
        };
        class defs
        {
            class worldScriptModule
            {
                value="";
                files[]=
                {
                    "dzr_ammo_money/Scripts/4_World"
                };
            };
            class missionScriptModule
            {
                value="";
                files[]=
                {
                    "dzr_ammo_money/Scripts/5_Mission"
                };
            };
        };
    };
};

 

Что я упускаю? Куда копать? Подскажите, пожалуйста. Голова уже трещит 🙂 Третьи сутки ковыряюсь 🙂

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

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

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

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