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

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

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

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

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

Помощь с модом Medical Attention

Доброго времени суток. Вопрос такой: Можно как либо поменять цвет и язык написания сообщения диагноза состояния персонажа который выводится в левом нижнем углу при использовании набора определения группы крови. Спасибо

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


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

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

  • 2

Привет файл с переводом находится по этому пути , scripts\4_World\classes\useractionscomponent\actions\continuous\medical , берешь файл закидываешь к себе в мод , работает также и на стороне сервера , открываешь файл видишь первую строчку class MABloodTestReport главный класс , пишешь с переди modded

, получается modded class MABloodTestReport , потом переводишь текст и вуаля по руски будет. вот пример 

modded class MABloodTestReport
{

	static void DisplayReport(ActionBase action, PlayerBase player, PlayerBase target)
	{
		EStatLevels immunityLevel = target.GetImmunityLevel();
		string immunityLevelStr;

		switch (immunityLevel)
		{
			case EStatLevels.GREAT: immunityLevelStr = "Отличный"; break;
			case EStatLevels.HIGH: immunityLevelStr = "Высокий"; break;
			case EStatLevels.MEDIUM: immunityLevelStr = "Средний"; break;
			case EStatLevels.LOW: immunityLevelStr = "Низкий"; break;
			case EStatLevels.CRITICAL: immunityLevelStr = "Критический"; break;
		}

		string rageVirusZLevelStr;
		if(target.GetSingleAgentCount(RageAgents.RAGEVIRUS) == false){
			rageVirusZLevelStr = "Не обнаружен.";
		}else{
			rageVirusZLevelStr = "Обнаружен. Вам срочно нужен антивирус!";
		}

		action.SendMessageToClient(player, "=============================");
		action.SendMessageToClient(player, "Медицинское заключение:");
		action.SendMessageToClient(player, "Уровень иммунитета: " + immunityLevelStr);
		action.SendMessageToClient(player, "Вирус Z: " + rageVirusZLevelStr);
		action.SendMessageToClient(player, "Алкоголь: " + target.GetSingleAgentCount(MedicalAttentionAgents.DRUNKENNESS).ToString());
		action.SendMessageToClient(player, "Холера: " + target.GetSingleAgentCount(eAgents.CHOLERA).ToString());
		action.SendMessageToClient(player, "Сальмонелла: " + target.GetSingleAgentCount(eAgents.SALMONELLA).ToString());
		action.SendMessageToClient(player, "Грипп: " + target.GetSingleAgentCount(eAgents.INFLUENZA).ToString());
		action.SendMessageToClient(player, "Пищевое отравление: " + target.GetSingleAgentCount(eAgents.FOOD_POISON).ToString());
		action.SendMessageToClient(player, "Заражение крови: " + target.GetSingleAgentCount(eAgents.WOUND_AGENT).ToString());
		

		if (MAGlobals.Get().g_TestBloodToxin)
		{
			action.SendMessageToClient(player, "Неизвестный Токсин: " + target.GetSingleAgentCount(MedicalAttentionAgents.UNKNOWN_TOXINE).ToString());
		}
		action.SendMessageToClient(player, "=============================");
	}
}

только если нет мода Zombie virus , ошибка будет так как переделал чуть в таком случае удали строчки 

Цитата

string rageVirusZLevelStr; //если нет мода zombie virus Удали!!
		if(target.GetSingleAgentCount(RageAgents.RAGEVIRUS) == false){
			rageVirusZLevelStr = "Не обнаружен.";
		}else{
			rageVirusZLevelStr = "Обнаружен. Вам срочно нужен антивирус!";
		} 
//
		action.SendMessageToClient(player, "Вирус Z: " + rageVirusZLevelStr); // если нет мода zombie virus Удали!!

 

в принципе как то так)

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


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

второй файл с переводом тут \scripts\4_World\entities\manbase

Цитата

modded class PlayerBase
{
	private void PlayerRestCheck(float deltaTime)
	{
		static const float PLAYER_REST_TICK = 3;

		m_PlayerRestTick += deltaTime;

		if (m_PlayerRestTick < PLAYER_REST_TICK)
		{
			return;
		}

		if (GetGame().IsServer() && GetGame().IsMultiplayer())
		{
			m_Tiredness = GetSingleAgentCount(MedicalAttentionAgents.TIREDNESS);

			if (!IsPlayerSleeping())
			{
				m_PlayerRestTick = 0;
				m_AccumulatedRest = REST_GAIN_MIN;
				m_TirednessRCountdown = 0;
				return;
			}

			SetSynchDirty();

			if (MAGlobals.Get().g_TirednessReport)
			{
				m_TirednessRCountdown--;
				if (m_TirednessRCountdown <= 0)
				{
					m_TirednessRCountdown = 5;
					int percent = 100 - (float)m_Tiredness / MAX_TIREDNESS * 100;
					SendMessageToClient(this, "Ваш уровень отдыха: " + percent.ToString() + "%"); // ПЕРЕВОД
				}
			}

			bool heatSource = m_HeatSource > 0 || m_SleepingBagAttached || IsPlayerNearbySleepingBag();

			if (m_HeatSource > 0)
			{
				m_HeatSource--;
			}

			if (m_AccumulatedRest > REST_GAIN_MIN + REST_GAIN_PER_SEC * 120) // if player is sleeping for 2 mins
			{
				m_EnergizingDrinkAllowedRest = m_EnergizingDrinkAllowedRestMax;

				if (!heatSource) // and no heat source then influenza
				{
					InsertAgent(eAgents.INFLUENZA, 1);
				}
			}

			if (m_Tiredness < (MAX_TIREDNESS / 2) && !heatSource) // if no heat source then cap resting at 50%
			{
				m_PlayerRestTick = 0;
				return;
			}

			// old way from Environment.CollectAndSetEnvironmentData()
			/*
			m_DayOrNight = (-1 * Math.AbsFloat( ( 1 - ( g_Game.GetDayTime() / GameConstants.ENVIRO_HIGH_NOON ) ) ) ) + 1;
			if (m_Tiredness < (MAX_TIREDNESS / 4) && m_DayOrNight >= 0.5)
			*/

			if (m_Tiredness < (MAX_TIREDNESS / 4) && !GetGame().GetWorld().IsNight()) // if heat source, but not night then cap resting at 75%
			{
				m_PlayerRestTick = 0;
				return;
			}

			m_AccumulatedRest += (REST_GAIN_PER_SEC * m_PlayerRestTick);
			int rest = m_AccumulatedRest * m_PlayerRestTick;

			if (rest > m_Tiredness)
			{
				rest = m_Tiredness;
			}

			InsertAgent(MedicalAttentionAgents.TIREDNESS, rest * -1);

			m_Tiredness -= rest;
		}
		else //if (!GetGame().IsMultiplayer() || GetGame().IsClient())
		{
			if (m_Mod_ModulePlayerStatus)
			{
				m_Mod_ModulePlayerStatus.SetTiredness(MAX_TIREDNESS - m_Tiredness, MAX_TIREDNESS);
			}

			if (m_IsSleeping != m_WasSleeping)
			{
				m_WasSleeping = m_IsSleeping;

				if (m_IsSleeping)
				{
					//PPEffects.OverrideDOF(true, 4, 700, 20, 10, 1);
					PPEffects.EnableBurlapSackBlindness();
				}
				else
				{
					//PPEffects.ResetDOFOverride();
					PPEffects.DisableBurlapSackBlindness();
				}
			}

			PlayerYawnCheck();
		}

		m_PlayerRestTick = 0;
	}
}

 

все тоже самое как и описал выше)

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


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

Можно , нужно создать свой мод и отмодить файл где находится текст сделать перевод и подключить , вроде можно даже со стороны сервера если не ошибаюсь , а цвет текста в чате это нужно смотреть файл Chatline.c в папке dta  , файл scripts.pbo /5_mission/ gui , стучи в личку помогу делал уже подобное)

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


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

Можно , нужно создать свой мод и отмодить файл где находится текст сделать перевод и подключить , вроде можно даже со стороны сервера если не ошибаюсь , а цвет текста в чате это нужно смотреть файл Chatline.c в папке dta  , файл scripts.pbo /5_mission/ gui , стучи в личку помогу делал уже подобное)

Спасибо попробую сам, если не получится напишу!

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


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

Переделал на сервере, при заходе ругается на этот скрипт. Так что наверное остается отлько мод над модом ставить

 

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


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

Я в этом моде находил строчки с текстом, менял в ручную а после рестарта, так как мод обновляется после рестарта рта все вернулось на круги дефолда. Тоже интересно стало перевести хотяб на русский для начала. А вот цвет текста если поменять так вообще бомба будет. Ещё переделать с теста на кровь на градусник например

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


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

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

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


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

Даш ссылку посмотреть на пост? Хочу тоже разобраться в этом вопросе

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


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

 

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


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

 

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


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

 

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


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

Привет файл с переводом находится по этому пути , scripts\4_World\classes\useractionscomponent\actions\continuous\medical , берешь файл закидываешь к себе в мод , работает также и на стороне сервера , открываешь файл видишь первую строчку class MABloodTestReport главный класс , пишешь с переди modded

, получается modded class MABloodTestReport , потом переводишь текст и вуаля по руски будет. вот пример 

modded class MABloodTestReport { static void DisplayReport(ActionBase action, PlayerBase player, PlayerBase target) { EStatLevels immunityLevel = target.GetImmunityLevel(); string immunityLevelStr; switch (immunityLevel) { case EStatLevels.GREAT: immunityLevelStr = "Отличный"; break; case EStatLevels.HIGH: immunityLevelStr = "Высокий"; break; case EStatLevels.MEDIUM: immunityLevelStr = "Средний"; break; case EStatLevels.LOW: immunityLevelStr = "Низкий"; break; case EStatLevels.CRITICAL: immunityLevelStr = "Критический"; break; } string rageVirusZLevelStr; if(target.GetSingleAgentCount(RageAgents.RAGEVIRUS) == false){ rageVirusZLevelStr = "Не обнаружен."; }else{ rageVirusZLevelStr = "Обнаружен. Вам срочно нужен антивирус!"; } action.SendMessageToClient(player, "============================="); action.SendMessageToClient(player, "Медицинское заключение:"); action.SendMessageToClient(player, "Уровень иммунитета: " + immunityLevelStr); action.SendMessageToClient(player, "Вирус Z: " + rageVirusZLevelStr); action.SendMessageToClient(player, "Алкоголь: " + target.GetSingleAgentCount(MedicalAttentionAgents.DRUNKENNESS).ToString()); action.SendMessageToClient(player, "Холера: " + target.GetSingleAgentCount(eAgents.CHOLERA).ToString()); action.SendMessageToClient(player, "Сальмонелла: " + target.GetSingleAgentCount(eAgents.SALMONELLA).ToString()); action.SendMessageToClient(player, "Грипп: " + target.GetSingleAgentCount(eAgents.INFLUENZA).ToString()); action.SendMessageToClient(player, "Пищевое отравление: " + target.GetSingleAgentCount(eAgents.FOOD_POISON).ToString()); action.SendMessageToClient(player, "Заражение крови: " + target.GetSingleAgentCount(eAgents.WOUND_AGENT).ToString()); if (MAGlobals.Get().g_TestBloodToxin) { action.SendMessageToClient(player, "Неизвестный Токсин: " + target.GetSingleAgentCount(MedicalAttentionAgents.UNKNOWN_TOXINE).ToString()); } action.SendMessageToClient(player, "============================="); } }


modded class MABloodTestReport
{

	static void DisplayReport(ActionBase action, PlayerBase player, PlayerBase target)
	{
		EStatLevels immunityLevel = target.GetImmunityLevel();
		string immunityLevelStr;

		switch (immunityLevel)
		{
			case EStatLevels.GREAT: immunityLevelStr = "Отличный"; break;
			case EStatLevels.HIGH: immunityLevelStr = "Высокий"; break;
			case EStatLevels.MEDIUM: immunityLevelStr = "Средний"; break;
			case EStatLevels.LOW: immunityLevelStr = "Низкий"; break;
			case EStatLevels.CRITICAL: immunityLevelStr = "Критический"; break;
		}

		string rageVirusZLevelStr;
		if(target.GetSingleAgentCount(RageAgents.RAGEVIRUS) == false){
			rageVirusZLevelStr = "Не обнаружен.";
		}else{
			rageVirusZLevelStr = "Обнаружен. Вам срочно нужен антивирус!";
		}

		action.SendMessageToClient(player, "=============================");
		action.SendMessageToClient(player, "Медицинское заключение:");
		action.SendMessageToClient(player, "Уровень иммунитета: " + immunityLevelStr);
		action.SendMessageToClient(player, "Вирус Z: " + rageVirusZLevelStr);
		action.SendMessageToClient(player, "Алкоголь: " + target.GetSingleAgentCount(MedicalAttentionAgents.DRUNKENNESS).ToString());
		action.SendMessageToClient(player, "Холера: " + target.GetSingleAgentCount(eAgents.CHOLERA).ToString());
		action.SendMessageToClient(player, "Сальмонелла: " + target.GetSingleAgentCount(eAgents.SALMONELLA).ToString());
		action.SendMessageToClient(player, "Грипп: " + target.GetSingleAgentCount(eAgents.INFLUENZA).ToString());
		action.SendMessageToClient(player, "Пищевое отравление: " + target.GetSingleAgentCount(eAgents.FOOD_POISON).ToString());
		action.SendMessageToClient(player, "Заражение крови: " + target.GetSingleAgentCount(eAgents.WOUND_AGENT).ToString());
		

		if (MAGlobals.Get().g_TestBloodToxin)
		{
			action.SendMessageToClient(player, "Неизвестный Токсин: " + target.GetSingleAgentCount(MedicalAttentionAgents.UNKNOWN_TOXINE).ToString());
		}
		action.SendMessageToClient(player, "=============================");
	}
}

только если нет мода Zombie virus , ошибка будет так как переделал чуть в таком случае удали строчки 

в принципе как то так)

Благодарю, сразу двоим помог одновременно +1 к репутации. Спасибо.

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


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

Последнее чисто на отдых?

 

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


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

Да чисто отдых , больше переводить в моде нечего)

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


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

Отдельно серверным модом не про катило. Заработало только с клиентским

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


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

Может не так что написано , я сделал папку в папке с сервером назвал ее ServerScripts в ней папку addon , и в папке аддон уже мой пбо файл со всеми скриптамм и конфигом , и в батник папку ServerScripts подключил

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


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

Ну всё по стандартной схеме.... Тоже так делал, может и где- то что пропустил... Но потом скопировал этот пбо в клиентский мод всё за работало. Ну да ладно работает же, думаю ничего же критичного в нем нет, серверный либо клиентский....

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


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

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

как ихх можно подправить?

и еще вопрос влияет ли очередность модов?

то есть я свой например пропишу первый где параметры в агентах пропишу а следом медикал?

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


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

Подскажите поставил

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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

Поддержка