Случайная подборка модов
Голос: Эпизод 1
4.1
Новый Арсенал 4.5
3.7
Lost World Troops of Doom
4.1
Зачистка
4.0
Prosectors Project
4.0
Sins of the past. Пролог
3.3
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  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
Украина  _S_k_i_F_
Пятница, 25.11.2016, 20:12 | Сообщение # 4666
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

И снова проблема с ГУИ... Взял абсолютно рабочее ГУИ, в скрипте поменял только действия при нажатии на кнопки, в конфиге текстуру и координаты - итог - новое ГУИ не работает - кнопки не реагируют на клики. В чем может быть проблема???
Рабочее ГУИ


А вот нерабочее


Может кто-то знает, в чем может быть проблема? Зараннее спасибо!

Добавлено (25.11.2016, 20:12)
---------------------------------------------
Еще такой вопрос: написал скрипт
Код
--//    Медикаменты       \\--
function get_medicine()
local item_medicine = nil
local rnd = math.random(100)
local rnd2 = math.random(3)
local rnd3 = math.random(100)
local medkits = {"medkit","medkit_army","medkit_scientic", "antirad", "bandage"}
local boosters = {"drug_coagulant","drug_booster","drug_psy_blockade","drug_antidot","drug_radioprotector"}
local anabiotic = {"drug_anabiotic"}
    if rnd <= 85 then
  if rnd2 == 1 then
   item_medicine = medkits[math.random(#medkits)]
  elseif rnd2 == 2 then
   item_medicine = boosters[math.random(#boosters)]
  elseif rnd2 == 3 then
   if rnd3 > 90 then
    item_medicine = anabiotic    
   end    
  end    
    end
    
if item_medicine ~= nil then
    return item_medicine    
end    

end

--// Оружие и боеприпасы  \\--
function get_weap_and_ammo()
local ammo_weap = nil
local item_weap = nil
local rnd = math.random(100)
local rnd2 = math.random(100)
local rnd3 = math.random(3)
local rnd4 = math.random(100)
local pistols1 = {"wpn_pm","wpn_pb","wpn_fort"}
local pistols2 = {"wpn_hpsa","wpn_beretta","wpn_walther","wpn_mp5"}
local pistols3 = {"wpn_sig220","wpn_colt1911","wpn_usp","wpn_desert_eagle"}
local shootgun = {"wpn_bm16","wpn_toz34","wpn_wincheaster1300","wpn_spas12"}
local automatic1 = {"wpn_ak74u","wpn_ak74","wpn_abakan"}
local automatic2 = {"wpn_l85","wpn_lr300","wpn_sig550"}
local grenades = {"grenade_f1","grenade_rgd5"}
    if rnd > 50 then
  if rnd2 > 75 then
   if rnd3 == 1 then
    item_weap = pistols1[math.random(#pistols1)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_9x18_fmj"}
    else
     ammo_weap = {"ammo_9x18_pmm"}    
    end    
   elseif rnd3 == 2 then
    item_weap = pistols2[math.random(#pistols2)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_9x19_fmj"}
    else
     ammo_weap = {"ammo_9x19_pbp"}    
    end    
   elseif rnd3 == 3 then
    item_weap = pistols3[math.random(#pistols3)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_11.43x23_fmj"}
    else
     ammo_weap = {"ammo_11.43x23_hydro"}    
    end    
   end
  else
   if rnd3 == 1 then
    item_weap = shootgun[math.random(#shootgun)]
    if rnd4 < 50 then    
     ammo_weap = {"ammo_12x70_buck"}
    else
     ammo_weap = {"ammo_12x76_zhekan"}    
    end    
   elseif rnd3 == 2 then
    item_weap = automatic1[math.random(#automatic1)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_5.45x39_fmj"}
    else
     ammo_weap = {"ammo_5.45x39_ap"}    
    end    
   elseif rnd3 == 3 then
    item_weap = automatic2[math.random(#automatic2)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_5.56x45_ss190"}
    else
     ammo_weap = {"ammo_5.56x45_ap"}    
    end    
   end
  end
    end
    
if ammo_weap ~= nil and item_weap ~= nil then
    return ammo_weap and item_weap
end
    
end

--//       Броники        \\--

--//      Артефакты       \\--

--//         Еда          \\--

--//       Деньги         \\--

function fill()
get_medicine()
get_weap_and_ammo()
local cnt = 3
for i=1,cnt do
local box = "jup_treasure_"..i
    if get_medicine().item_medicine ~= nil then
  local med_item = get_medicine().item_medicine
  xr_effects.spawn_object_in(nil, nil, {med_item,box})
    end    
    if get_weap_and_ammo().ammo_weap ~= nil and get_weap_and_ammo().item_weap ~= nil then
  local ammo_item = get_weap_and_ammo().ammo_weap
  local weap_item = get_weap_and_ammo().item_weap
  xr_effects.spawn_object_in(nil, nil, {ammo_item ,box})
  xr_effects.spawn_object_in(nil, nil, {weap_item ,box})
    end    
end
end

В чем суть - в первых двух функциях надо получить рандомно предмет. Во второй, если он существует - заспавнить его в ящик. Но при запуске скрипта вылетает
Код
...- Зов Припяти\gamedata\scripts\fill_treasures.script:118: attempt to index a nil value

вот строка 118
Код
if get_medicine().item_medicine ~= nil then

Где ошибся? Зараннее спасибо!
Сообщение отредактировал _S_k_i_F_ - Суббота, 26.11.2016, 01:39
  Злобная реклама
Пятница, 25.11.2016, 20:12
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  denis2000
Пятница, 25.11.2016, 21:46 | Сообщение # 4667
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Shdow_Runner,
Сообщение отредактировал denis2000 - Пятница, 25.11.2016, 21:52
  Злобная реклама
Пятница, 25.11.2016, 21:46
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Российская Федерация  Neptun
Суббота, 26.11.2016, 06:02 | Сообщение # 4668
Связной
Статус:
Бывалый:
Сообщений: 672
Награды: 9
Регистрация: 25.03.2012

_S_k_i_F_, я всё ещё настаиваю, что нельзя телепортировать ГГ через гуи:
xr_effects.teleport_actor(nil, nil, {"jup_pr_final_in_tonnel_walk","jup_pr_final_in_tonnel_look"})
И ещё, попробуй выдавать инфопорцию таким образом: db.actor:give_info_portion("jup_pr_final_in_tonnel")
  Злобная реклама
Суббота, 26.11.2016, 06:02
Статус:
Сообщений: 666
Регистрация: 25.03.2012
Российская Федерация  Overfirst
Суббота, 26.11.2016, 07:48 | Сообщение # 4669
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Цитата mmihaill ()
я всё ещё настаиваю, что нельзя телепортировать ГГ через гуи
Тогда попробуй выдать инфо после нажатия на кнопку, а с помощью рестриктора проверяй наличие этого инфо, потом телепортируй.
Цитата mmihaill ()
попробуй выдавать инфопорцию таким образом: db.actor:give_info_portion("jup_pr_final_in_tonnel")

Разница?
Код
function give_info (info)
    db.actor:give_info_portion(info)
end
  Злобная реклама
Суббота, 26.11.2016, 07:48
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Российская Федерация  ins33
Суббота, 26.11.2016, 09:59 | Сообщение # 4670
Dream Reader Mod
Статус:
Опытный:
Сообщений: 2269
Награды: 1
Регистрация: 17.01.2012

_S_k_i_F_, В нерабочем варианте поршень выдаётся? Тогда добавь вызов ф-ии из поршня
Код
<info_portion id="jup_pr_final_in_tonnel"><actiion>name_script.name_function</action></info_portion>
Ну и в скрипт добавь ф-ию:
Код
function name_function()
xr_effects.teleport_actor(nil, nil, {"jup_pr_final_inside_tonnel_walk","jup_pr_final_inside_tonnel_look"})
end
На всякий случай выдавай поршень после закрытия ГУИ-шки.
И попробуй вызвать ф-ию телепортации после закрытия ГУИ:
Код
self:HideDialog()
xr_effects.teleport_actor(nil, nil, {"jup_pr_final_in_tonnel_walk","jup_pr_final_in_tonnel_look"})


BoBaH_671, Задержки запуска ф-ии через поршень будет достаточно. Да и лишний рестриктор для это точно не стоит ставить.

Добавлено (26.11.2016, 09:59)
---------------------------------------------

Цитата _S_k_i_F_ ()
Где ошибся? Зараннее спасибо!
get_medicine().item_medicine
  Злобная реклама
Суббота, 26.11.2016, 09:59
Статус:
Сообщений: 666
Регистрация: 17.01.2012
Украина  _S_k_i_F_
Суббота, 26.11.2016, 13:20 | Сообщение # 4671
Золотой Обоз
Статус:
Опытный:
Сообщений: 1311
Награды: 9
Регистрация: 09.08.2015

mmihaill, я пробовал убрать все действия кроме закрытия гуи из кнопок - ноль эффекта.
ins33, не совсем понял. Вот как сейчас выглядит скрипт
Код
--//    Медикаменты       \\--
function get_medicine()
local item_medicine = nil
local rnd = math.random(100)
local rnd2 = math.random(3)
local rnd3 = math.random(100)
local medkits = {"medkit","medkit_army","medkit_scientic", "antirad", "bandage"}
local boosters = {"drug_coagulant","drug_booster","drug_psy_blockade","drug_antidot","drug_radioprotector"}
local anabiotic = {"drug_anabiotic"}
    if rnd <= 85 then
  if rnd2 == 1 then
   item_medicine = medkits[math.random(#medkits)]
  elseif rnd2 == 2 then
   item_medicine = boosters[math.random(#boosters)]
  elseif rnd2 == 3 then
   if rnd3 > 90 then
    item_medicine = anabiotic    
   end    
  end    
    end
    
--if item_medicine ~= nil then
    return item_medicine    
--end    

end

--// Оружие и боеприпасы  \\--
function get_weap_and_ammo()
local ammo_weap = nil
local item_weap = nil
local rnd = math.random(100)
local rnd2 = math.random(100)
local rnd3 = math.random(3)
local rnd4 = math.random(100)
local pistols1 = {"wpn_pm","wpn_pb","wpn_fort"}
local pistols2 = {"wpn_hpsa","wpn_beretta","wpn_walther","wpn_mp5"}
local pistols3 = {"wpn_sig220","wpn_colt1911","wpn_usp","wpn_desert_eagle"}
local shootgun = {"wpn_bm16","wpn_toz34","wpn_wincheaster1300","wpn_spas12"}
local automatic1 = {"wpn_ak74u","wpn_ak74","wpn_abakan"}
local automatic2 = {"wpn_l85","wpn_lr300","wpn_sig550"}
local grenades = {"grenade_f1","grenade_rgd5"}
    if rnd > 50 then
  if rnd2 > 75 then
   if rnd3 == 1 then
    item_weap = pistols1[math.random(#pistols1)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_9x18_fmj"}
    else
     ammo_weap = {"ammo_9x18_pmm"}    
    end    
   elseif rnd3 == 2 then
    item_weap = pistols2[math.random(#pistols2)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_9x19_fmj"}
    else
     ammo_weap = {"ammo_9x19_pbp"}    
    end    
   elseif rnd3 == 3 then
    item_weap = pistols3[math.random(#pistols3)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_11.43x23_fmj"}
    else
     ammo_weap = {"ammo_11.43x23_hydro"}    
    end    
   end
  else
   if rnd3 == 1 then
    item_weap = shootgun[math.random(#shootgun)]
    if rnd4 < 50 then    
     ammo_weap = {"ammo_12x70_buck"}
    else
     ammo_weap = {"ammo_12x76_zhekan"}    
    end    
   elseif rnd3 == 2 then
    item_weap = automatic1[math.random(#automatic1)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_5.45x39_fmj"}
    else
     ammo_weap = {"ammo_5.45x39_ap"}    
    end    
   elseif rnd3 == 3 then
    item_weap = automatic2[math.random(#automatic2)]
    if rnd4 < 75 then    
     ammo_weap = {"ammo_5.56x45_ss190"}
    else
     ammo_weap = {"ammo_5.56x45_ap"}    
    end    
   end
  end
    end
    
--if ammo_weap ~= nil and item_weap ~= nil then
    return ammo_weap and item_weap
--end
    
end

--//       Броники        \\--

--//      Артефакты       \\--

--//         Еда          \\--

--//       Деньги         \\--

function fill()
local cnt = 3
for i=1,cnt do
get_medicine()
get_weap_and_ammo()
local box = "jup_treasure_"..i
    if get_medicine().item_medicine ~= nil then
  local med_item = get_medicine().item_medicine
  xr_effects.spawn_object_in(nil, nil, {med_item,box})
    end    
    if get_weap_and_ammo().ammo_weap ~= nil then
  local ammo_item = get_weap_and_ammo().ammo_weap
  local weap_item = get_weap_and_ammo().item_weap
  xr_effects.spawn_object_in(nil, nil, {ammo_item ,box})
  xr_effects.spawn_object_in(nil, nil, {weap_item ,box})
    end    
end
end
  Злобная реклама
Суббота, 26.11.2016, 13:20
Статус:
Сообщений: 666
Регистрация: 09.08.2015
Российская Федерация  Neptun
Суббота, 26.11.2016, 14:24 | Сообщение # 4672
Связной
Статус:
Бывалый:
Сообщений: 672
Награды: 9
Регистрация: 25.03.2012

Добро. ЗП.
В оригинале есть такая логика sr_psy_antenna, но как ей пользоваться? Если просто логику рестриктора перевести на [sr_psy_antenna] - игра вылетает.
  Злобная реклама
Суббота, 26.11.2016, 14:24
Статус:
Сообщений: 666
Регистрация: 25.03.2012
Российская Федерация  Overfirst
Суббота, 26.11.2016, 14:28 | Сообщение # 4673
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Цитата mmihaill ()
sr_psy_antenna

Почитай статейку.
  Злобная реклама
Суббота, 26.11.2016, 14:28
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Российская Федерация  makdm
Суббота, 26.11.2016, 15:52 | Сообщение # 4674
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

_S_k_i_F_, в каждой функции были ошибки.
Вот исправил тебе их, пробуй:

Код
-//    Медикаменты       \\--
function get_medicine()
local item_medicine = nil
local rnd2 = math.random(3)
local medkits = {"medkit","medkit_army","medkit_scientic", "antirad", "bandage"}
local boosters = {"drug_coagulant","drug_booster","drug_psy_blockade","drug_antidot","drug_radioprotector"}

  if math.random(100) <= 85 then
    if rnd2 == 1 then
  item_medicine = medkits[math.random(#medkits)]
    elseif rnd2 == 2 then
  item_medicine = boosters[math.random(#boosters)]
    else
  if math.random(100) > 90 then
   item_medicine = "drug_anabiotic"    
  end    
    end    
  end
    return item_medicine
end

--// Оружие и боеприпасы  \\--
function get_weap_and_ammo()

local ammo_weap = nil
local item_weap = nil

if math.random(100) <= 50 then
    return ammo_weap, item_weap
end

local rnd3 = math.random(3)
local rnd4 = math.random(100)
local pistols1 = {"wpn_pm","wpn_pb","wpn_fort"}
local pistols2 = {"wpn_hpsa","wpn_beretta","wpn_walther","wpn_mp5"}
local pistols3 = {"wpn_sig220","wpn_colt1911","wpn_usp","wpn_desert_eagle"}
local shootgun = {"wpn_bm16","wpn_toz34","wpn_wincheaster1300","wpn_spas12"}
local automatic1 = {"wpn_ak74u","wpn_ak74","wpn_abakan"}
local automatic2 = {"wpn_l85","wpn_lr300","wpn_sig550"}
local grenades = {"grenade_f1","grenade_rgd5"}

   if math.random(100) > 75 then
   
    if rnd3 == 1 then
     item_weap = pistols1[math.random(#pistols1)]
      if rnd4 < 75 then    
       ammo_weap = "ammo_9x18_fmj"
      else
       ammo_weap = "ammo_9x18_pmm"
      end    
    elseif rnd3 == 2 then
     item_weap = pistols2[math.random(#pistols2)]
      if rnd4 < 75 then    
       ammo_weap = "ammo_9x19_fmj"
      else
       ammo_weap = "ammo_9x19_pbp"    
      end    
    elseif rnd3 == 3 then
     item_weap = pistols3[math.random(#pistols3)]
     if rnd4 < 75 then    
      ammo_weap = "ammo_11.43x23_fmj"
     else
      ammo_weap = "ammo_11.43x23_hydro"    
     end    
    end
    
   else
   
    if rnd3 == 1 then
     item_weap = shootgun[math.random(#shootgun)]
     if rnd4 < 50 then    
      ammo_weap = "ammo_12x70_buck"
     else
      ammo_weap = "ammo_12x76_zhekan"    
     end    
    elseif rnd3 == 2 then
     item_weap = automatic1[math.random(#automatic1)]
     if rnd4 < 75 then    
      ammo_weap = "ammo_5.45x39_fmj"
     else
      ammo_weap = "ammo_5.45x39_ap"   
     end    
    elseif rnd3 == 3 then
     item_weap = automatic2[math.random(#automatic2)]
     if rnd4 < 75 then    
      ammo_weap = "ammo_5.56x45_ss190"
     else
      ammo_weap = "ammo_5.56x45_ap"    
     end    
    end
    
   end

    
    return ammo_weap, item_weap
  
end

--//       Броники        \\--

--//      Артефакты       \\--

--//         Еда          \\--

--//       Деньги         \\--

function fill()
    for i = 1,3 do
  local story_id = "jup_treasure_"..tostring(i)
  local inv_box = alife() <img src="/.s/sm/23/surprised.gif" border="0" align="absmiddle" alt="surprised" /> bject( get_story_object_id( story_id ) )
  if inv_box then
   local item_medicine = get_medicine()
   local ammo_weap, item_weap = get_weap_and_ammo()
   if item_medicine then
    alife():create( item_medicine,    vector(), 0, 0, inv_box.id )
   end    
   if ammo_weap then
    alife():create( ammo_weap,    vector(), 0, 0, inv_box.id )
   end
   if item_weap then
    alife():create( item_weap,    vector(), 0, 0, inv_box.id )
   end
  end
    end
end
  Злобная реклама
Суббота, 26.11.2016, 15:52
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Беларусь  Delphian
Суббота, 26.11.2016, 16:16 | Сообщение # 4675
Статус:
Зевака:
Сообщений: 16
Награды: 1
Регистрация: 25.11.2016

Как отключить тревогу на Скадовске, чтобы двери не закрывались?
  Злобная реклама
Суббота, 26.11.2016, 16:16
Статус:
Сообщений: 666
Регистрация: 25.11.2016
Российская Федерация  Major
Суббота, 26.11.2016, 17:32 | Сообщение # 4676
Статус:
Отмычка:
Сообщений: 83
Награды: 1
Регистрация: 28.10.2016

Сталкер ЗП. При отображении сталкерского материала на модели в 3ds max 2011, - он вылетает. В чем проблема?
  Злобная реклама
Суббота, 26.11.2016, 17:32
Статус:
Сообщений: 666
Регистрация: 28.10.2016
Российская Федерация  denis2000
Суббота, 26.11.2016, 17:59 | Сообщение # 4677
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Цитата Delphian ()
Как отключить тревогу на Скадовске, чтобы двери не закрывались?

Ищите в логике НПС, двери, рестрикторов проверку на нахождение смарта в опасности (check_smart_alarm_status) и правьте на свое усмотрение.
  Злобная реклама
Суббота, 26.11.2016, 17:59
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Беларусь  av661194
Воскресенье, 27.11.2016, 17:14 | Сообщение # 4678
Статус:
Опытный:
Сообщений: 2500
Награды: 12
Регистрация: 16.05.2015

Подскажите, как в ЗП проверить, есть ли на поясе у актора определённый артефакт. Как правильно записать условие : "Если на поясе есть артефакт "Пузырь", то..." ?
  Злобная реклама
Воскресенье, 27.11.2016, 17:14
Статус:
Сообщений: 666
Регистрация: 16.05.2015
Украина  NewValveCom
Воскресенье, 27.11.2016, 17:47 | Сообщение # 4679
Статус:
Отмычка:
Сообщений: 102
Награды: 3
Регистрация: 07.08.2016

Всем здравствуйте, хочу спросить, какой файл в configs/ui отвечает за загрузочный экран? Нужно просто переместить картинку локации на другое место и убрать widepanels, спасибо заранее!
  Злобная реклама
Воскресенье, 27.11.2016, 17:47
Статус:
Сообщений: 666
Регистрация: 07.08.2016
Российская Федерация  61dimon161
Воскресенье, 27.11.2016, 18:03 | Сообщение # 4680
Модификация "На болотах"
Статус:
Новичок:
Сообщений: 200
Награды: 2
Регистрация: 19.01.2014

Взял стандартную локацию (Рыжий Лес), немного изменил её в СДК 0,7
Закомпилил и при загрузке игры вот такой лог (с другими локациями такого не было)

  Злобная реклама
Воскресенье, 27.11.2016, 18:03
Статус:
Сообщений: 666
Регистрация: 19.01.2014
Поиск: