Случайная подборка модов
Смерти Вопреки. В Паутине лжи
4.1
Call of Pripyat Complete
3.7
NLC 7: Я - Меченный
3.8
Оставшийся умирать
4.3
Dead City Mod v. 4.80
3.7
Nature Winter v2.3 Black Edition
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  Wolfstalker
Среда, 24.02.2016, 00:25 | Сообщение # 1
Статус:
Легенда:
Сообщений: 2258
Награды: 15
Регистрация: 05.04.2010

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


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




F.A.Q

  Злобная реклама
Среда, 24.02.2016, 00:25
Статус:
Сообщений: 666
Регистрация: 05.04.2010
Российская Федерация  Krt0ki
Суббота, 12.11.2016, 18:51 | Сообщение # 4546
Статус:
Опытный:
Сообщений: 1258
Награды: 7
Регистрация: 19.04.2015

DamonOZER, так же - ищешь нужное число и смотришь контекст - если подходит по смыслу то меняешь.
  Злобная реклама
Суббота, 12.11.2016, 18:51
Статус:
Сообщений: 666
Регистрация: 19.04.2015
Российская Федерация  ins33
Суббота, 12.11.2016, 22:26 | Сообщение # 4547
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

Спрошу ещё раз, может, что подскажите.

Собрал спавн в СДК, побегал, по первым 2-ум локам, всё работает.
Подключаю m_timer c se_stor, и при загрузке ловлю вылет по магазинному питанию:
Код
[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: ....t.a.l.k.e.r\gamedata\scripts\kirag_take_drop.script:35: attempt to index field 'actor' (a nil value)


Код
35   if db.actor:is_talking() then -- получение предмета в диалоге или при торговле
Возвращаю старый спавн, модули работают. В итоге, спавн с модулями работают друг без друга на ура, а вместе, не хотят.
Мне думается, это косяк в спавне, но, как его найти ума не приложу.
Спасайте.
Сообщение отредактировал ins33 - Воскресенье, 13.11.2016, 00:15
  Злобная реклама
Суббота, 12.11.2016, 22:26
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Украина  _S_k_i_F_
Воскресенье, 13.11.2016, 11:03 | Сообщение # 4548
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

Такой вопрос: как-то можно в ЗП скриптово загрузить последний сейв? Зараннее спасибо!
  Злобная реклама
Воскресенье, 13.11.2016, 11:03
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  Overfirst
Воскресенье, 13.11.2016, 11:08 | Сообщение # 4549
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

_S_k_i_F_, можно:
Код
get_console():execute("load_last_save")

Будет работать только при загруженном сейве.
  Злобная реклама
Воскресенье, 13.11.2016, 11:08
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Российская Федерация  denis2000
Воскресенье, 13.11.2016, 15:27 | Сообщение # 4550
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Цитата ins33 ()
Мне думается, это косяк в спавне, но, как его найти ума не приложу.

Косяк не в спавне, косяк в скриптах которые пытаются использовать db.actor даже не проверяя, что его еще нет.
Сообщение отредактировал denis2000 - Воскресенье, 13.11.2016, 15:28
  Злобная реклама
Воскресенье, 13.11.2016, 15:27
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  ins33
Воскресенье, 13.11.2016, 15:59 | Сообщение # 4551
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

denis2000, Да делал я проверку на его наличие, и
Код
if db.actor then
потом
Код
if device().precache_frame >1 then
Лог меняется, ругается опять же на актора в mob_alife_mgr.script затем на mob_home.script. После всех проверок наличая актора, вылетает с логом на _g.script exit()
Полный лог, чуть позже добавлю.

Подскажите, есть ли возможность скриптом проверить работоспособность графпоинтов на всех уровнях не заходя на них?
  Злобная реклама
Воскресенье, 13.11.2016, 15:59
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  denis2000
Воскресенье, 13.11.2016, 16:53 | Сообщение # 4552
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Цитата ins33 ()
Да делал я проверку на его наличие

Цитата ins33 ()
ругается опять же на актора в mob_alife_mgr.script затем на mob_home.script

Понятно, значит спавн... Найдете причину обязательно сообщите.

Пробуйте зайти на все локации, возможно найдете кривую.
Сообщение отредактировал denis2000 - Воскресенье, 13.11.2016, 16:56
  Злобная реклама
Воскресенье, 13.11.2016, 16:53
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  ins33
Воскресенье, 13.11.2016, 17:11 | Сообщение # 4553
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

denis2000, Одну локу уже нашёл:
Код
Expression    : header().graph_guid() == ai().game_graph().header().guid()
Function      : CALifeSpawnRegistry::load
File          : E:\stalker\sources\trunk\xr_3da\xrGame\alife_spawn_registry.cpp
Line          : 167
Description   : Spawn doesn't correspond to the graph : REBUILD SPAWN!
Это подземелье Агропрома 2. В комментариях графпоинтов была указана другая лока labx8 вместо cs_agroprom_underground. Причина косяка мне известна... По середине склейки графоф, я изменил конфиги, game_graphs.ltx, game_levels.ltx и game_maps_single.ltx, упорядочив локи. Потом сделал исправления, но судя по всему не всех лок. К сожалению, это не единственная лока, по этому выше и спросил:
Подскажите, есть ли возможность скриптом проверить работоспособность\валидность графпоинтов на всех уровнях не заходя на них?

Подскажите, какие файлы нужны для
Код
@bins\compiler_ai_SOC\xrai -m
@bins\compiler_ai_SOC\xrai -no_separator_check -noverbose -s
И если я добавил спавн элемент на локацию, то надо ли собирать граф? Или достаточно сделать
Код
@bins\compiler_ai_SOC\xrai -no_separator_check -noverbose -s
Сообщение отредактировал ins33 - Воскресенье, 13.11.2016, 19:08
  Злобная реклама
Воскресенье, 13.11.2016, 17:11
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Российская Федерация  Reunited_
Воскресенье, 13.11.2016, 17:53 | Сообщение # 4554
Статус:
Гость:
Сообщений: 32
Награды: 0
Регистрация: 31.10.2014

Кто может помочь по адаптированию оружия из OGR в SGM 2.2? Напишите в лс.
  Злобная реклама
Воскресенье, 13.11.2016, 17:53
Статус:
Сообщений: 666
Регистрация: 31.10.2014
Украина  _S_k_i_F_
Воскресенье, 13.11.2016, 19:39 | Сообщение # 4555
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

Такой вопрос: отчего может тормозить логика НПС? Вот есть переход логики
Код
on_info = {+info} walker@get_out

Но после получения поршня НПС переходит в другую секцию логики только через несколько секунд. Вроде некритично - но в случаях катсцен эти несколько секунд очень портят весь вид. Есть ли какое-то решение? Зараннее спасибо!
  Злобная реклама
Воскресенье, 13.11.2016, 19:39
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  Overfirst
Воскресенье, 13.11.2016, 19:43 | Сообщение # 4556
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

_S_k_i_F_, пожалуйста:
Код
function stop_animation(actor, npc,p)
local state_mgr = db.storage[npc:id()].state_mgr
    if state_mgr == nil then return end

    local planner = npc:motivation_action_manager()

    state_mgr.animation:set_state(nil, true)
    state_mgr.animation:set_state() --set_control()
    state_mgr.animstate:set_state(nil, true)
    state_mgr.animstate:set_state() --set_control()

    state_mgr:set_state("idle", nil, nil, nil, {fast_set = true})

    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()

    npc:set_body_state(move.standing)
    npc:set_mental_state(anim.free)
end

Код
on_info = {+info} walker@get_out %=stop_animation%

Я юзаю сам. Очень удобная штука.
  Злобная реклама
Воскресенье, 13.11.2016, 19:43
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Соединенные Штаты  Joni_009
Понедельник, 14.11.2016, 01:17 | Сообщение # 4557
Статус:
Бывалый:
Сообщений: 1008
Награды: 14
Регистрация: 25.05.2014

Всем привет! Возможно ли сделать так, чтобы во время дождя костер не горел, платформа ЗП.
  Злобная реклама
Понедельник, 14.11.2016, 01:17
Статус:
Сообщений: 666
Регистрация: 25.05.2014
Российская Федерация  castle
Понедельник, 14.11.2016, 01:43 | Сообщение # 4558
Статус:
Новичок:
Сообщений: 262
Награды: 2
Регистрация: 11.01.2014

Joni_009, Попробуйте

Код
    local wm = level_weathers.get_weather_manager()
    if wm.current_state == "rain" then
  if self.campfire:is_on() then
    self.campfire:turn_off()

  end
    end


Прописать в function campfire_binder:update(delta)

Еще, чтобы не было конфликта думаю добавить проверку на погоду в smart_terrain.script

Вместо этого


Сделать:


Или лучше заменить проверку погоды на такую?

db.actor ~= nil and level.rain_factor() > 0
Сообщение отредактировал castle - Понедельник, 14.11.2016, 05:44
  Злобная реклама
Понедельник, 14.11.2016, 01:43
Статус:
Сообщений: 666
Регистрация: 11.01.2014
Украина  _S_k_i_F_
Понедельник, 14.11.2016, 20:26 | Сообщение # 4559
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

Такая проблема: в ГУИ на нажатие кнопки есть такая функция
Код
function ui_razblok_pda:OnButton_unlock_clicked()
local timer = time_global()
for i=1,100 do
    if (time_global()-timer<1000) then
  self.percent:SetText(i.." %")
    end
    if i=100 then
  if (not has_alife_info("jup_pr_killer_lokot_squad_death")) and (not has_alife_info("jup_pr_gotlib_pda_unlock")) then
   give_info("jup_pr_gotlib_pda_unlock")
   xr_effects.podmena(nil, nil, {"jup_pr_gotlib_pda","jup_pr_gotlib_pda_unlock"})
  end    
  if (has_alife_info("jup_pr_killer_lokot_squad_death")) and (not has_alife_info("jup_pr_lokot_pda_unlock")) then
   give_info("jup_pr_lokot_pda_unlock")
   xr_effects.podmena(nil, nil, {"jup_pr_lokot_pda","jup_pr_lokot_pda_unlock"})
  end    
  self.button_close:Enable(true)
    end    
end
end

Но при запуске ГУИ вылетает. Проверил в синтакс чекере - проблема в строке
Код
if i=100 then

Пишет - что перед = нужно then Но почему? Зараннее спасибо!
  Злобная реклама
Понедельник, 14.11.2016, 20:26
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  ins33
Понедельник, 14.11.2016, 20:41 | Сообщение # 4560
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

  Злобная реклама
Понедельник, 14.11.2016, 20:41
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Поиск: