SoC. Сигаретная зависимость — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

SoC. Сигаретная зависимость — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
м (оформление)
 
Строка 1: Строка 1:
 
'''Автор: <big>Xmk</big>'''
 
'''Автор: <big>Xmk</big>'''
  
Для этого нам понадобятся файлы (AMK Mod):
+
Для этого нам понадобятся файлы ('''AMK Mod'''):
config/misc/items.ltx
+
config/text/rus/string_table_enc_equipment.xml
+
scripts/amk.script
+
script/amk_mod.script
+
  
 +
''config/misc/items.ltx''
  
1. Создаём файл ваше_название_скрипта.script в папке gamedata/scripts и пишем в него:
+
''config/text/rus/string_table_enc_equipment.xml''
  
 +
''scripts/amk.script''
 +
 +
''script/amk_mod.script''
  
<pre>snd = sound_object([[ambient\underground\rnd_giant]])
+
1. Создаём файл '''ваше_название_скрипта.script''' в папке ''gamedata/scripts'' и пишем в него:
 +
<lua>snd = sound_object([[ambient\underground\rnd_giant]])
  
 
-- Проверяем нужно ли покурить. Вызывается каждые 6 игровых минут
 
-- Проверяем нужно ли покурить. Вызывается каждые 6 игровых минут
Строка 32: Строка 33:
 
     end
 
     end
 
end
 
end
 
 
-- Курение
 
-- Курение
 
function kur_item(oid, time)
 
function kur_item(oid, time)
Строка 41: Строка 41:
 
         kur_reduce_health()
 
         kur_reduce_health()
 
     end
 
     end
end</pre>
+
end</lua>
  
 
+
2. Открываем файл '''amk.script''':
2. Открываем файл amk.script:
+
  
 
после:
 
после:
<pre>function __do_timer_action(select_string,params_string)</pre>
+
<lua>function __do_timer_action(select_string,params_string)</lua>
 
+
 
пишем:
 
пишем:
<pre>if select_string=="kur" then
+
<lua>if select_string=="kur" then
 
название_вашего_скрипта.test_for_need_kur()
 
название_вашего_скрипта.test_for_need_kur()
end</pre>
+
end</lua>
 
+
3. Открываем файл '''amk_mod.script'''
3. Открываем файл amk_mod.script
+
 
в функции '''first_run''' пишем:
 
в функции '''first_run''' пишем:
<pre>amk.g_start_timer("kur",0,0,6)</pre>
+
<lua>amk.g_start_timer("kur",0,0,6)</lua>
 
+
 
затем в функции '''check_sleep_item(obj)''' после
 
затем в функции '''check_sleep_item(obj)''' после
<pre>  elseif section=="treasure_item" then
+
<lua>  elseif section=="treasure_item" then
 
         stype="tr_item"
 
         stype="tr_item"
</pre>
+
</lua>
 
+
 
но перед '''end''' пишем:
 
но перед '''end''' пишем:
<pre>  elseif section == "sigaret" then
+
<lua>  elseif section == "sigaret" then
     stype = "sgr"</pre>
+
     stype = "sgr"</lua>
  
4. Открываем файл items.ltx
+
4. Открываем файл '''items.ltx'''
  
<pre>[sigaret]:identity_immunities
+
<ini>[sigaret]:identity_immunities
 
GroupControlSection  = spawn_group
 
GroupControlSection  = spawn_group
 
discovery_dependency =
 
discovery_dependency =
Строка 77: Строка 72:
 
cform                = skeleton
 
cform                = skeleton
 
visual              = weapons\sigaret\sigaret.ogf
 
visual              = weapons\sigaret\sigaret.ogf
 
 
inv_name            = sigareta
 
inv_name            = sigareta
 
inv_name_short      = sigareta
 
inv_name_short      = sigareta
 
description          = enc_food_sigareta
 
description          = enc_food_sigareta
 
 
inv_weight          = 0.02
 
inv_weight          = 0.02
 
inv_grid_width      = 1
 
inv_grid_width      = 1
Строка 87: Строка 80:
 
inv_grid_x          = 10
 
inv_grid_x          = 10
 
inv_grid_y          = 24
 
inv_grid_y          = 24
 
 
cost                = 50
 
cost                = 50
 
 
; eatable item
 
; eatable item
 
eat_health          = 0
 
eat_health          = 0
Строка 98: Строка 89:
 
wounds_heal_perc    = 0
 
wounds_heal_perc    = 0
 
eat_portions_num    = 1
 
eat_portions_num    = 1
 
 
; food item
 
; food item
 
animation_slot      = 4
 
animation_slot      = 4
 
 
;hud item
 
;hud item
hud                  = wpn_vodka_hud</pre>
+
hud                  = wpn_vodka_hud</ini>
  
 
5. Открываем файл string_table_enc_equipment.xml
 
5. Открываем файл string_table_enc_equipment.xml
  
<pre><string id="sigareta">
+
<xml><string id="sigareta">
 
     <text>Сигарета</text>
 
     <text>Сигарета</text>
 
</string>
 
</string>
 
<string id="enc_food_sigareta">
 
<string id="enc_food_sigareta">
 
     <text>Пишем любое описание сигареты, мне че то в голову ниче не приходит</text>
 
     <text>Пишем любое описание сигареты, мне че то в голову ниче не приходит</text>
</string></pre>
+
</string></xml>
 +
 
  
 
[[Категория:Скрипты]]
 
[[Категория:Скрипты]]

Текущая версия на 10:10, 12 июля 2011

Автор: 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>
Другие места
LANGUAGE