SoC. Сигаретная зависимость
Материал из S.T.A.L.K.E.R. Inside Wiki
Версия от 16:49, 15 января 2011; RedPython (обсуждение | вклад)
Автор: Xmk
Для этого нам понадобятся файлы (AMK Mod): config/misc/items.ltx config/text/rus/string_table_enc_equipment.xml scripts/amk.script script/amk_mod.script
1. Создаём файл ваше_название_скрипта.script в папке gamedata/scripts и пишем в него:
snd = sound_object([[ambient\underground\rnd_giant]]) -- Проверяем нужно ли покурить. Вызывается каждые 6 игровых минут function test_for_need_kur() amk.save_variable("kur",amk.load_variable("kur",0)+1) amk.g_start_timer("kur",0,0,6) kur_reduce_health() end -- Уменьшение здоровья, если долго не курил function kur_reduce_health() local tmp = amk.load_variable("kur",0) if tmp > 150 then if db.actor.health > 0.15 then db.actor.health = - 0.15 end if not snd:playing() then snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d) end end end -- Курение function kur_item(oid, time) if alife():object(oid)==nil then local tmp = amk.load_variable("kur",0) - time*10 if tmp < 0 then tmp = 0 end amk.save_variable("kur", tmp) kur_reduce_health() end end
2. Открываем файл amk.script:
после:
function __do_timer_action(select_string,params_string)
пишем:
if select_string=="kur" then название_вашего_скрипта.test_for_need_kur() end
3. Открываем файл amk_mod.script в функции first_run пишем:
amk.g_start_timer("kur",0,0,6)
затем в функции check_sleep_item(obj) после
elseif section=="treasure_item" then stype="tr_item"
но перед end пишем:
elseif section == "sigaret" then stype = "sgr"
4. Открываем файл items.ltx
[sigaret]:identity_immunities GroupControlSection = spawn_group discovery_dependency = $spawn = "food and drugs\antirad" $prefetch = 32 class = II_ANTIR cform = skeleton visual = weapons\sigaret\sigaret.ogf inv_name = sigareta inv_name_short = sigareta description = enc_food_sigareta inv_weight = 0.02 inv_grid_width = 1 inv_grid_height = 2 inv_grid_x = 10 inv_grid_y = 24 cost = 50 ; eatable item eat_health = 0 eat_satiety = 0 eat_power = 0 eat_radiation = 0 eat_alcohol = 0 wounds_heal_perc = 0 eat_portions_num = 1 ; food item animation_slot = 4 ;hud item hud = wpn_vodka_hud
5. Открываем файл string_table_enc_equipment.xml
<string id="sigareta"> <text>Сигарета</text> </string> <string id="enc_food_sigareta"> <text>Пишем любое описание сигареты, мне че то в голову ниче не приходит</text> </string>