SoC. Сигаретная зависимость — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
RedPython (обсуждение | вклад) м («Сигаретная зависимость» переименована в «SoC. Сигаретная зависимость»: prefix) |
TuMaN (обсуждение | вклад) м (оформление) |
||
Строка 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'' | ||
− | < | + | 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</ | + | end</lua> |
− | + | 2. Открываем файл '''amk.script''': | |
− | 2. Открываем файл amk.script: | + | |
после: | после: | ||
− | < | + | <lua>function __do_timer_action(select_string,params_string)</lua> |
− | + | ||
пишем: | пишем: | ||
− | < | + | <lua>if select_string=="kur" then |
название_вашего_скрипта.test_for_need_kur() | название_вашего_скрипта.test_for_need_kur() | ||
− | end</ | + | end</lua> |
− | + | 3. Открываем файл '''amk_mod.script''' | |
− | 3. Открываем файл amk_mod.script | + | |
в функции '''first_run''' пишем: | в функции '''first_run''' пишем: | ||
− | < | + | <lua>amk.g_start_timer("kur",0,0,6)</lua> |
− | + | ||
затем в функции '''check_sleep_item(obj)''' после | затем в функции '''check_sleep_item(obj)''' после | ||
− | < | + | <lua> elseif section=="treasure_item" then |
stype="tr_item" | stype="tr_item" | ||
− | </ | + | </lua> |
− | + | ||
но перед '''end''' пишем: | но перед '''end''' пишем: | ||
− | < | + | <lua> elseif section == "sigaret" then |
− | stype = "sgr"</ | + | stype = "sgr"</lua> |
− | 4. Открываем файл items.ltx | + | 4. Открываем файл '''items.ltx''' |
− | < | + | <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</ | + | hud = wpn_vodka_hud</ini> |
5. Открываем файл string_table_enc_equipment.xml | 5. Открываем файл string_table_enc_equipment.xml | ||
− | < | + | <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></ | + | </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>