Делаем ТЧ таким, каким он должен быть — S.T.A.L.K.E.R. Inside Wiki

Делаем ТЧ таким, каким он должен быть

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

Перейти к: навигация, поиск

Проводники

Почему мы должны ходить по Зоне сами? Мы уже все кнопки на клавиатуре стёрли. Почему нас не может кто-нибудь сопровождать? Реализуем проводника. Сначала:

1) Создаем персонажа.

2) Создаем персонажу диалоги типа "Отведешь меня к Сидоровичу?".

Привязываем к диалогам функцию (вставьте в любой скрипт):

 
function teleportate(actor, npc)
    db.actor:stop_talk()  -- закрываем диалог
    level.add_pp_effector ("teleport.ppe", 2008, false)  -- чтобы переход небыл резким
    local a = vector()
    a.x = x
    a.y = y
    a.z = z
    db.actor:set_actor_position(a)
end
 

Отключаем выброс на ЧАЭС

Создаем в папке scripts файл aes_control.script. В него пишем:

 
function delete_aes_timer()
    local obj = alife():object("aes_space_restrictor_timer")
    if obj then
        alife():release(obj, true)
    end
end
 

Теперь в функцию bind_stalker.actor_binder:update(delta) напишите:

-- удаление таймера выброса на ЧАЭС
aes_control.delete_aes_timer()

Возвращаем бюрера

Бюрер - единственный «вырезанный» монстр, которого можно через create вернуть:

 
function spawn_burer()
    local obj
    local a = vector()
    a.x = x  -- вектор X
    a.y = y  -- вектор Y
    a.z = z  -- вектор Z
    obj = alife():create("m_burer_normal",a,level_vertex_id,game_vertex_id)
end
 
Функцию вставьте в конце файла dialogs.script

Теперь открываем config\creatures\m_burer.ltx и в секции «[m_burer_e]:monster_base», перед строкой «;$spawn = "monsters\old\burer"» уберите точку с запятой. Активируйте функцию через диалог:

<action>dialogs.spawn_burer</action>
Другие места
LANGUAGE