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

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

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

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 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

....проще.Модить то нужно PlayerConstants.c а не constants.c...Сделал,работает.Пусть проверит.

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


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



  • 0
6 часов назад, 123new сказал:

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

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

 

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


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

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

 

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

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


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

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

Спасибо, за пол года первый раз разжевали нормально) Приду домой попробую мод...

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


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

Готовый

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

Спасибо большое, заработало, но как то странно, от модовой гранаты и лопаты, падаешь как нужно, от тайзера экспансион и дарт гана, падает на 10 сек причем тайзер работает так, востанавливает по 5 единиц шока в секунду доходит до 20 единиц шока и он встает моментально и становится 100 единиц моментально. Ошибка была походу в названии файла Constants.c у меня стояло так. На счет предметов которые бросают в бессознанку( тайзер, дарт-ган) С ними нечего нельзя поделать? Возможно такое, что есть файл который нужно отмодить и залить как серверный что бы заработало, или нет? Или проблема в самих предметах, в которых нужно менять клиентский мод?

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


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

Ошибка была походу в названии файла Constants.c у меня стояло так. На счет предметов которые бросают в бессознанку( тайзер, дарт-ган)

для сведения, названия файлов не влияют ни на что, влияет их содержимое и расширение 😉

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


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

для сведения, названия файлов не влияют ни на что, влияет их содержимое и расширение 😉

тогда сам код был не полный, Спасибо все равно. Спасибо что разжевываете мне это, даже стыдно как то...

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


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

тогда сам код был не полный, Спасибо все равно. Спасибо что разжевываете мне это, даже стыдно как то...

Не совсем так....В данном примере точно видно где ошибка.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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