Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Next8172

Не работает мод

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

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

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

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

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

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

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

 

Share this post


Link to post
Share on other sites







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

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

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


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

 

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

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

Share this post


Link to post
Share on other sites
  • 0
1 час назад, 123new сказал:

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

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

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

Share this post


Link to post
Share on other sites
  • 0

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

 

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

Share this post


Link to post
Share on other sites
  • 0
21 минуту назад, paranoyk сказал:

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

 

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

 

Edited by 123new (see edit history)

Share this post


Link to post
Share on other sites
  • 0
1 час назад, paranoyk сказал:

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

 

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

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

 

 

Edited by Next8172 (see edit history)

Share this post


Link to post
Share on other sites
  • 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 .
Отмооде как хотите-сработает.
А в модификаторах-как карта ляжет НЕ всегда сработает....Хотите фокус? Просто скопируйте конфигурацию ванильную для глушителей и подключите как мод...:))))

Share this post


Link to post
Share on other sites
  • 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 .
Отмооде как хотите-сработает.
А в модификаторах-как карта ляжет НЕ всегда сработает....Хотите фокус? Просто скопируйте конфигурацию ванильную для глушителей и подключите как мод...:))))

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

Share this post


Link to post
Share on other sites
  • 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 класс

Share this post


Link to post
Share on other sites
  • 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 .
Отмооде как хотите-сработает.
А в модификаторах-как карта ляжет НЕ всегда сработает....Хотите фокус? Просто скопируйте конфигурацию ванильную для глушителей и подключите как мод...:))))

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

 

Edited by Next8172 (see edit history)

Share this post


Link to post
Share on other sites
  • 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 ?

 

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

 

Edited by Next8172 (see edit history)

Share this post


Link to post
Share on other sites
  • 0
1 час назад, paranoyk сказал:

а Так class gameScriptModule ?

 

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

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
3 часа назад, Next8172 сказал:

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

dependencies[] = {"Game"};

+

class worldScriptModule

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

 

Share this post


Link to post
Share on other sites
  • 0
2 часа назад, 123new сказал:

dependencies[] = {"Game"};


dependencies[] = {"Game"};

+

class worldScriptModule


class worldScriptModule

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

 

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

 

Share this post


Link to post
Share on other sites
  • 0
21 час назад, Next8172 сказал:

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

 

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

Share this post


Link to post
Share on other sites
  • 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"};
			};
		};
	};
};

 

Share this post


Link to post
Share on other sites
  • 0
8 часов назад, 123new сказал:

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

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

Share this post


Link to post
Share on other sites
  • 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 (Нужна ли точка с запятой в конце?)

Edited by Next8172 (see edit history)

Share this post


Link to post
Share on other sites
  • 0

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

 

Share this post


Link to post
Share on other sites
  • 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!" после прогрузки сервера. Если ее нет - твоя пбо не читается или собрана не верно, и уже ее надо смотреть полностью. Ну или попросту не подгружается как мод.

Share this post


Link to post
Share on other sites
  • 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"};
			};
        };
	};
};

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

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

Share this post


Link to post
Share on other sites
  • 0

Готовый

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

Share this post


Link to post
Share on other sites
  • 0
49 минут назад, paranoyk сказал:

Готовый

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.