<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://stalkerin.gameru.net/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Darkscape</id>
		<title>S.T.A.L.K.E.R. Inside Wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://stalkerin.gameru.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Darkscape"/>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Darkscape"/>
		<updated>2026-04-29T16:28:43Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D0%BC_X-Ray_SDK_%D0%BF%D0%BE%D0%B4_Windows_7_%D0%B8_Vista</id>
		<title>Запускаем X-Ray SDK под Windows 7 и Vista</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D0%BC_X-Ray_SDK_%D0%BF%D0%BE%D0%B4_Windows_7_%D0%B8_Vista"/>
				<updated>2011-10-08T16:23:29Z</updated>
		
		<summary type="html">&lt;p&gt;Darkscape: /* Запуск SDK на виртуальной машине VMware Player (описана версия VMware Player 3.0.1) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Message_box|&lt;br /&gt;
id	=pseudoscience|&lt;br /&gt;
align = left|&lt;br /&gt;
backgroundcolor	= #f9f9f9|&lt;br /&gt;
image	=Lamp.gif|&lt;br /&gt;
heading	= ВНИМАНИЕ!|&lt;br /&gt;
message = Поддержка Windows Vista/7 реализована как в '''ЧН СДК''', так и в '''ЗП СДК''' ключом ''-editor''. Просто впишите его в .bat-файл любого редактора, включая PostprocessEditor, и спокойно работайте.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Запуск SDK на виртуальной машине VMware Player (описана версия '''VMware Player 3.0.1''')==&lt;br /&gt;
&lt;br /&gt;
VMware Player - эмулятор виртуальных машин, позволяет cоздать виртуальную операционную систему, с которой можно работать из другой операционной системы.&lt;br /&gt;
&lt;br /&gt;
[http://ru.wikipedia.org/wiki/VMware_Player '''Ссылка на описание и сайт''']&lt;br /&gt;
&lt;br /&gt;
'''Делалось на системе:''' Vista 32x Prof. 2гб ОЗУ, GF 8800 512мб&lt;br /&gt;
&lt;br /&gt;
'''Что нужно:''' VMware Player и образ/диск с Windows XP&lt;br /&gt;
&lt;br /&gt;
* Заходим на сайт компании (ссылка есть на Википедии)&lt;br /&gt;
* Скачиваем программу VMware Player&lt;br /&gt;
* Устанавливаем и запускаем, дальше мастер предлагает либо запустить готовую систему либо сделать новую. Я выбрал новую и установку с CD диска и установил свой лицензионный Win XP Home Edition с оригинального диска без вспомогательных программ. Перед установкой VMrare попросит скачать плагины для XP, я скачал и всё описанное ниже делал с установленным плагином. Размер диска выбрал 10гигабайт, в принципе, если подчищать СДК, то должно хватить.&lt;br /&gt;
* Обязательно в настройках программы проверьте чтобы в разделе VM -&amp;gt; Settings (Ctrl+D) в вкладке Display стояла галочка на ''Use host settings for monitor''. Это нужно, чтобы СДК не вылетел при запуске и поможет нам по идее не ставить драйвера видеокарты, а использовать параметры нашей системы.&lt;br /&gt;
* Ставим нашу систему и настраиваем всё.&lt;br /&gt;
* Дальше, когда система готова к работе, скидываем туда установочный фаил СДК и ставим.&lt;br /&gt;
* Если при запуске СДК будет ругатся на отсутствие библиотек (.dll фаилов) то либо достаньте их в интернете либо пойщите на старой операционной системе в папке Windows и засуньте их в папку СДК\level_editor\bins, либо установите русификатор СДК (вес 16мб), где они идут сразу. &lt;br /&gt;
* Всё, СДК готов к работе. Диалоги работают. Удачи :)&lt;br /&gt;
&lt;br /&gt;
P.S. Также надо заметить, что в LE можно работать и в Висте и в 7, единственное что для открытия уровня придётся редактировать фаил level.ini (строки recent_files) а открывать через окно file-недавно открытие фаилы, ну а сохранять через выключение СДК через выход или крестик. Поскольку компиляцию диалоговые окна не захватывают то в принципе работать можно. &lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Что нам для этого понадобится:&lt;br /&gt;
&lt;br /&gt;
— VMWare Workstation 6.x&lt;br /&gt;
&lt;br /&gt;
— Образ диска с любой ОС (Реаниматор какой-нибудь…) Windows 2000, XP, 2003&lt;br /&gt;
&lt;br /&gt;
— SwiftShader 2.0 Demo (Очень быстрый програмный эмулятор функций d3d8 и d3d9 — Плюс ShaderLanguage 2.0)&lt;br /&gt;
&lt;br /&gt;
Итак — приступим. Устанавливаем WMWare на висту, и в нём создаём «вируальный компьютер», на который устанавливаем операционную систему.&lt;br /&gt;
&lt;br /&gt;
Описания дальнейших действий делаются в среде виртуальной машины:&lt;br /&gt;
&lt;br /&gt;
Итак:&lt;br /&gt;
&lt;br /&gt;
Ставим последний DirectX, и конечно-же, X-Ray SDK.&lt;br /&gt;
&lt;br /&gt;
Устанавливаем SwiftShader: для этого, закидываем файлы d3dx8.dll, d3dx9.dll и SwiftShader.INI в папку …X-Ray&lt;br /&gt;
SDK\Level Editor\Bins\&lt;br /&gt;
&lt;br /&gt;
Всё! СДК — прекрасно работает!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Примечания:&lt;br /&gt;
&lt;br /&gt;
* На достаточно мощных компьютерах с DualCore процами и 2 гигами RAM — СДК будет выдавать 50-200 fps с загруженой картой средних размеров (я пробовал mp_atp).&lt;br /&gt;
* Виртуальной машине необходимо выделять не менее 512 метров оперативки.&lt;br /&gt;
* Для корректной работы СДК (не только на виртуальной машине, но и на реальной, и не только СДК) необходим [http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5 .NET FrameWork 2.0], а лучше [http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043 3.0].&lt;br /&gt;
* И, конечно же, [http://www.microsoft.com/download/en/details.aspx?id=3387 Microsoft Visual C++ Runtime].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
На самом деле статья не имеет особой ценности, так как SDK прекрасно работает под Vista X64 SP1 с одной оговоркой. Пользователю необходимо вручную редактировать level.ini, для внесения нужных уровней в список «Open recent» и открывать локации через него. &lt;br /&gt;
[[Участник:dev]] Ага, Василий, а как ты сохранять-то будешь?&lt;br /&gt;
[[Участник:Darkscape]]: у меня на win7 все прекрасно работает, сохраняет, но открывает только через ресент&lt;br /&gt;
----&lt;br /&gt;
На самом деле статья не имеет особой ценности, так как если в VMWARE проставить наследование параметров адаптера видюхи хоста, то запустится все из без эмулев d3d. [[Участник:vinc]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Информация:&lt;br /&gt;
&lt;br /&gt;
Операционные системы — наверняка есть у всех.&lt;br /&gt;
VMWare WorkStation — инфы и ссылок полно в инете. Да и на тех же дисках с ОС иногда попадается…&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/download/en/details.aspx?id=3387 Microsoft Visual C++ 2005 Redistributable Package (x86)]&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=10cc340b-f857-4a14-83f5-25634c3bf043 .NET FrameWork 3.0]&lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/downloads/details.aspx?FamilyID=0cf368e5-5ce1-4032-a207-c693d210f616&amp;amp;DisplayLang=ru DirectX 9 (March 2009 Redistributable)]&lt;br /&gt;
&lt;br /&gt;
[http://http://www.gameru.net/forum/index.php?act=ST&amp;amp;f=130&amp;amp;t=18277&amp;amp;s=4b463f330b34f6abf7b4798d64326a1f Информация о SwiftShader]&lt;br /&gt;
&lt;br /&gt;
[http://dump.ru/file_catalog/688365 Cкачать SwiftShader]&lt;br /&gt;
&lt;br /&gt;
Удачи!&lt;br /&gt;
&lt;br /&gt;
--[[Участник:..::HaroN::..|..::HaroN::..]] 15:02, 19 июня 2008 (MSD)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
См. также: [[Один из способов запуска SDK на Windows Vista/7]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Руководства]]&lt;/div&gt;</summary>
		<author><name>Darkscape</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BF%D0%BE%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8_%D0%B8%D0%B7_Lurk_mod_%D0%B8_ABC</id>
		<title>SoC. Система постепенной регенерации жизни из Lurk mod и ABC</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=SoC._%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%BF%D0%BE%D1%81%D1%82%D0%B5%D0%BF%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D1%80%D0%B5%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8_%D0%B8%D0%B7_Lurk_mod_%D0%B8_ABC"/>
				<updated>2011-07-08T17:30:58Z</updated>
		
		<summary type="html">&lt;p&gt;Darkscape: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Для начала создадим скрипт. Например '''health_effect.scripts''':&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
---Система еды и постепенного лечения из Лурк мода---&lt;br /&gt;
&lt;br /&gt;
objectinuse=0&lt;br /&gt;
objectused=0&lt;br /&gt;
&lt;br /&gt;
--If/then statements for finding the item.&lt;br /&gt;
function start(obj)&lt;br /&gt;
snd = xr_sound.get_safe_sound_object([[$no_sound]])&lt;br /&gt;
	if (db.actor~=nil) and (obj~=nil) then&lt;br /&gt;
	slotinuse=db.actor:active_slot()&lt;br /&gt;
	slot_div=1&lt;br /&gt;
		if obj:section() == &amp;quot;medkit&amp;quot; or obj:section() == &amp;quot;medkit_army&amp;quot; or obj:section() == &amp;quot;medkit_scientic&amp;quot; then&lt;br /&gt;
		snd= xr_sound.get_safe_sound_object([[interface\inv_medkit]])&lt;br /&gt;
		holster_time=time_global()+7000&lt;br /&gt;
			if (objectinuse==1) then&lt;br /&gt;
			holster_time=holster_time+7000&lt;br /&gt;
			end&lt;br /&gt;
		soundhub()&lt;br /&gt;
			&lt;br /&gt;
		elseif obj:section() == &amp;quot;antirad&amp;quot; then&lt;br /&gt;
		snd= xr_sound.get_safe_sound_object([[interface\inv_pills]])&lt;br /&gt;
		holster_time=time_global()+6000&lt;br /&gt;
			if (objectinuse==1) then&lt;br /&gt;
			holster_time=holster_time+6000&lt;br /&gt;
			end&lt;br /&gt;
		soundhub()&lt;br /&gt;
	&lt;br /&gt;
		elseif obj:section() == &amp;quot;bandage&amp;quot; then&lt;br /&gt;
		snd= xr_sound.get_safe_sound_object([[interface\inv_bandage]])&lt;br /&gt;
		holster_time=time_global()+6000&lt;br /&gt;
			if (objectinuse==1) then&lt;br /&gt;
			holster_time=holster_time+6000&lt;br /&gt;
			end&lt;br /&gt;
		soundhub()&lt;br /&gt;
			&lt;br /&gt;
		elseif obj:section() == &amp;quot;vodka&amp;quot; then&lt;br /&gt;
		snd= xr_sound.get_safe_sound_object([[interface\inv_vodka]])&lt;br /&gt;
		holster_time=time_global()+4000&lt;br /&gt;
			if (objectinuse==1) then&lt;br /&gt;
			holster_time=holster_time+4000&lt;br /&gt;
			end&lt;br /&gt;
		soundhub()&lt;br /&gt;
			&lt;br /&gt;
		elseif obj:section() == &amp;quot;energy_drink&amp;quot; then&lt;br /&gt;
		snd= xr_sound.get_safe_sound_object([[interface\inv_softdrink]])&lt;br /&gt;
		holster_time=time_global()+4000&lt;br /&gt;
			if (objectinuse==1) then&lt;br /&gt;
			holster_time=holster_time+4000&lt;br /&gt;
			end&lt;br /&gt;
		soundhub()&lt;br /&gt;
			&lt;br /&gt;
		elseif obj:section() == &amp;quot;bread&amp;quot; or obj:section() == &amp;quot;conserva&amp;quot; or obj:section() == &amp;quot;kolbasa&amp;quot; then&lt;br /&gt;
		snd= xr_sound.get_safe_sound_object([[interface\inv_food]]) &lt;br /&gt;
		holster_time=time_global()+7000&lt;br /&gt;
			if (objectinuse==1) then&lt;br /&gt;
			holster_time=holster_time+7000&lt;br /&gt;
			end&lt;br /&gt;
		soundhub()&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Other stuff executes from here.&lt;br /&gt;
function soundhub()&lt;br /&gt;
	if db.actor:alive() then&lt;br /&gt;
	snd:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)&lt;br /&gt;
	snd = xr_sound.get_safe_sound_object([[$no_sound]])&lt;br /&gt;
		if (objectinuse==0) then&lt;br /&gt;
		db.actor:hide_weapon()&lt;br /&gt;
		objectinuse=1&lt;br /&gt;
			if slotinuse == 1 then&lt;br /&gt;
			slot_div = ((holster_time-time_global())/1.5)&lt;br /&gt;
			else&lt;br /&gt;
			slot_div = 0&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	objectused=objectused+1&lt;br /&gt;
	weapontimer()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Holster time. Its set up as additive: A food and a drink taken together will apply instantly, but your gun is holstered for 9 seconds.&lt;br /&gt;
function weapontimer()&lt;br /&gt;
	if (holster_time~=nil) and (time_global()&amp;gt;(holster_time-slot_div)) and level.present() then&lt;br /&gt;
	objectused=objectused-1&lt;br /&gt;
		if (objectused==0) then&lt;br /&gt;
		db.actor:restore_weapon()&lt;br /&gt;
		objectinuse=0&lt;br /&gt;
		holster_time=nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Message for time remaining and math.Round function. Not used.&lt;br /&gt;
--[[&lt;br /&gt;
function message()&lt;br /&gt;
news_manager.send_tip(db.actor, tostring(math.Round((holster_time - time_global())/1000))..&amp;quot;s&amp;quot;, nil, nil, 1000)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--Math.round&lt;br /&gt;
function math.Round(num)&lt;br /&gt;
local floored = math.floor(num)&lt;br /&gt;
	if (num - floored) &amp;gt;= 0.5 then&lt;br /&gt;
	return math.ceil(num)&lt;br /&gt;
	else&lt;br /&gt;
	return floored&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
]]--&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Стоит, кстати, учесть параметр&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
snd = xr_sound.get_safe_sound_object([[interface\inv_food]])&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отвечает за воспроизводимый звук. Так что если его нет, поймаете вылет. Теперь создаёте скрипт abc_medkit.script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
-- Shortened Creds: ABC Mod made this, LURK team just cleaned up the indentions.&lt;br /&gt;
&lt;br /&gt;
-- Should the use of the same medkit accumulate over the previous one?&lt;br /&gt;
multiple_medkit = &amp;quot;yes&amp;quot; --Не пробовал ставить no. Но почти уверен что будет вылет&lt;br /&gt;
&lt;br /&gt;
-- How many minutes should take to complete the healing process.&lt;br /&gt;
hp_fullhealth_time = 0.125 --Кол-во в течении которого будет юзаться аптечка&lt;br /&gt;
&lt;br /&gt;
--0.25&lt;br /&gt;
&lt;br /&gt;
-- Health update time in MS. 1000 = 1 Second.&lt;br /&gt;
hupd_time = 50 --Апдейт времени.Лучше не трогать&lt;br /&gt;
&lt;br /&gt;
-- Time modulation&lt;br /&gt;
time_mod=0&lt;br /&gt;
&lt;br /&gt;
-- HP Healed. No higher than 1.&lt;br /&gt;
hp_med_kit = 0.65 --Параметр отвечающий за восстановление жизней одной аптечкой.Точнее за скорость восстановления&lt;br /&gt;
hp_med_army = 0.75&lt;br /&gt;
hp_med_sci = 0.80&lt;br /&gt;
&lt;br /&gt;
-- Is Army faster than Normal?&lt;br /&gt;
army_fast = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- Is Science faster than Normal?&lt;br /&gt;
sci_fast = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- Is Science faster than Army?&lt;br /&gt;
sci_fast_than_army = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- Should medkit_scientic anti-radiation process be progressive?&lt;br /&gt;
sci_antirad = &amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-- EOF&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local med_kit, med_band, med_army, med_sci, medused, medid, medname&lt;br /&gt;
local objdtc = 0&lt;br /&gt;
function chk_medlot_object(obj)&lt;br /&gt;
	if db.actor ~= nil then  &lt;br /&gt;
	local objdt = time_global() &lt;br /&gt;
		if obj ~= nil and obj ~= &amp;quot;load&amp;quot; then&lt;br /&gt;
		medname = obj:section()&lt;br /&gt;
			if medname == &amp;quot;medkit&amp;quot; or medname == &amp;quot;medkit_army&amp;quot; or medname == &amp;quot;medkit_scientic&amp;quot; then&lt;br /&gt;
				if objdtc == 0 then objdtc = time_global() + 350 end&lt;br /&gt;
			med_used = &amp;quot;yes&amp;quot;&lt;br /&gt;
			med_id = obj:id() 	&lt;br /&gt;
			end	&lt;br /&gt;
		end&lt;br /&gt;
	if med_used == &amp;quot;yes&amp;quot; and objdt &amp;gt; objdtc then&lt;br /&gt;
	objdtc = 0&lt;br /&gt;
	med_used = &amp;quot;no&amp;quot; &lt;br /&gt;
		if level.object_by_id(med_id) == nil then&lt;br /&gt;
			if medname == &amp;quot;medkit&amp;quot; then  med_kit = &amp;quot;yes&amp;quot; end&lt;br /&gt;
			if medname == &amp;quot;medkit_army&amp;quot; then  med_army = &amp;quot;yes&amp;quot; end&lt;br /&gt;
			if medname == &amp;quot;medkit_scientic&amp;quot; then  med_sci = &amp;quot;yes&amp;quot; end&lt;br /&gt;
			time_mod=0&lt;br /&gt;
		end	&lt;br /&gt;
	end&lt;br /&gt;
	new_medkit()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local time_mkit, time_army, time_sci, count_mkit, count_army, count_sci&lt;br /&gt;
function new_medkit()&lt;br /&gt;
	if db.actor ~= nil and level.present() then&lt;br /&gt;
	local cgametimemed = time_global()&lt;br /&gt;
	local hft = (hp_fullhealth_time * 60000) / hupd_time&lt;br /&gt;
		--normal&lt;br /&gt;
		if med_kit == &amp;quot;yes&amp;quot; then&lt;br /&gt;
			if time_mkit == nil then time_mkit = time_global() + hupd_time end&lt;br /&gt;
			if cgametimemed &amp;gt; time_mkit then&lt;br /&gt;
			time_mkit = time_global() + hupd_time&lt;br /&gt;
			local player_hp = db.actor.health&lt;br /&gt;
				if player_hp &amp;lt; 1 then&lt;br /&gt;
					if count_mkit == nil then count_mkit = 0 end&lt;br /&gt;
					if count_mkit &amp;lt; (hft + 1) then&lt;br /&gt;
					db.actor.health = (hp_med_kit/(hft + time_mod))&lt;br /&gt;
					count_mkit = count_mkit + 1&lt;br /&gt;
					--abort(&amp;quot;TimeMod: &amp;quot;..time_mod)&lt;br /&gt;
					--abort(&amp;quot;Health: &amp;quot;..hp_med_kit/(hft + time_mod))&lt;br /&gt;
					time_mod = math.clamp(time_mod+0.23,0,35)&lt;br /&gt;
					else&lt;br /&gt;
					med_kit = nil&lt;br /&gt;
					time_mkit = nil&lt;br /&gt;
					count_mkit = nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
				med_kit = nil&lt;br /&gt;
				time_mkit = nil&lt;br /&gt;
				count_mkit = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		--army&lt;br /&gt;
		if med_army == &amp;quot;yes&amp;quot; then&lt;br /&gt;
			if time_army == nil then time_army = time_global() + hupd_time end&lt;br /&gt;
			if cgametimemed &amp;gt; time_army then&lt;br /&gt;
			time_army = time_global() + hupd_time&lt;br /&gt;
			local player_hp = db.actor.health&lt;br /&gt;
				if player_hp &amp;lt; 1 then&lt;br /&gt;
					if count_army == nil then count_army = 0 end&lt;br /&gt;
					if count_army &amp;lt; (hft + 1) then&lt;br /&gt;
					local mamf = 0&lt;br /&gt;
						if army_fast == &amp;quot;yes&amp;quot; then mamf = (hp_med_army/hft) / 4 end&lt;br /&gt;
					db.actor.health = (hp_med_army/hft) + mamf&lt;br /&gt;
					count_army = count_army + 1&lt;br /&gt;
					time_mod = math.clamp(time_mod+0.23,0,35)&lt;br /&gt;
					else&lt;br /&gt;
					med_kit = nil&lt;br /&gt;
					time_mkit = nil&lt;br /&gt;
					count_mkit = nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
				med_kit = nil&lt;br /&gt;
				time_mkit = nil&lt;br /&gt;
				count_mkit = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		--science&lt;br /&gt;
		if med_sci == &amp;quot;yes&amp;quot; then&lt;br /&gt;
			if time_sci == nil then time_sci = time_global() + hupd_time end&lt;br /&gt;
			if cgametimemed &amp;gt; time_sci then&lt;br /&gt;
			time_sci = time_global() + hupd_time&lt;br /&gt;
			local player_hp = db.actor.health&lt;br /&gt;
				if player_hp &amp;lt; 1 then&lt;br /&gt;
					if count_sci == nil then count_sci = 0 end&lt;br /&gt;
					if count_sci &amp;lt; (hft + 1) then&lt;br /&gt;
					local mamf = 0&lt;br /&gt;
					local sfta = 4&lt;br /&gt;
					if sci_fast_than_army == &amp;quot;yes&amp;quot; then sfta = 2 end&lt;br /&gt;
					if sci_fast == &amp;quot;yes&amp;quot; then mamf = (hp_med_army/hft) / sfta end&lt;br /&gt;
				db.actor.health = (hp_med_sci/hft) + mamf&lt;br /&gt;
					if sci_antirad == &amp;quot;yes&amp;quot; then db.actor.radiation = -(hp_med_sci/hft) end&lt;br /&gt;
				count_sci = count_sci + 1&lt;br /&gt;
				time_mod = math.clamp(time_mod+0.23,0,35)&lt;br /&gt;
				else&lt;br /&gt;
					med_kit = nil&lt;br /&gt;
					time_mkit = nil&lt;br /&gt;
					count_mkit = nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
				med_kit = nil&lt;br /&gt;
				time_mkit = nil&lt;br /&gt;
				count_mkit = nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function math.clamp (value,mini,maxi)&lt;br /&gt;
local clamped = value&lt;br /&gt;
	if clamped &amp;lt; mini then clamped = mini end&lt;br /&gt;
	if clamped &amp;gt; maxi then clamped = maxi end&lt;br /&gt;
return clamped&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь самое сложное. Лезем в '''bind_stalker.scripts'''. После&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
self.object:set_callback(callback.on_item_drop, nil)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пишем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
self.object:set_callback(callback.use_object, nil)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В итоге получается вот так:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, nil)&lt;br /&gt;
	self.object:set_callback(callback.article_info, nil)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, nil)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, nil)&lt;br /&gt;
    self.object:set_callback(callback.use_object, nil)&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, nil)&lt;br /&gt;
	self.object:set_callback(callback.task_state, nil)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, nil)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, nil)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, nil)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пишем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
self.object:set_callback(callback.use_object, self.use_object, self)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В итоге:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
	self.object:set_callback(callback.inventory_info, self.info_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.article_info, self.article_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_take, self.on_item_take, self)&lt;br /&gt;
	self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)&lt;br /&gt;
    self.object:set_callback(callback.use_object, self.use_object, self)&lt;br /&gt;
	self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats&lt;br /&gt;
	--self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.task_state, self.task_callback, self)&lt;br /&gt;
	--self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)&lt;br /&gt;
	self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)&lt;br /&gt;
	self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ищем функцию:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function actor_binder:on_item_drop (obj)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
и после ее завершения пишем:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
function actor_binder:use_object(obj)&lt;br /&gt;
heal_regen.start(obj)&lt;br /&gt;
end&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В итоге:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
function actor_binder:on_item_drop (obj)&lt;br /&gt;
    level_tasks.proceed(self.object)&lt;br /&gt;
    --game_stats.update_drop_item (obj, self.object)&lt;br /&gt;
    abc_medkit.chk_medlot_object(obj)&lt;br /&gt;
	abc_sleep.uptabc(obj)&lt;br /&gt;
end&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
function actor_binder:use_object(obj)&lt;br /&gt;
heal_regen.start(obj)&lt;br /&gt;
end&lt;br /&gt;
----------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
--game_stats.update_drop_item (obj, self.object)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пишем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
abc_medkit.chk_medlot_object(obj)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
function actor_binder:update(delta)&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Пишем&lt;br /&gt;
&lt;br /&gt;
&amp;lt;lua&amp;gt;&lt;br /&gt;
abc_medkit.chk_medlot_object()&lt;br /&gt;
heal_regen.weapontimer()&lt;br /&gt;
&amp;lt;/lua&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Затем надо найти звуки и прописать их в директории ''\sounds\interface\''&lt;br /&gt;
&lt;br /&gt;
Далее идем в файл '''config\misc\items.ltx''', ищем секции аптечек ('''[medkit],[medkit_army],[medkit_scientic]''') и меняем в них параметр '''eat_health''' на 0.0, иначе актер будет лечится дважды (сначала сразу, по стандартному, а потом уже постепенно)&lt;br /&gt;
&lt;br /&gt;
Автор статьи: '''Fireman3000''', дополнил '''Darkscape''', а так же спасибо Lurk моду и ABC.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Скрипты]]&lt;/div&gt;</summary>
		<author><name>Darkscape</name></author>	</entry>

	<entry>
		<id>http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_alife.ltx</id>
		<title>Файлы: alife.ltx</title>
		<link rel="alternate" type="text/html" href="http://stalkerin.gameru.net/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB%D1%8B:_alife.ltx"/>
				<updated>2010-08-31T14:37:49Z</updated>
		
		<summary type="html">&lt;p&gt;Darkscape: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Alife.ltx === &lt;br /&gt;
Я думаю каждый из вас натыкался на это файл? Сейчас я объясню, что в нём можно изменить.&lt;br /&gt;
&lt;br /&gt;
== Смена длительности дня и ночи ==&lt;br /&gt;
За это отвечает строка &amp;lt;pre&amp;gt;#time_factor           = 10;	1;	;396.0;&amp;lt;/pre&amp;gt; если значение 10 поменять на 1, то время в игре начнёт тянуться как у нас с вами в настоящей жизни (при это будет иметь смысл спать, сидеть у костра, есть и т.п.))&lt;br /&gt;
&lt;br /&gt;
== Время и дата старта игры ==&lt;br /&gt;
Строчки &lt;br /&gt;
&amp;lt;pre&amp;gt;start_time					= 6:10:00&lt;br /&gt;
start_date					= 10.09.2011&amp;lt;/pre&amp;gt;&lt;br /&gt;
отвечают за время и дату начала игры (пригодится для модификаций с новым сюжетом)&lt;br /&gt;
&lt;br /&gt;
== Период автосохранения ==&lt;br /&gt;
Строка&lt;br /&gt;
&amp;lt;pre&amp;gt;autosave_interval			= 01:05:00&amp;lt;/pre&amp;gt;&lt;br /&gt;
отвечает за промежуток между автоматическим сохранением игры.&lt;br /&gt;
&lt;br /&gt;
== Радиус переключения онлайн/оффлайн ==&lt;br /&gt;
Строка&lt;br /&gt;
&amp;lt;pre&amp;gt;switch_distance				= 150;0	;150	;75.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
Этот параметр переключает население локации в режимы онлайн и оффлайн. При увеличении его увеличивается возможность обнаружения неписями или мутантами друг друга. Например, я поставил значение 300 и на лагерь новичков теперь регулярно нападают военные с блокпоста.&lt;br /&gt;
&lt;br /&gt;
== Авторы ==&lt;br /&gt;
Статья создана:&lt;br /&gt;
*[[Участник:Хемуль04|Хемуль04]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Категория:Конфигурационные_файлы]]&lt;/div&gt;</summary>
		<author><name>Darkscape</name></author>	</entry>

	</feed>