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

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

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

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

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

Энергия персонажа

Приветствую.Подскажите пожалуйста,где прописано максимальное значение энергии,воды у персонажа?

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


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

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

  • 1
1 час назад, Ewgen сказал:

Ну через админку смотришь а там показывает максимальная энергия (желудок) 20000

и тоже было бы интересно как его уменьшить

Я не понимаю, зачем это нужно даже на харде?  Проще все-таки метаболизм менять под свою длину суток и прочие механики...

Но если уж так хочется, то загляните в \DZ\characters\data\config.cpp class States

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


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

@Ewgen 

Я её,энергию,победил

modded class PlayerStatsPCO_v106 extends PlayerStatsPCO_Base
{
	override void Init()
	{
		RegisterStat(EPlayerStats_v106.HEATCOMFORT,  	new PlayerStat<float>	(-1,	1,							0,								"HeatComfort",		EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.TREMOR,		  	new PlayerStat<float>	(0,		1,							0,								"Tremor",			EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.WET,  			new PlayerStat<int>		(0,		1,							0,								"Wet",				EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.ENERGY,  		new PlayerStat<float>	(0,		5000,						600,							"Energy",			EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.WATER,  			new PlayerStat<float>	(0,		5000,						650,							"Water",			EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.DIET,  			new PlayerStat<float>	(0,		5000,						2500,							"Diet",				EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.STAMINA,  		new PlayerStat<float>	(0,		GameConstants.STAMINA_MAX,	100,							"Stamina",			EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.SPECIALTY,  		new PlayerStat<float>	(-1,	1,							0,								"Specialty",		EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.BLOODTYPE,  		new PlayerStat<int>		(0,		128,						BloodTypes.GenerateBloodType(),	"BloodType",		EPSstatsFlags.EMPTY) );
		RegisterStat(EPlayerStats_v106.TOXICITY,  		new PlayerStat<float>	(0,		100,						0,								"Toxicity",			EPSstatsFlags.EMPTY) );
	}
};

dta\scripts\4_World\Classes\PlayerStats

Теперь 5000

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

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


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

"Прописывается" не максимальное количество, а расход. Все константы связанные с игроком искать в P:\scripts\3_game\playerconstants.c

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


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

Ну через админку смотришь а там показывает максимальная энергия (желудок) 20000

и тоже было бы интересно как его уменьшить

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


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

 

3 часа назад, StanislavSay сказал:

Я не понимаю, зачем это нужно даже на харде?  Проще все-таки метаболизм менять под свою длину суток и прочие механики...

Но если уж так хочется, то загляните в \DZ\characters\data\config.cpp class States

Спасибо. Это нужно пока не привязан расход энергии в зависимости от переносимого веса.

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


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

Я не понимаю, зачем это нужно даже на харде?  Проще все-таки метаболизм менять под свою длину суток и прочие механики...

Игроки плачут что стрелок много показывает,вот им хочется уменьшить именно количество.

 

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


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

Игроки плачут что стрелок много показывает,вот им хочется уменьшить именно количество.

 

Вообще-то стрелки как раз показывают, что тот или иной параметр изменяется с такой-то скоростью))) Увеличивая максимальное количество воды или энергии, индикаторы все равно будут показывать например три стрелки вниз на шифте))) Поэтому и посоветовал менять ПАРАМЕТРЫ метаболизма и не сами характеристики персонажа.

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


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

Так расход всех устраивает.

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


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

Так расход всех устраивает.

Значит не устраивает раз на стрелки жалуются...

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
class CfgPatches {
    class Energy {
        units[] = {};
        weapons[] = {};
        requiredVersion = 1;
        requiredAddons[] = {"DZ_Data"};
    };
};

class CfgVehicles {
    
    class Man;
    
    class SurvivorBase : Man {

        class States {
            class Energy {
                min = -500;
                max = 10000;
                events[] = {"Hunger", "HighEnergy"};
                change = "-(DZ_METABOLISM_SEC + (((_person call fnc_speedVector) min 7) * 0.125))";
            };
            
            class Water {
                min = -1000;
                max = 4000;
                events[] = {"Thirst", "HighWater"};
                change = "-(DZ_THIRST_SEC + (((_person call fnc_speedVector) min 7) * 0.2))";
            };
            
            class Bodytemperature {
                min = 30;
                max = 43;
                events[] = {"Temperature"};
                change = "0";
            };
            
            class Heatcomfort {
                min = -100;
                max = 100;
                events[] = {"FeelingCold"};
                change = "0";
            };
            
            class Stomach {
                min = 0;
                max = 4000;
                events[] = {"Packed"};
                change = "-DZ_DIGESTION_RATE";
            };
            
            class Blood {
                min = 0;
                max = 5000;
                events[] = {"Bleeding"};
                change = "0";
            };
            
            class Health {
                min = 0;
                max = 5000;
                events[] = {"Healing", "FootInjury"};
                change = "0.02 call player_fnc_tickHealth";
            };
            
            class Exposure {
                min = -1;
                max = 1;
                events[] = {};
                change = "call player_fnc_tickExposure";
            };
            
            class Shock {
                min = 0;
                max = 5000;
                events[] = {"Unconscious"};
                change = -30;
            };
            
            class Wet {
                min = 0;
                max = 1;
                events[] = {};
                change = "";
            };
        };
    };
};

 

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

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


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

Не меняется

может подскажите,в чём косяк.

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


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

Значит не устраивает раз на стрелки жалуются...

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

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


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

У меня нет желания это больше обсуждать, если честно, так как для вас нет разницы между причинами и следствием)

Уступаю место другому учителю)

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


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

У меня нет желания это больше обсуждать, если честно, так как для вас нет разницы между причинами и следствием)

Уступаю место другому учителю)

 

Нам просто хочется хардкор, а мода метаболизм нету

вот и пытаемся ванильку победить.

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

В characters и энергию ограничивал и желудок - не работает

Увеличиваешь матаболизм в PlayerConstants.c то кепкой выжить не реально

метаболизм в зависимости от веса всех вещей тоже не получается сделать

как вариант попробовать прописать:

if энергия_персонажа > 5000  то пусть блюёт

 

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


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

@Ewgen 
Именно,судя по всему у корифеев пять минут (а именно столько у них займёт такой мод) стоят больше,но...их право,тут молчим("123" не ругайся, в курсе),
И так....
не всегда хорошо менять константы, имхо,лучше менять сами формулы вычисления.
Расчёт метаболизма идёт в moddedMiscGameplayFunctions
ИМХО, решение-ввод в формулу новой переменой связаной со стаминой , но обратной ей.
Вычисление стамины идёт в другом скрипте,берём оттуда кусочек,имплантируем...
(да,да,знаю что не так,что не эдак,что нельзя....но....извините,мне бейсик в школе не преподавали:))
 

modded class MiscGameplayFunctions
{	
	protected float 						m_PlayerLoad;
	protected float 						m_StaminaDelta;
	protected float 						m_Stamina;
	protected float 						m_StaminaCap;
	protected float							m_StaminaDepletion;
	protected float 						m_Time;
	protected ref Param3<float,float,bool>	m_StaminaParams; 
	protected ref HumanMovementState		m_State;
	protected PlayerBase					m_Player;

	protected bool 							m_Debug;
	protected bool							m_StaminaDepleted;

	protected ref Timer						m_CooldownTimer;
	protected bool							m_IsInCooldown;
	
	protected ref StaminaConsumers			m_StaminaConsumers;
	protected ref StaminaModifiers			m_StaminaModifiers;
	
	void StaminaHandler(PlayerBase player)
	{
		if ( GetGame().IsServer() && GetGame().IsMultiplayer() )
		{
			m_StaminaParams = new Param3<float,float,bool>(0,0, false);		
		}
		m_State 			= new HumanMovementState();
		m_Player 			= player;
		m_Stamina 			= GameConstants.STAMINA_MAX; 
		m_StaminaCap 		= GameConstants.STAMINA_MAX;
		m_StaminaDepletion 	= 0;
		m_Time 				= 0;
		m_Debug 			= false;

	}

	void UpdateAA(float deltaT, int pCurrentCommandID)
	{
		if( m_Player )
		{
			// Calculates actual max stamina based on player's load
			if ( GetGame().IsServer() && GetGame().IsMultiplayer() )
			{
				//! gets stamina from PlayerStat
				m_Stamina = m_Player.GetStatStamina().Get();
				//! gets the actual players load
				m_PlayerLoad = m_Player.GetPlayerLoad();

				//! StaminaCap calculation starts when PlayerLoad exceeds STAMINA_WEIGHT_LIMIT_THRESHOLD
				if (m_PlayerLoad >= GameConstants.STAMINA_WEIGHT_LIMIT_THRESHOLD)
				{
					m_StaminaCap =  Math.Max((GameConstants.STAMINA_MAX - (((m_PlayerLoad - GameConstants.STAMINA_WEIGHT_LIMIT_THRESHOLD)/GameConstants.STAMINA_KG_TO_GRAMS) * GameConstants.STAMINA_KG_TO_STAMINAPERCENT_PENALTY)),GameConstants.STAMINA_MIN_CAP);
				}
			}
		}
	}
		
	static float GetEnergyMetabolicSpeed(int movement_speed)	
	{		
		float speed;
		//PrintString(movement_speed.ToString());
		switch (movement_speed)
		{
			case 1:
			{
				speed = PlayerConstants.METABOLIC_SPEED_ENERGY_WALK+((100-m_StaminaCap)/500);
				break;
			}
			case 2:
			{
				speed = PlayerConstants.METABOLIC_SPEED_ENERGY_JOG+((100-m_StaminaCap)/500);
				break;
			}
			case 3:
			{
				speed = PlayerConstants.METABOLIC_SPEED_ENERGY_SPRINT+((100-m_StaminaCap)/500);
				break;
			}
			default:
			{
				speed = 0;
				break;
			}
		}
		speed += PlayerConstants.METABOLIC_SPEED_ENERGY_BASAL;
		return speed;
	}
};

Код НЕ работает,бросает ошибку...Но имхо,суть понятна и только доработать напильником. Есть правда ещё идей,но там уже вообще сумрак.
@Ewgen Сможете допилить-напишите как. ( ну или кто из доброжелателей которые ещё считают что альтруизм-не зло и людям можно верить может помогут)

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


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

Блин, я так же делал но не работало, строчку лишнюю не убрал, теперь увидел свою ошибку

Спасибо

 

Теперь когда энергия до капа доходит то не прибавляется.

но есть он может ))

Привязать бы иконку полного желудка когда энергия полная

 

 

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

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


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

Желудок и энергия ,разные константы.

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


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

Привязать бы иконку полного желудка когда энергия полная

ИМХО,она привязана к другому месту,а именно к скорости наполнения.Ибо если много есть сразу,то "полный желудок" и потом "ИХТИААААНДР".

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка