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
thessend

Отключение дамага постройкам от пуль /мили оружия

Подскажите, как возможно отключить дамаг постройкам от определённого вида оружия( лучше если от патрона на выбор  или оружия и тд) 

Edited by thessend (see edit history)

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

Возможно, написав свой серверный мод. думается мне. А вот какие классы и функции менять с ходу не скажу, надо изучать

Share this post


Link to post
Share on other sites



  • 0

@123new Пробовали искать, но кроме EEhitBy найти не удалось, да и это не дало результатов.

Share this post


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

@123new Пробовали искать, но кроме EEhitBy найти не удалось, да и это не дало результатов.

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

Share this post


Link to post
Share on other sites
  • 0

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

class GlobalArmor
			{
				class FragGrenade
				{
					class Health
					{
						damage=0;
					};
					class Blood
					{
						damage=0;
					};
					class Shock
					{
						damage=0;
					};
				};
			};
class ArmorType
					{
						class Projectile
						{
							class Health
							{
								damage=0;
							};
							class Blood
							{
								damage=0;
							};
							class Shock
							{
								damage=0;
							};
						};
						class Melee
						{
							class Health
							{
								damage=0;
							};
							class Blood
							{
								damage=0;
							};
							class Shock
							{
								damage=0;
							};
						};
						class FragGrenade
						{
							class Health
							{
								damage=0;
							};
							class Blood
							{
								damage=0;
							};
							class Shock
							{
								damage=0;
							};
						};
					};

И вот эти параметры :
fatalInjuryCoef=-1;
transferToGlobalCoef=0;

Share this post


Link to post
Share on other sites
  • 0

GlobalArmor-не трогал, бо не влияет наверное...
ArmorType-настройки "впитывания" урона от....бла,бла,бла....
Зачем "кровь" и "шок"? скорее всего за расчёт отвечает один для этого и броников и так далее, кусок кода.
......Хм, может в похожем покопатся для машин,что б они стали передавать урон....хммммм
П.С Данке,нашёл у себя логическую ошибку в переделанном файле, надо "решётку" сильнее делать чем стенку.

Share this post


Link to post
Share on other sites
  • 0

@paranoyk Более подробно бы о Армор тайпе, я правильно понимаю - мили это все ближнее оружие + руки ? А фраг граната - гранаты? Проджектаил ?)) это оружие?)) Да и в целом, куда что крутить что бы например усилить броню? В бОльшую сторону, так? Я помню что-то крутил так у меня еще быстрее стало ломаться все...
Когда очень много вопросов..но так мало ответов..:sadCat:

Share this post


Link to post
Share on other sites
  • 0

Цапу нужно крутить,цапу!

Первое что крутил,допустим в башне.... начал с class Level_1_Stairs( ну и для всего последующегоиз чего это убожество состоит)изменил hitpoints....раза в два.И да,вы правы,уроны от рук-оружияближнего, пульки и бада-бумы.
Пульки и от рук почти не крутил,а от гранат уменьшил раза 2,5...но подчеркну,это всё суХубо индевидуально.

Share this post


Link to post
Share on other sites
  • 0

Отключение дамага постройкам палаткам и тп на стороне скриптов

в классе ItemBase

в EEHitBy
проверяем что там за класс

и нивилируем ущерб )))

 

можно пойти другим путем

 

например в TentBase перекрыть EEHitBy и там нивилировать для палаток

а для построек в классе BaseBuildingBase
 

 

Edited by BorizzK (see edit history)

Share this post


Link to post
Share on other sites
  • 0

@paranoyk Так как уменьшили то от гранат? Увеличили броню?

2 минуты назад, BorizzK сказал:

Отключение дамага постройкам палаткам и тп

в классе ItemBase

в EEHitBy
проверяем что там за класс

и нивилируем ущерб )))

 

можно пойти другим путем

 

например в TentBase перекрыть EEHitBy и там нивилировать для палаток

а для построек в классе BaseBuildingBase
 

 

Крутили,но не в базе..а конретно в заборе..попробую вечером, отпишу 

Share this post


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

@paranoyk Так как уменьшили то от гранат? Увеличили броню?

Крутили,но не в базе..а конретно в заборе..попробую вечером, отпишу 

Я кстати сеня DestroyDisable начну под 1 09 точить и вскоре перевыпущу в стиме

Share this post


Link to post
Share on other sites
  • 0

@BorizzK Это конечно круто, но мне интересно не запретить весь урон, а конкретный, например убрать дамаг от некоторых типов пушек\ патронов, и всего мили оружия, в то же время гранаты и какой нибудь там акм будет прошивать)
 

Share this post


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

@thessend Увеличил "хиты" и уменьшил дамаг.

 

Я кстати думаю, что такой подход вернее, тк меньше нагрузки на серв

Ибо первично ущерб обрабатывается на стороне с++ в двигле и только потом вызывается EEHitBy на стороне скриптов где приходится ущерб вертать взад, а это доп нагрузка тк дополнительно выполяемый код

Share this post


Link to post
Share on other sites
  • 0
Только что, thessend сказал:

@BorizzK Это конечно круто, но мне интересно не запретить весь урон, а конкретный, например убрать дамаг от некоторых типов пушек\ патронов, и всего мили оружия, в то же время гранаты и какой нибудь там акм будет прошивать)
 

это уже лучше в скриптовой части делать

 

Share this post


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

это уже лучше в скриптовой части делать

 

Так изначально тема и была об этом)))
я понимаю что это скрипт. Только пока ничего не получалось 

Share this post


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

 

Я кстати думаю, что такой подход вернее, тк меньше нагрузки на серв

Ибо первично ущерб обрабатывается на стороне с++ в двигле и только потом вызывается EEHitBy на стороне скриптов где приходится ущерб вертать взад, а это доп нагрузка тк дополнительно выполяемый код

Перепилиный как советовали в стиме под 108,который работает на 70%.....не реагирует на гранаты и стрельбу. Что архи пользительно....Так что ИМХО, если перепиливать то в настройки включить "урон от бум-пух"-вкл-выкл"...Это так,пролетая между душем и кроватью....

Share this post


Link to post
Share on other sites
  • 0

Для ленивых

в конфиге сервера

disableBaseDamage = 1; отключаем дамаг ПОСТРОЙКАМ совсем

disableContainerDamage = 1; аналогично для палаток, всяких там бочек и прочих контейнеров

Share this post


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

@BorizzK Да,но оптья..это не то что нужно тут!

Яж написал - для ЛЕНИВЫХ

Share this post


Link to post
Share on other sites
  • 0

А в чем еще может быть дело? Поменял хп забору, в логах показывает 0 , но он не уничтожается( стена не пропадает, состояние "сильно повреждено" 

Share this post


Link to post
Share on other sites
  • 0
class MediumTent: TentBase
{
		class DamageSystem
		{
			
			// В данном классе описаны данные по урону, данные из этого класса будут браться если хит прошёл по компоненту не описанному в классе DamageZones
			class GlobalHealth
			{
				class Health
				{
					// максимальное кол-во впитываемого урона
					hitpoints = 600;
					
					// какой материал наложить на поверхность при определённом уровне урона, в данном случае указано не менять материал.
					healthLevels[] = {{1.0,{""}},{0.7,{""}},{0.5,{""}},{0.3,{""}},{0.0,{""}}};
				};
			};
			
			// Описывает кол-во урона разного типа раздражителями компонентам не описанным в классе DamageZones
			class GlobalArmor
			{
				// пули
				class Projectile
				{
					class Health
					{
						damage = 0.05;
					};
				};
				// руки, ноги, дубины ...
				class Melee
				{
					class Health
					{
						damage = 0.3;
					};
				};
				// граната, она и в африке граната
				class FragGrenade
				{
					class Health
					{
						damage = 8;
					};
				};
			};
			
			// Для модели можно определить конкретные зоны урона, и обработать их по особенному, не обязательное условие.
			class DamageZones
			{
				
				// Если мне память не изменяет, имя класса может быть произвольным
				class Body
				{
					
					// имеет тот же смысл что в классе GlobalHealth, но уже конкретно к данной зоне
					class Health
					{
						hitpoints = 600;
						transferToGlobalCoef = 0.5;
						healthLevels[] = {{1.0,{"DZ\gear\camping\data\tent_medium_packed.rvmat","DZ\gear\camping\data\tent_pristine_co.paa"}},{0.7,{"DZ\gear\camping\data\tent_medium_packed.rvmat","DZ\gear\camping\data\tent_worn_co.paa"}},{0.5,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat","DZ\gear\camping\data\tent_damage_co.paa"}},{0.3,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat","DZ\gear\camping\data\tent_destruct_co.paa"}},{0.0,{"DZ\gear\camping\data\tent_medium_packed_destruct.rvmat","DZ\gear\camping\data\tent_destruct_co.paa"}}};
					};
					
					// имеет тот же смысл что в классе GlobalArmor, но уже конкретно к данной зоне
					class ArmorType
					{
						class Projectile
						{
							class Health
							{
								damage = 0.05;
							};
						};
						class Melee
						{
							class Health
							{
								damage = 0.3;
							};
						};
						class FragGrenade
						{
							class Health
							{
								damage = 8;
							};
						};
					};
					
					// имя селекшена в лоде файер геометрии, к которому привязаны компоненты образующие данную зону урона
					componentNames[] = {"body"};
					
					// можно также определить будет ли наноситься некий урон например соседней зоне, то есть, данная конфигурация говорит, если по этой зоне прилетит хит, то транслировать прилетевший урон так же по зоне Inventory, 1 в значении говорит что зоне Inventory нанести такой же урон как данной.
					transferToZonesNames[] = {"Inventory"};
					transferToZonesCoefs[] = {1.0};
					
					// сам не понял зачем и почему)
					fatalInjuryCoef = -1;
				};
				class Inventory
				{
					class Health
					{
						hitpoints = 600;
						transferToGlobalCoef = 0.5;
						healthLevels[] = {{1.0,{"DZ\gear\camping\data\tent_medium_packed.rvmat"}},{0.7,{"DZ\gear\camping\data\tent_medium_packed.rvmat"}},{0.5,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat"}},{0.3,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat"}},{0.0,{"DZ\gear\camping\data\tent_medium_packed_destruct.rvmat"}}};
					};
					class ArmorType
					{
						class Projectile
						{
							class Health
							{
								damage = 0.05;
							};
						};
						class Melee
						{
							class Health
							{
								damage = 0.3;
							};
						};
						class FragGrenade
						{
							class Health
							{
								damage = 8;
							};
						};
					};
					componentNames[] = {"inventory"};
					transferToZonesNames[] = {"Body","Entrance"};
					transferToZonesCoefs[] = {1.0,1.0};
					fatalInjuryCoef = -1;
				};
				class Entrance
				{
					class Health
					{
						hitpoints = 600;
						transferToGlobalCoef = 0;
						healthLevels[] = {{1.0,{"DZ\gear\camping\data\tent_pristine_co.paa"}},{0.7,{"DZ\gear\camping\data\tent_worn_co.paa"}},{0.5,{"DZ\gear\camping\data\tent_damage_co.paa"}},{0.3,{"DZ\gear\camping\data\tent_destruct_co.paa"}},{0.0,"hidden"}};
					};
					class ArmorType
					{
						class Projectile
						{
							class Health
							{
								damage = 0.1;
							};
						};
						class Melee
						{
							class Health
							{
								damage = 1.0;
							};
						};
						class FragGrenade
						{
							class Health
							{
								damage = 10;
							};
						};
					};
					componentNames[] = {"entranceo","entrancec"};
					fatalInjuryCoef = -1;
				};
			};
};

 

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.