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

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

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

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

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

Добрый день,
Ошибка заключается в том что я решил познать все прелести модостроения Dayz.
Подскажите пожалуйста в плане скриптов, может быть есть тема какая то под рукой, перерыл интернет, не chatgpt не может подсказать и сам не нашёл.
как сделать правильно инициализацию скрипта в мод на сервер.
у меня есть мод он разбит на 2 подмода, 1 загружает небольшой пак рюкзаков и скрипт.
есть второй подмод, мне нужно чтоб он запускался при загрузки сервера.
в мамке мода сделал config

class CfgPatches
{
    class MyMod
    {
        units[] = {};
        weapons[] = {};
        requiredVersion = 0.1;
        requiredAddons[]= 
		{
			"DZ_Data"
		};
    };
};

class CfgMods
{
    class MyMod
    {	
		dir = "MyMod";							// Имя папки мода, совпадает с именем мода
	    picture = ""; 									// Картинка в описании мода
	    action = "";  									// Ссылка, например вот так: action = "https://dayz.com/";	
	    hideName = 1;									// Не уверен, что этот параметр работает
	    hidePicture = 1;								// Не уверен, что этот параметр работает
	    name = "MyMod";  						// Имя мода (а также его внутреннее скриптовое имя)
	    credits = "";								// credits
	    author = "123new";								// author
	    authorID = "0";  								// author steam ID 
	    version = "1.0";  								// version
	    extra = 0;										// Не уверен, что этот параметр работает
		
	    type = "mod"; 									// требуется обязательно, остается неизменным
        dependencies[]={"World","Mission"};

        class defs
        {
            class worldScriptModule
            {
                value = "";
                files[] = {"MyMod/scripts/4_World"};
            };
            class missionScriptModule
            {
                value = "";
                files[] = {"MyMod/scripts/5_Mission"};
            };
        };
    };
};


прописываю в моде папку scripts => 4_World => init.c внутри пишу

void main()
{
    Print("MyMod запущен.123");
};


сделал ещё папку scripts => 5_Mission => init.c внутри пишу

void main()
{
    Print("MyMod запущен.");
};



не прописывается подскажите пожалуйста начинающему рукожопу как правильно это делать.

p.s повторюсь если есть какой нибудь адекватный мануал работы со скриптами не отказался бы.

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


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

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

  • 0

Привет ,вот ссылка на видос 

тема видоса конечно общая ,но там прописывают скрипты 

 

 

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


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

4_World переименуй в 5_Mission. Ниже уровень ниже 5 не запустится

 

modded class MissionServer extends MissionBase
{
    override void OnInit() // Вот эта тема сработает во время запуска сервера до прогруза карты
    {
        super.OnInit(); // <= Вызывать сначала то что он должен был делать (Никогда не удаляй ее, отвалится все)) )
        // Твой нужный код
    }
    override void OnMissionLoaded() // Вот эта тема сработает после старта сервера, после загрузки карты, после прогруза всех скриптов и модов
    {
        super.OnMissionLoaded(); // <= Вызывать сначала то что он должен был делать (Если тебе нужно выполнить свое действие после базовых. Никогда не удаляй ее, отвалится все)) )
        // Твой нужный код
    }
}

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


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

В целом можешь покапаться по наследникам "extends MissionBase" возможно там есть MissionClient на стороне клиента (игрока)

Потому-что любой клиенский мод исполняется одновременно и на сервере

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

В идеале разделять клиент и сервер на разные моды и запускать клиентский через -mod=@имя а серверный через -servermod=@имя
Структура у них одна, логика тоже, просто способ запуска разные

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

 

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка