Случайная подборка модов
R.M.A mod 1.1.5
4.2
Обречённый город
4.2
SZM CoP 0.2
3.9
G.L.A.D.I.A.T.O.R. II Время Альянса
3.4
Вектор Отчуждения
4.2
Наёмник Сом
3.5
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  Аdmin
Воскресенье, 03.11.2013, 19:36 | Сообщение # 1
Статус:
Опытный:
Сообщений: 1538
Награды: 11
Регистрация: 28.03.2011

В данной теме вы можете задавать любые вопросы касательно S.T.A.L.K.E.R. моддинга.

  • Не флудить
  • Предварительно просматривайте раздел. Ответ на ваш вопрос может быть там.
  • В своем вопросе указывайте платформу моддинга - Тень Чернобыля, Чистое небо или Зов Припяти.





    У кого есть желание, создать FAQ по основным вопросам моддинга - обращаемся в ЛС.


    Архив

    Архив#2
  •   Злобная реклама
    Воскресенье, 03.11.2013, 19:36
    Статус:
    Сообщений: 666
    Регистрация: 28.03.2011
    Российская Федерация  RICK
    Понедельник, 12.05.2014, 04:35 | Сообщение # 3061
    Статус:
    Опытный:
    Сообщений: 1205
    Награды: 4
    Регистрация: 10.05.2011


    FATAL ERROR

    [error]Expression : !m_error_code
    [error]Function : raii_guard::~raii_guard
    [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    [error]Line : 748
    [error]Description : ...all of pripyat\gamedata\scripts\smart_terrain.script:512: attempt to index field 'alife_task' (a nil value)


    stack trace:

    немогу понять почему вылетает не хочет эксклюзива в сталкер зп спавнить

    вот пример логики нпс

    [logic@rad_stalker_base_guard_1]
    suitable = {=check_npc_name(rad_stalker_base_guard_1)} true
    prior = 100
    active = Walker@post_guard1

    [Walker@post_guard1]
    path_walk = post_guarder_1_walk
    path_look = post_guarder_1_look
    out_restr = l01_a1_stalker_base_def_restr
    meet = meet@stalker_base_guards_meet
    gather_items_enabled = false
    help_wounded_enabled = true
    corpse_detection_enabled = false
    use_camp = false
    ;on_info = {+}

    [meet@stalker_base_guards_meet]
    ;meet_dialog = pri_a17_military_recon_squad_ambush_dialog_second
    close_snd_hello = jup_a6_freedom_leader_greeting
    close_snd_bye = jup_a6_freedom_leader_farewell
    close_anim = guard_na
    close_victim = actor
    far_anim = nil
    far_victim = nil
    close_distance = 0
    far_distance = 0
    close_snd_distance = 3
    use = {=actor_enemy} false, true
    abuse = true
    allow_break = false
    trade_enable = false
    meet_on_talking = false

    название точек в сдк l01_a1_stalker_base_smart_post_guarder_1_walk l01_a1_stalker_base_smart_post_guarder_1_look
      Злобная реклама
    Понедельник, 12.05.2014, 04:35
    Статус:
    Сообщений: 666
    Регистрация: 10.05.2011
    Российская Федерация  SG
    Понедельник, 12.05.2014, 15:14 | Сообщение # 3062
    Статус:
    Новичок:
    Сообщений: 237
    Награды: 0
    Регистрация: 12.09.2013

    Подскажите, как в ЗП добавить новую секцию в кпк, типа карта зоны или история сообщений
    smile
      Злобная реклама
    Понедельник, 12.05.2014, 15:14
    Статус:
    Сообщений: 666
    Регистрация: 12.09.2013
    Российская Федерация  saxar
    Понедельник, 12.05.2014, 19:00 | Сообщение # 3063
    Статус:
    Бывалый:
    Сообщений: 801
    Награды: 2
    Регистрация: 17.10.2012

    Люди ,если кто знает как ЭТО ЧУДО перенести из ТЧ в ЗП? smile

    Добавлено (12.05.2014, 19:00)
    ---------------------------------------------
    Я про грави-ган хочу узнать smile

      Злобная реклама
    Понедельник, 12.05.2014, 19:00
    Статус:
    Сообщений: 666
    Регистрация: 17.10.2012
    Российская Федерация  phuto
    Понедельник, 12.05.2014, 19:57 | Сообщение # 3064
    Статус:
    Зевака:
    Сообщений: 27
    Награды: 3
    Регистрация: 01.09.2013

    S.T.A.L.K.E.R. Clear Sky
    При апгрейде наводиш стрелочку на иконку.
    Описание мигнет и не успеваю прочитать что написано.

    Где копать подскажите?
      Злобная реклама
    Понедельник, 12.05.2014, 19:57
    Статус:
    Сообщений: 666
    Регистрация: 01.09.2013
    Российская Федерация  safra2011
    Понедельник, 12.05.2014, 20:26 | Сообщение # 3065
    Сообщений: 87
    Регистрация: 25.08.2012

    Товарищи! Очень нужно!
    У меня есть логика НПС, и я хочу, чтобы он разговаривал со мной на расстоянии больше, чем стандартно.

    Часть логики ниже:
      Злобная реклама
    Понедельник, 12.05.2014, 20:26
    Статус:
    Сообщений: 666
    Регистрация: 25.08.2012
    Российская Федерация  ins33
    Понедельник, 12.05.2014, 20:30 | Сообщение # 3066
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    saxar, Попробуй >>её<< поставить в ЗП, дальше логи помогут. Если они будут.
      Злобная реклама
    Понедельник, 12.05.2014, 20:30
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  RICK
    Понедельник, 12.05.2014, 21:02 | Сообщение # 3067
    Статус:
    Опытный:
    Сообщений: 1205
    Награды: 4
    Регистрация: 10.05.2011

    мне ответят нет ? angry
      Злобная реклама
    Понедельник, 12.05.2014, 21:02
    Статус:
    Сообщений: 666
    Регистрация: 10.05.2011
    Российская Федерация  ins33
    Понедельник, 12.05.2014, 21:08 | Сообщение # 3068
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    safra2011, Если будешь менять расстояние в конфиге, то это коснётся всех НПС. Как вариант, можешь воспользоваться ф-ей:
    Код
    function new_talk()
    local npc = level_object_by_sid(number) -- где number = story_id
    db.actor:run_talk_dialog(npc) -- тут будет читаться диалог нпс, из профиля нпс прописанный в dialogs_*.xml
    end
    Только тебе надо добавить прозрачного нпс с которым будешь говорить, на стандартном расстоянии.
    И вызвать ф-ию из логики нпс или рестриктора.
    П.С. По другому вроде никак. Гуру, поправьте, если есть альтернативный вариант.

    Если будешь вызывать из xr_effects.script то добавь в него:
    Код
    function new_talk(actor, npc, p)
       local nps = level_object_by_sid(p[1])
       db.actor:run_talk_dialog(nps)
    end
    Вызов из логики:
    =new_talk(story_id)
    N.B. Проверь наличие ф-ии level_object_by_sid в _g.script, если её нет, то замени на подобную из ЗП, или добавь:
    Код
    function level_object_by_sid( sid )
       local sim = alife()

       if sim then
        local se_obj = sim:story_object( sid )
        if se_obj then
         return level.object_by_id( se_obj.id )
        end
       end

       return nil
    end

    Это из ТЧ, но сработает и в ЗП.

    Добавлено (12.05.2014, 21:08)
    ---------------------------------------------
    RICK, Покажи секцию НПС.
    Полное название путей не помогло?
    Сообщение отредактировал ins33 - Понедельник, 12.05.2014, 21:10
      Злобная реклама
    Понедельник, 12.05.2014, 21:08
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  RICK
    Понедельник, 12.05.2014, 21:13 | Сообщение # 3069
    Статус:
    Опытный:
    Сообщений: 1205
    Награды: 4
    Регистрация: 10.05.2011

    [smart_terrain];l01_a1_stalker_base_smart
    squad_id = 1
    def_restr = l01_a1_stalker_base_def_restr
    safe_restr = l01_rad_stalker_base_sr_light
    smart_control = smart_control
    max_population = 1
    arrive_dist = 65

    [smart_control]
    noweap_zone = l01_rad_stalker_base_noweap
    ignore_zone = l01_rad_stalker_base_sr_light
    alarm_start_sound = zat_a2_base_alarm
    alarm_stop_sound = zat_a2_base_relax

    [exclusive]
    rad_stalker_base_guard_1 = l01_radon\rad_stalker_base_post_guards.ltx

    [logic@rad_stalker_base_guard_1]
    suitable = {=check_npc_name(rad_stalker_base_guard_1)} true
    prior = 100
    active = Walker@post_guard1

    [Walker@post_guard1]
    path_walk = post_guarder_1_walk
    path_look = post_guarder_1_look
    out_restr = l01_a1_stalker_base_def_restr
    meet = meet@stalker_base_guards_meet
    gather_items_enabled = false
    help_wounded_enabled = true
    corpse_detection_enabled = false
    use_camp = false
    ;on_info = {+}

    [meet@stalker_base_guards_meet]
    ;meet_dialog = pri_a17_military_recon_squad_ambush_dialog_second
    close_snd_hello = jup_a6_freedom_leader_greeting
    close_snd_bye = jup_a6_freedom_leader_farewell
    close_anim = guard_na
    close_victim = actor
    far_anim = nil
    far_victim = nil
    close_distance = 0
    far_distance = 0
    close_snd_distance = 3
    use = {=actor_enemy} false, true
    abuse = true
    allow_break = false
    trade_enable = false
    meet_on_talking = false

    название точек в сдк l01_a1_stalker_base_smart_post_guarder_1_walk l01_a1_stalker_base_smart_post_guarder_1_look

    [error]Expression : !m_error_code
    [error]Function : raii_guard::~raii_guard
    [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
    [error]Line : 748
    [error]Description : ...all of pripyat\gamedata\scripts\smart_terrain.script:512: attempt to index field 'alife_task' (a nil value)
    Сообщение отредактировал RICK - Понедельник, 12.05.2014, 21:17
      Злобная реклама
    Понедельник, 12.05.2014, 21:13
    Статус:
    Сообщений: 666
    Регистрация: 10.05.2011
    Российская Федерация  safra2011
    Понедельник, 12.05.2014, 21:23 | Сообщение # 3070
    Сообщений: 87
    Регистрация: 25.08.2012

    Цитата ins33
    Вызов из логики:
    =new_talk(story_id)

    story_id может быть в данном случае буквенным, или только числовым? И если только числовым,то как назначит это самое число? Всегда задавался этим вопросом...
      Злобная реклама
    Понедельник, 12.05.2014, 21:23
    Статус:
    Сообщений: 666
    Регистрация: 25.08.2012
    Российская Федерация  ins33
    Понедельник, 12.05.2014, 21:47 | Сообщение # 3071
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    safra2011, SID = number
    Стори_айди задаётся в all.spawn story_id = number или скриптом, к приме с помощью ф-ий АМК:
    Код
    function name()
    local sobj = alife():create("section_name",vector():set(x,y,z),lv,gv)
    local paramss=amk.read_stalker_params(sobj)
    paramss.sid = number
    amk.write_stalker_params(paramss, sobj)
    end


    Код
    ---------------------------------------------------------------------
    -- =new_talk_by_name(name) -- Поговорим с  нпс по имени
    ---------------------------------------------------------------------
    function new_talk_by_name(actor, npc, p)
    local obj = p[1]
         for a=10,65635,1 do
      local npc=level.object_by_id(a)
       if npc and string.find(npc:name(),obj) then
        if npc == nil then
         printf ("Can't find npc with story id %d", obj)
        else
         db.actor:run_talk_dialog(npc)
        end
       end
      end
    end
      Злобная реклама
    Понедельник, 12.05.2014, 21:47
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  safra2011
    Понедельник, 12.05.2014, 22:26 | Сообщение # 3072
    Сообщений: 87
    Регистрация: 25.08.2012

    Спасибо еще раз!
      Злобная реклама
    Понедельник, 12.05.2014, 22:26
    Статус:
    Сообщений: 666
    Регистрация: 25.08.2012
    Российская Федерация  Mel
    Понедельник, 12.05.2014, 22:51 | Сообщение # 3073
    Anarchy Cell Mod
    Статус:
    Бывалый:
    Сообщений: 651
    Награды: 4
    Регистрация: 22.08.2013

    RICK, боюсь показаться не осведомленным. Является ли допустимым в написании названии логики в секции с заглавной буквы (в вашем случае Walker)? Просто нигде не встречал подобных примеров и стало интересно.
      Злобная реклама
    Понедельник, 12.05.2014, 22:51
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2013
    Российская Федерация  SG
    Понедельник, 12.05.2014, 23:52 | Сообщение # 3074
    Статус:
    Новичок:
    Сообщений: 237
    Награды: 0
    Регистрация: 12.09.2013

    как в ЗП, добавить новую секцию в пда
      Злобная реклама
    Понедельник, 12.05.2014, 23:52
    Статус:
    Сообщений: 666
    Регистрация: 12.09.2013
    Российская Федерация  ins33
    Вторник, 13.05.2014, 00:13 | Сообщение # 3075
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    SG, Вот >>ТАК<< или >>ТАК<< а можно и >>ТАК<<
    Сообщение отредактировал ins33 - Вторник, 13.05.2014, 00:14
      Злобная реклама
    Вторник, 13.05.2014, 00:13
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Поиск: