Меню
Расширенное меню


Энциклопедия SW


Партнеры
MYSTALKER - лучший портал по сталкеру! STALKER-FUNS

Опрос
Кто лучше?
Всего ответов: 5489

Статистика

Всего в Баре 1
Новичков 1
Опытных 0

Никого нету

Главная » Статьи » Статьи на сайте

Сигаретная Зависимость)


Для этого нам понадобятся файлы (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>
Категория: Статьи на сайте | Добавил: Стрел{ОК} (24.02.2011)
Просмотров: 746 | Комментарии: 1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]