thessend

Свойства предметов

Вопрос

Таков вопрос можно ли как то задать функцию проверки тестером крови( или любой другой предмет) проверить воду из бутылки кастрюли и т.д на наличие заражения?

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

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


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

6 ответов на этот вопрос

thessend Не смотрел как работает заражение в дайзе, но вангую, что так же как и в арме, а в арме работало оно так - только когда игрок начинает пить с контейнера(фляги, батла) - в этот момент определялся шанс, - заражен он будет или нет. Сам контейнер не имел статуса - заражен\нет.

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


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


NoNameUltima в спавне у бутылки прописан шанс будет ли она заражена или нет.
 

class WaterBottle extends Bottle_Base
{
	void WaterBottle()
	{

	}
	
	void ~WaterBottle()
	{
		
	}
	
	override bool IsContainer()
	{
		return true;
	}
	
	override string GetPouringSoundset()
	{
		return "emptyVessle_WaterBottle_SoundSet";
	}
	
	override string GetEmptyingLoopSoundsetHard()
	{
		return "pour_HardGround_WatterBottle_SoundSet";
	}
	
	override string GetEmptyingLoopSoundsetSoft()
	{
		return "pour_SoftGround_WatterBottle_SoundSet";
	}
	
	override string GetEmptyingLoopSoundsetWater()
	{
		return "pour_Water_WatterBottle_SoundSet";
	}
	
	override string GetEmptyingEndSoundsetHard()
	{
		return "pour_End_HardGround_WatterBottle_SoundSet";
	}
	
	override string GetEmptyingEndSoundsetSoft()
	{
		return "pour_End_SoftGround_WatterBottle_SoundSet";
	}
	
	override string GetEmptyingEndSoundsetWater()
	{
		return "pour_End_Water_WatterBottle_SoundSet";
	}
	
	override bool CanPutInCargo( EntityAI parent )
	{
		if( !super.CanPutInCargo(parent) ) {return false;}	
		if ( !(parent.IsKindOf("WatterBottle"))/* && !(parent.IsKindOf("Container_Base"))*/)
		{
			return true;
		}
		
		return false;
	}
	
	override bool IsOpen()
	{
		return true;
	}
	
	override void EEOnCECreate()
	{
		int rand = Math.RandomInt(0, 10);
		if (rand > 5)
		{
			InsertAgent(eAgents.CHOLERA, 1);
		}
	}
}

Самая последняя фукция 

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


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

override void EEOnCECreate()

Это "бабка на двое сказала", что это за событие, и когда оно вызывается, - при создании - в конструкторе, лично я не вижу, чтобы оно вызывалось => да хер его знает когда оно там сработает. Может при открытии - внутри экшена.

Если это событие вызывается при создании, - да не вопрос. - Лично я не смотрел всю цепочку, и откуда у него там ноги растут, и в какой момент оно там сработает, и логичный вопрос - схрена ли оно не в конструкторе....

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

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


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

thessend Что мешает, замоддить класс, - поставить побольше шанс заражения к примеру 50%.

Затем наспавнить штук 10 бутылок(при шансе в 50% по идее ~каждая вторая должна быть заражена). А после спавна накидать простенький скрипт, который получит все предметы в пределах 2м от игрока(бутылки на землю скинуть предварительно), и перебором пройтись по ним, - если это бутылка, попробовать определить агента.

Если покажет, что все чистые - значит это событие работает в каком то экшене, да или пох ваще как, - главное не при создании.

Ну а если определит агента, в некоторых => при создании.

Флаг в руки.

Скрипт не сложный.

А как агента определить из ItemBase - я хз(на вскидку не помню). Вангую что должна быть какая то функция типа GetAgent...

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


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

NoNameUltima Вообщем, при спавне бутылки определяется вода какая в ней будет, заражена или не заражена( т.е в свойствах воды есть есть агенты, и они могут быть а могут и не быть) и уже в принципе нашел ответ на свой вопрос, и заражение не от экшена зависит.

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


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

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

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

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

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


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

Войти

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


Войти сейчас