Случайная подборка модов
Призраки прошлого
3.2
Зимний Снайпер
3.8
Sky anomaly
4.0
Dead City Breakthrough
3.7
Новое Время. Судьба наемника
2.3
Dead City Mod v. 4.80
3.7
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  А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
    Российская Федерация  ins33
    Четверг, 17.04.2014, 00:10 | Сообщение # 2641
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Arist, Попробуй передать в несуществующий тайник, если не будет вылета, то перестраховка, которая скажет, что не туда спавнишь. Если будет, то смотри, что лог напишет. Точнее, упомянет ли он имя несуществующего тайника.

    Добавлено (17.04.2014, 00:10)
    ---------------------------------------------
    Сейчас у себя проверю.

      Злобная реклама
    Четверг, 17.04.2014, 00:10
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  Arist
    Четверг, 17.04.2014, 00:13 | Сообщение # 2642
    Статус:
    Неопытный:
    Сообщений: 481
    Награды: 1
    Регистрация: 08.07.2012

    ins33, да и if тоже зачем.
    Код

    function spawn_object_in(actor, obj, p)
    local spawn_sect = p[1]
    local target_name = p[2]
    local box = alife():object(target_name)
    if spawn_sect ~= nil and target_name ~= nil and box ~=nil then
    local obj = alife():create(spawn_sect,vector(),0,0,box.id)
    end
    end


    В рестриктор тоже сработало(заспавнил сталкера и аптечку)
    [logic]
    active = sr_idle

    [sr_idle]
    on_info = {+test_info} nil %=spawn_obj_in_zone(agr_stalker_veteran:esc_test_restrictor) =spawn_obj_in_zone(medkit:esc_test_restrictor)%
    В xr_effects.script
    Код

    function spawn_obj_in_zone(actor, obj, p)
      local spawn_sect = p[1]
      local zone_name = p[2]
             local zone = db.zone_by_name[zone_name]
      if spawn_sect ~= nil and zone_name ~= nil and zone ~= nil then
      local spawned_obj = alife():create( spawn_sect,zone:position(),zone:level_vertex_id(),zone:game_vertex_id())
    end
    end

    Надо через диалог попробовать.
    Сообщение отредактировал Arist - Четверг, 17.04.2014, 00:38
      Злобная реклама
    Четверг, 17.04.2014, 00:13
    Статус:
    Сообщений: 666
    Регистрация: 08.07.2012
    Российская Федерация  Sanjaaa
    Четверг, 17.04.2014, 00:28 | Сообщение # 2643
    Dark Reaper Souls
    Статус:
    Бывалый:
    Сообщений: 926
    Награды: 6
    Регистрация: 22.08.2012

    ins33, а как правильно повесить timer_start?
    я повесил
    Код
    timer_start.update(delta)

    и получил
    Код
    Expression    : fatal error
    Function      : CScriptEngine::lua_error
    File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
    Line          : 73
    Description   : <no expression>
    Arguments     : LUA error: ...:\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:246: attempt to index global 'timer_start' (a nil value)
      Злобная реклама
    Четверг, 17.04.2014, 00:28
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2012
    Российская Федерация  ins33
    Четверг, 17.04.2014, 00:40 | Сообщение # 2644
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Arist, Это для точного вывода в лог! Прописав так:
    on_info = {-test} nil %+test =spawn_object_in(antirad:bla_bla)%
    Словил вылет:
    Код
    ! Cannot find saved game error: there is no such object bla_bla
    ! Cannot find saved game %s
       
    FATAL ERROR
       
    [error]Expression    : fatal error
    [error]Function      : CScriptEngine::lua_error
    [error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
    [error]Line          : 73
    [error]Description   : <no expression>
    [error]Arguments     : LUA error: ... publishing\s.t.a.l.k.e.r\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)
    Но у меня правленый скрипт для вывода в лог инфы по логике. С стандартным этой строки
    Cannot find saved game error: there is no such object bla_bla
    не будет.

    Sanjaaa, В том скрипте было 2 опечатки, ты их исправил? Лог говорит, что в скрипте timer_start есть ошибка. Проверь его script Syntax Checker.exe
    П.С. ты исправил torch_binder:load® на torch_binder:load(_r_) только без _! Сайт р в скобках отображает, как ®

    Добавлено (17.04.2014, 00:40)
    ---------------------------------------------
    timer_start.update()

      Злобная реклама
    Четверг, 17.04.2014, 00:40
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  Sanjaaa
    Четверг, 17.04.2014, 00:54 | Сообщение # 2645
    Dark Reaper Souls
    Статус:
    Бывалый:
    Сообщений: 926
    Награды: 6
    Регистрация: 22.08.2012

    Ins33. Ну да ошибки испраавил. А "r" обязательно маленькую,а то я большую поставил

    Добавлено (17.04.2014, 00:54)
    ---------------------------------------------
    А еще в скрипте коментарий что timer_start надо вешать на update(delta)

      Злобная реклама
    Четверг, 17.04.2014, 00:54
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2012
    Российская Федерация  ins33
    Четверг, 17.04.2014, 01:21 | Сообщение # 2646
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Arist,
    Цитата Arist ()
    Надо через диалог попробовать.
    А как ты в диалоге собираешься medkit:esc_test_restrictor передать?
    А для спавн в тайник или нпс, я использую эту ф-ию:
    Код
    -- =give_items_nps(item:sid)
    function give_items_nps(actor, npc, p)
    local item = p and p[1]
    local to_obj = level_object_by_sid(p[2])
    alife():create(item,
    to_obj:position(),
    to_obj:level_vertex_id(),
    to_obj:game_vertex_id(),
    to_obj:id())
    end
    Но тут передаётся sid, что не всегда удобно! Хотя можно использовать
    Код
    -- =name(name)
    function 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
    *
    и передавать имя.

    Помогите разобраться с оверрайдами в секции [mob_home]
    mob_home.script:
    Логика:
    Проверял все 4 оверрайда в разных вариантах\сочетаниях, и не один не сработал. ХЕЛП!!!

    Добавлено (17.04.2014, 01:21)
    ---------------------------------------------
    Sanjaaa, На тот момент у меня был только один таймер, и писать доп ф-ию, которая будет запускать остальные, не было смысла. Если обратишь внимание, то ф-ия update запускает timer_start() и hud_timer(), а сама она висит на update(delta).

    Цитата Sanjaaa ()
    А "r" обязательно маленькую,а то я большую поставил

    ни когда не задавался этим вопросом, думаю это не критично. Сам всегда пишу маленькую.
    П.С. комментарии исправил.
      Злобная реклама
    Четверг, 17.04.2014, 01:21
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  Arist
    Четверг, 17.04.2014, 01:33 | Сообщение # 2647
    Статус:
    Неопытный:
    Сообщений: 481
    Награды: 1
    Регистрация: 08.07.2012

    ins33, помутнение,насчёт диалога.Третья укоротка:
    тоже работает.
    Перевести в mob_walker,не вариант ?
      Злобная реклама
    Четверг, 17.04.2014, 01:33
    Статус:
    Сообщений: 666
    Регистрация: 08.07.2012
    Российская Федерация  ins33
    Четверг, 17.04.2014, 01:50 | Сообщение # 2648
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    Arist, Не вариант! Хочется себе жизнь упростить. Сейчас в mob_camp.script попробую оверрайды прописать.
      Злобная реклама
    Четверг, 17.04.2014, 01:50
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Украина  BozKurt
    Четверг, 17.04.2014, 01:52 | Сообщение # 2649
    Статус:
    Опытный:
    Сообщений: 1753
    Награды: 3
    Регистрация: 25.05.2012

    Цитата ins33 ()
    ни когда не задавался этим вопросом, думаю это не критично.
    Критично. Lua чувствителен к регистру и для него Value и value - разные переменные.

    Цитата ins33 ()
    Проверял все 4 оверрайда в разных вариантах\сочетаниях, и не один не сработал.

    При выставленном значении actor_friendly плоть нападала на ГГ? Попробуй подсунуть вместо mob_home - mob_walker, с тем же actor_friendly = true, если будет нападать, то причина в чём-то другом.
      Злобная реклама
    Четверг, 17.04.2014, 01:52
    Статус:
    Сообщений: 666
    Регистрация: 25.05.2012
    Российская Федерация  ins33
    Четверг, 17.04.2014, 02:37 | Сообщение # 2650
    Dream Reader Mod
    Статус:
    Опытный:
    Сообщений: 2269
    Награды: 1
    Регистрация: 17.01.2012

    BozKurt, В walker-e actor_friendly = true работает.
    В mob_camp.script тоже не срабатывает.
      Злобная реклама
    Четверг, 17.04.2014, 02:37
    Статус:
    Сообщений: 666
    Регистрация: 17.01.2012
    Российская Федерация  Sanjaaa
    Четверг, 17.04.2014, 08:52 | Сообщение # 2651
    Dark Reaper Souls
    Статус:
    Бывалый:
    Сообщений: 926
    Награды: 6
    Регистрация: 22.08.2012

    ins33, ну я вообще хз что такое. прописал в бинде апдейт без дельты, проверил на ошибки скрипт, ошибок нету! а вылетает серавно
    Код
    Expression    : fatal error  
      Function      : CScriptEngine::lua_error  
      File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp  
      Line          : 73  
      Description   : <no expression>  
      Arguments     : LUA error: ...:\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:246: attempt to index global 'timer_start' (a nil value)
    Сообщение отредактировал Sanjaaa - Четверг, 17.04.2014, 08:58
      Злобная реклама
    Четверг, 17.04.2014, 08:52
    Статус:
    Сообщений: 666
    Регистрация: 22.08.2012
    Российская Федерация  BeeRsek
    Четверг, 17.04.2014, 09:19 | Сообщение # 2652
    Тайна Зоны: История Стрелка
    Статус:
    Опытный:
    Сообщений: 1308
    Награды: 7
    Регистрация: 24.01.2011

    ins33, npc_friendly и прочие friendly не работают с mob_home. Я их только на валкер цеплял...
      Злобная реклама
    Четверг, 17.04.2014, 09:19
    Статус:
    Сообщений: 666
    Регистрация: 24.01.2011
    Российская Федерация  _Val_
    Четверг, 17.04.2014, 10:09 | Сообщение # 2653
    Ф.О.Т.О.Г.Р.А.Ф
    Статус:
    Бывалый:
    Сообщений: 1063
    Награды: 5
    Регистрация: 20.01.2012

    Эммм... Я так понял, что вы пытаетесь некоторых зверушек сделать дружелюбными к ГГ при помощи логики.
    Не проще добавить в конфиг этих зверушек особей , изначально дружелюбных к ГГ?
      Злобная реклама
    Четверг, 17.04.2014, 10:09
    Статус:
    Сообщений: 666
    Регистрация: 20.01.2012
    Российская Федерация  TYOPA
    Четверг, 17.04.2014, 10:36 | Сообщение # 2654
    Тайна Зоны: История Стрелка
    Статус:
    Новичок:
    Сообщений: 226
    Награды: 0
    Регистрация: 10.08.2012

    _Val_, иногда бывает, что такое нужно сделать для одного конкретного мутанта, а из-за одного создавать группировку, как-то не ахти...
    Вопрос такой: Из-за чего может вылетать игра, когда из неё выходишь? С изменённым _g скриптом(выводить всё в лог) вылет пропадает. Всё это на ТЧ версии 1.0004 без правок движка.
      Злобная реклама
    Четверг, 17.04.2014, 10:36
    Статус:
    Сообщений: 666
    Регистрация: 10.08.2012
    Российская Федерация  Arist
    Четверг, 17.04.2014, 11:37 | Сообщение # 2655
    Статус:
    Неопытный:
    Сообщений: 481
    Награды: 1
    Регистрация: 08.07.2012

    ins33,
    mob_home - если монстрам не угрожает опасность,они просто сидят около точки? Свиньи, вроде должны спать,
    А НЕ.... Ладно. mob_home.script

    Логика:


    Надо ещё чего-то добавлять...
    Сообщение отредактировал Arist - Четверг, 17.04.2014, 12:57
      Злобная реклама
    Четверг, 17.04.2014, 11:37
    Статус:
    Сообщений: 666
    Регистрация: 08.07.2012
    Поиск: