Случайная подборка модов
Soc Style Addon 2.0
4.1
Darkest Time
3.5
Возвращение Шрама
3.9
Ветер времени
4.5
Альтернатива 1.1 Beta
3.0
Призраки Прошлого 2
3.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  А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
    Поиск: