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

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

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

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

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

Помогите, не могу уже... Где допустил ошибку в серверном моде-

class CfgPatches
{
	class DZ_Scripts
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[] = {"World"};
		
		class defs {
			class GameScriptModule {
				value = "";
				files[] = {"NextShock\4_World\Classes\PlayerModifiers\Modifiers"};
			};
		};
	};
};

config

modded class GameConstants
{
	private const float	 	UNCONSCIOUS_LIMIT = 80;
	private const float 	SHOCK_INCREMENT_PER_SEC = 0.20;
	
	override void Init()
	{
		m_ID 					= eModifiers.MDF_SHOCK;
		m_TickIntervalInactive 	= 0.20;
		m_TickIntervalActive 	= 0.20;
		//DisableActivateCheck();
		DisableDeactivateCheck();
	}	

	override bool ActivateCondition(PlayerBase player)
	{
		return true;
	}

	override bool DeactivateCondition(PlayerBase player)
	{
		return false;
	}

	override void OnActivate(PlayerBase player)
	{
	}
	
	override void OnDeactivate(PlayerBase player)
	{
	}
	
	override void OnTick(PlayerBase player, float deltaT)
	{	
		//Print("m_UnconRefillModifier" + player.m_UnconRefillModifier);
		if( GetGame().GetTime() > player.m_LastShockHitTime + PlayerConstants.SHOCK_REFILL_COOLDOWN_AFTER_HIT && player.GetPulseType() == EPulseType.REGULAR)
		{
			bool uncon = player.IsUnconscious();
			
			if (!uncon)
				player.m_UnconRefillModifier = 1;//reset this UnconRefillModifier some time after the player has been hit(we want the UnconRefillModifier to only apply to uncon induced by a projectile)
			
			if(player.GetHealth01("","Shock") == 1)//no need to continue if the shock is full
				return;
			
			float refill_speed;

			if ( !CfgGameplayHandler.GetAllowRefillSpeedModifier() )
				player.m_UnconRefillModifier = 1;
			if( uncon )
			{
				refill_speed = CfgGameplayHandler.GetShockRefillSpeedUnconscious() * player.m_UnconRefillModifier;
			}
			else if (player.GetBrokenLegs() != eBrokenLegs.BROKEN_LEGS || (player.m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_PRONE || player.m_MovementState.m_iStanceIdx == DayZPlayerConstants.STANCEIDX_RAISEDPRONE))
			{
				refill_speed =   CfgGameplayHandler.GetShockRefillSpeedConscious();
			}
			else  if ( player.GetBrokenLegs() == eBrokenLegs.BROKEN_LEGS && (player.IsSwimming() || player.IsClimbingLadder()) )
			{
				refill_speed =  CfgGameplayHandler.GetShockRefillSpeedUnconscious();
			}
			else
				refill_speed = 0; //Block shock regen when standing with broken legs
			
			player.AddHealth("","Shock", deltaT * refill_speed );
		}
	}
	
	override void OnReconnect(PlayerBase player)
	{

	}
};

mod

DayZServer_x64" -config=serverDZ.cfg -port=3402 -profiles=profiles -freezecheck -serverMod=@NextSMod "-mod=@CF;@Community-Online-Tools;@Namalsk Island;@Namalsk Survival

Параметры запуска.

Не могу заставить работать

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


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

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

  • 0

.....а может сам мод немного не в той папке(должна быть ещё папка скриптс), да и путь должен вроде выглядеть так
 

			class worldScriptModule {
				value = "";
				files[] = {"NextShock/scripts/4_World"};
			};

 

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


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





  • 0
13 минут назад, paranoyk сказал:

.....а может сам мод немного не в той папке(должна быть ещё папка скриптс), да и путь должен вроде выглядеть так
 

class worldScriptModule { value = ""; files[] = {"NextShock/scripts/4_World"}; };


			class worldScriptModule {
				value = "";
				files[] = {"NextShock/scripts/4_World"};
			};

 

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

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

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


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

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

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

Пытался увеличить время пополнения шока, что бы выход из комы занимал больше времени. Ошибок нет, просто мод не работает, в чем может быть ошибка у меня?

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


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

@123new Так человек моддит  файл scripts\4_World\Classes\PlayerModifiers\Modifiers\Shock.c
И который начинается....
class ShockMdfr: ModifierBase
...у него же
modded class GameConstants

 

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

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


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

@123new Так человек моддит  файл scripts\4_World\Classes\PlayerModifiers\Modifiers\Shock.c
И который начинается....
class ShockMdfr: ModifierBase
...у него же
modded class GameConstants

 

а, вот на это внимания не обратил чет. А я еще думаю, при чем тут class GameConstants. ... Тогда да, все верно описываете, комрад ;)

 

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

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


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

@123new Так человек моддит  файл scripts\4_World\Classes\PlayerModifiers\Modifiers\Shock.c
И который начинается....
class ShockMdfr: ModifierBase
...у него же
modded class GameConstants

 

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

Не работает) Востановление шока идет 1 в секунду и так до 50, я пытаюсь замедлить. Файл вроде тот что нужно, но не робит, щас проверил (П.С. я пробывал разные классы)

 

 

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

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


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

....мдя, когда читаешь и не понимаешь что прочитал, это как называется????Человек замедление унки хочет....вот я тундрюк...
@Next8172  В одном файле есть такое...
    static const float UNCONSCIOUS_THRESHOLD                = .........;        //player goes unconscious when we get under this threshold
    static const float CONSCIOUS_THRESHOLD                    = ........;        //player regains consciousness when he gets above this threshold
    
    static const float SHOCK_REFILL_CONSCIOUS_SPEED            = ......;        //shock refill speed when the player is conscious
    static const float SHOCK_REFILl_UNCONSCIOUS_SPEED        = 0.......;        //shock refill speed when the player is unconscious

 И это НЕ ваш файл,а PlayerConstants.c в scripts\3_Game .
Отмооде как хотите-сработает.
А в модификаторах-как карта ляжет НЕ всегда сработает....Хотите фокус? Просто скопируйте конфигурацию ванильную для глушителей и подключите как мод...:))))

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


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

....мдя, когда читаешь и не понимаешь что прочитал, это как называется????Человек замедление унки хочет....вот я тундрюк...
@Next8172  В одном файле есть такое...
    static const float UNCONSCIOUS_THRESHOLD                = .........;        //player goes unconscious when we get under this threshold
    static const float CONSCIOUS_THRESHOLD                    = ........;        //player regains consciousness when he gets above this threshold
    
    static const float SHOCK_REFILL_CONSCIOUS_SPEED            = ......;        //shock refill speed when the player is conscious
    static const float SHOCK_REFILl_UNCONSCIOUS_SPEED        = 0.......;        //shock refill speed when the player is unconscious

 И это НЕ ваш файл,а PlayerConstants.c в scripts\3_Game .
Отмооде как хотите-сработает.
А в модификаторах-как карта ляжет НЕ всегда сработает....Хотите фокус? Просто скопируйте конфигурацию ванильную для глушителей и подключите как мод...:))))

Про фокус честно говоря не понял, но щас попробую запилить

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
modded class PlayerConstants 
{
	static const float UNCONSCIOUS_THRESHOLD                = 25.0;       //игрок теряет сознание, когда мы опускаемся ниже этого порога
    static const float CONSCIOUS_THRESHOLD                    = 50.0 ;       //игрок приходит в сознание, когда он превышает этот порог
    
    static const float SHOCK_REFILL_CONSCIOUS_SPEED	           = 5;        //скорость перезарядки шока, когда игрок в сознании
    static const float SHOCK_REFILl_UNCONSCIOUS_SPEED        = 0;        //скорость перезарядки шока, когда игрок без сознания
}

Constants

class CfgPatches
{
	class NextShock
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
																			   
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";								 
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[] = {"Game"};
																				  
		class defs
		{
			class worldScriptModule
			{
				value = "";
				files[] = {"NextShock\scripts\3_Game"};
			};
		};
	};
};

Config

Не запускает сервер, пробовал сначала class PlayerConstants класс

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


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

....мдя, когда читаешь и не понимаешь что прочитал, это как называется????Человек замедление унки хочет....вот я тундрюк...
@Next8172  В одном файле есть такое...
    static const float UNCONSCIOUS_THRESHOLD                = .........;        //player goes unconscious when we get under this threshold
    static const float CONSCIOUS_THRESHOLD                    = ........;        //player regains consciousness when he gets above this threshold
    
    static const float SHOCK_REFILL_CONSCIOUS_SPEED            = ......;        //shock refill speed when the player is conscious
    static const float SHOCK_REFILl_UNCONSCIOUS_SPEED        = 0.......;        //shock refill speed when the player is unconscious

 И это НЕ ваш файл,а PlayerConstants.c в scripts\3_Game .
Отмооде как хотите-сработает.
А в модификаторах-как карта ляжет НЕ всегда сработает....Хотите фокус? Просто скопируйте конфигурацию ванильную для глушителей и подключите как мод...:))))

Сервер ругатся начал теперь на мод, правильно ли я класс сделал?

 

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

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


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

а Так class gameScriptModule ?

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
static const float UNCONSCIOUS_THRESHOLD                = 25.0;       //игрок теряет сознание, когда мы опускаемся ниже этого порога
    static const float CONSCIOUS_THRESHOLD                    = 50.0 ;       //игрок приходит в сознание, когда он превышает этот порог
    
    static const float SHOCK_REFILL_CONSCIOUS_SPEED	           = 5;        //скорость перезарядки шока, когда игрок в сознании
    static const float SHOCK_REFILl_UNCONSCIOUS_SPEED        = 0;        //скорость перезарядки шока, когда игрок без сознания
31 минуту назад, paranoyk сказал:

а Так class gameScriptModule ?

 

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

 

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

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


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

а Так class gameScriptModule ?

 

Карта намальск если что, человек подсказал закинуть файл с другой карты cfggameplay.json, но тут я уже не знаю что делать, есть мысли?

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


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

Есть еще какие мысли? Я просто в тупик зашел(

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


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

Есть еще какие мысли? Я просто в тупик зашел(

dependencies[] = {"Game"};

+

class worldScriptModule

советую изучить структуру  cpp файла того что ты делаешь

 

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


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

dependencies[] = {"Game"};


dependencies[] = {"Game"};

+

class worldScriptModule


class worldScriptModule

советую изучить структуру  cpp файла того что ты делаешь

 

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

 

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


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

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

 

я тебе предлагаю сверить cpp конфиг твой и в гайде, ошибку указал твою. Остается лишь посмотреть и сравнить 😉

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


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

я тебе предлагаю сверить cpp конфиг твой и в гайде, ошибку указал твою. Остается лишь посмотреть и сравнить 😉

Я не понял почему class worldScriptModule, я переделал как сказал paranoyk. Это значит у меня правильно или вариант paranoyk? я просто запутался уже...

Сейчас у меня так-

class gameScriptModule 
{
	static const float UNCONSCIOUS_THRESHOLD                = 25.0;       //игрок теряет сознание, когда мы опускаемся ниже этого порога
    static const float CONSCIOUS_THRESHOLD                    = 50.0 ;       //игрок приходит в сознание, когда он превышает этот порог
    
    static const float SHOCK_REFILL_CONSCIOUS_SPEED	           = 5;        //скорость перезарядки шока, когда игрок в сознании
    static const float SHOCK_REFILl_UNCONSCIOUS_SPEED        = 0;        //скорость перезарядки шока, когда игрок без сознания
}
class CfgPatches
{
	class NextShock
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
																			   
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";								 
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[] = {"Game"};
																				  
		class defs
		{
			class worldScriptModule
			{
				value = "";
				files[] = {"NextShock\scripts\3_Game"};
			};
		};
	};
};

 

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


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

я тебе предлагаю сверить cpp конфиг твой и в гайде, ошибку указал твою. Остается лишь посмотреть и сравнить 😉

Увидел, щас попробую Запустить

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


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

я тебе предлагаю сверить cpp конфиг твой и в гайде, ошибку указал твою. Остается лишь посмотреть и сравнить 😉

Не работает...

class CfgPatches
{
	class NextShock
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
																			   
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";								 
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[]={"Game"};
																				  
		class defs
		{
			class gameScriptModule
			{
				value = "";
				files[] = {"NextShock\scripts\3_Game"};
			};
		};
	};
};

Параметры запуска-"-servermod=@NextSMod;" -FilePatching (Нужна ли точка с запятой в конце?)

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

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


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

точка с запятой ставится только между модами, после последнего мода-нет.

 

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


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

Не работает...

class CfgPatches { class NextShock { units[]={}; weapons[]={}; requiredVersion=0.1; requiredAddons[]={}; }; }; class CfgMods { class NextShock { dir = "NextShock"; picture = ""; action = ""; hideName = 1; hidePicture = 1; name = "NextShock"; credits = ""; author = "Next"; authorID = "0"; version = "1.0"; extra = 0; type = "mod"; dependencies[]={"Game"}; class defs { class gameScriptModule { value = ""; files[] = {"NextShock\scripts\3_Game"}; }; }; }; };


class CfgPatches
{
	class NextShock
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
																			   
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";								 
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[]={"Game"};
																				  
		class defs
		{
			class gameScriptModule
			{
				value = "";
				files[] = {"NextShock\scripts\3_Game"};
			};
		};
	};
};

Параметры запуска-"-servermod=@NextSMod;" -FilePatching (Нужна ли точка с запятой в конце?)

не обязательна, но хуже не будет, если она там есть.

Попробуйте так:

в cpp такой код

class CfgPatches
{
	class NextShock
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
																			   
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";								 
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[]={"Game","World","Mission"};  	
		
		class defs
	    {			
			class gameScriptModule
			{
				value = "";
				files[]={"NextShock/scripts/3_Game"};
			};
			class worldScriptModule
			{
				value="";
				files[]={"NextShock/scripts/4_World"};
			};
			class missionScriptModule
			{
				value="";
				files[]={"NextShock/scripts/5_Mission"};
			};
        };
	};
};

затем в папке пбо мода, если вдруг не создана, создать папку scripts, а в ней создать 3 папки, также если отсутствую - 3_Game  4_World 5_Mission.

Удостоверься что твой Constants.c (именно так файл должен называться, с таки мрасширением, иначе сервер не считает код) лежит именно в scripts/3_Game

Затем в scripts/5_Mission создай init.c с таким вот кодом:

modded class MissionServer
{
	override void OnInit()
	{
		super.OnInit();
		Print("[TEST LOG] Mod NextShock is loaded!");
	}
}

Собери пбо и запусти сервер. В script.log файле сервера у тебя должна появиться надпись "[TEST LOG] Mod NextShock is loaded!" после прогрузки сервера. Если ее нет - твоя пбо не читается или собрана не верно, и уже ее надо смотреть полностью. Ну или попросту не подгружается как мод.

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


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

не обязательна, но хуже не будет, если она там есть.

Попробуйте так:

в cpp такой код

class CfgPatches { class NextShock { units[]={}; weapons[]={}; requiredVersion=0.1; requiredAddons[]={}; }; }; class CfgMods { class NextShock { dir = "NextShock"; picture = ""; action = ""; hideName = 1; hidePicture = 1; name = "NextShock"; credits = ""; author = "Next"; authorID = "0"; version = "1.0"; extra = 0; type = "mod"; dependencies[]={"Game","World","Mission"}; class defs { class gameScriptModule { value = ""; files[]={"NextShock/scripts/3_Game"}; }; class worldScriptModule { value=""; files[]={"NextShock/scripts/4_World"}; }; class missionScriptModule { value=""; files[]={"NextShock/scripts/5_Mission"}; }; }; }; };


class CfgPatches
{
	class NextShock
	{
		units[]={};
		weapons[]={};
		requiredVersion=0.1;
		requiredAddons[]={};
	};
};

class CfgMods
{
																			   
	class NextShock
	{
		dir = "NextShock";
		picture = "";
		action = "";
		hideName = 1;
		hidePicture = 1;
		name = "NextShock";								 
		credits = "";
		author = "Next";
		authorID = "0";
		version = "1.0";
		extra = 0;
		type = "mod";
		dependencies[]={"Game","World","Mission"};  	
		
		class defs
	    {			
			class gameScriptModule
			{
				value = "";
				files[]={"NextShock/scripts/3_Game"};
			};
			class worldScriptModule
			{
				value="";
				files[]={"NextShock/scripts/4_World"};
			};
			class missionScriptModule
			{
				value="";
				files[]={"NextShock/scripts/5_Mission"};
			};
        };
	};
};

затем в папке пбо

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

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


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

Готовый

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

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


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

Готовый

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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