Случайная подборка модов
R.M.A mod 1.1.5
4.2
История Борова
3.6
Смерти Вопреки 2. Одним днем живу
3.4
Наёмник Сом
3.5
Call of Pripyat Complete
3.7
День одиночки
1.6
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  А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
    Российская Федерация  Rezon
    Воскресенье, 19.01.2014, 15:26 | Сообщение # 1291
    Статус:
    Бывалый:
    Сообщений: 665
    Награды: 2
    Регистрация: 27.08.2013

    Цитата FantomICW
    Rezon, а ты не хочешь логику объекта прописать через конфиг?

    Хочу, но не знаю как.
      Злобная реклама
    Воскресенье, 19.01.2014, 15:26
    Статус:
    Сообщений: 666
    Регистрация: 27.08.2013
    Украина  FantomICW
    Воскресенье, 19.01.2014, 15:29 | Сообщение # 1292
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Rezon, в configs/models/dynamic_objects.ltx добавь секцию. Вот, к примеру, сканнер со своей логикой, зафиксированной костью (т. е. жесткая привязка к локации, хоть и спавнится через логические скрипты):
    Код
    [jup_b209_ph_scanner]:physic_object
    $spawn                        = "dynamic_objects\scene_objects\jup_b209_ph_scanner"
    visual                        = dynamics\equipments\quest\scanner_anomaly.ogf
    custom_data       = scripts\jupiter\jup_b209_scanner.ltx
    startup_animation         = idle
    fixed_bones       = link
    story_id        = jup_b209_ph_scanner
      Злобная реклама
    Воскресенье, 19.01.2014, 15:29
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Rezon
    Воскресенье, 19.01.2014, 16:14 | Сообщение # 1293
    Статус:
    Бывалый:
    Сообщений: 665
    Награды: 2
    Регистрация: 27.08.2013

    Цитата FantomICW
    Rezon, в configs/models/dynamic_objects.ltx добавь секцию. Вот, к примеру, сканнер со своей логикой, зафиксированной костью (т. е. жесткая привязка к локации, хоть и спавнится через логические скрипты): Код[jup_b209_ph_scanner]:physic_object $spawn                        = "dynamic_objects\scene_objects\jup_b209_ph_scanner" visual                        = dynamics\equipments\quest\scanner_anomaly.ogf custom_data       = scripts\jupiter\jup_b209_scanner.ltx startup_animation         = idle fixed_bones       = link story_id        = jup_b209_ph_scanner

    А дальше:)
      Злобная реклама
    Воскресенье, 19.01.2014, 16:14
    Статус:
    Сообщений: 666
    Регистрация: 27.08.2013
    Украина  FantomICW
    Воскресенье, 19.01.2014, 16:18 | Сообщение # 1294
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Rezon, это просто секция объекта в конфиге. Там прописаны свойства, логика, стори_ид. Тебе нужно его заспавнить. Или логикой, или скриптом. В xr_effects.script есть шикарная функция spawn_object:
    Код
    function spawn_object(actor, obj, p)
       --' p[1] - секция кого спаунить
       --' p[2] - имя патрульного пути где спа унить.
      local spawn_sect = p[1]
      if spawn_sect == nil then
       abort("Wrong spawn section for 'spawn_object' function %s. For object %s", tostring(spawn_sect), obj:name())
      end

      local path_name = p[2]
      if path_name == nil then
       abort("Wrong path_name for 'spawn_object' function %s. For object %s", tostring(path_name), obj:name())
      end

      if not level.patrol_path_exists(path_name) then
       abort("Path %s doesnt exist. Function 'spawn_object' for object %s ", tostring(path_name), obj:name())
      end
      local ptr = patrol(path_name)
      local index = p[3] or 0
      local yaw = p[4] or 0

      --' printf("Spawning %s at %s, %s", tostring(p[1]), tostring(p[2]), tostring(p[3]))
      local se_obj = alife():create(spawn_sect,
             ptr:point(index),
             ptr:level_vertex_id(0),
             ptr:game_vertex_id(0))
      if IsStalker( nil, se_obj:clsid()) then
       se_obj:o_torso().yaw = yaw * math.pi / 180
      elseif se_obj:clsid() == clsid.script_phys then
       se_obj:set_yaw(yaw * math.pi / 180)
      end
    end

    Спавним функцией через скрипт:
    Код
    xr_effects.spawn_object(nil, nil, {"название_объекта", "вейпоинт"})

    Спавним функцией через логику:
    Код
    %=spawn_object(название_объекта:вейпоинт)%

    Вейпоинт добавляем в way_лока.ltx в алл.спавне. Новая игра при этом не понадобится.
      Злобная реклама
    Воскресенье, 19.01.2014, 16:18
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Rezon
    Воскресенье, 19.01.2014, 16:30 | Сообщение # 1295
    Статус:
    Бывалый:
    Сообщений: 665
    Награды: 2
    Регистрация: 27.08.2013

    Цитата FantomICW
    Rezon, это просто секция объекта в конфиге. Там прописаны свойства, логика, стори_ид. Тебе нужно его заспавнить. Или логикой, или скриптом. В xr_effects.script есть шикарная функция spawn_object: Кодfunction spawn_object(actor, obj, p)    --' p[1] - секция кого спаунить    --' p[2] - имя патрульного пути где спа унить.   local spawn_sect = p[1]   if spawn_sect == nil then    abort("Wrong spawn section for 'spawn_object' function %s. For object %s", tostring(spawn_sect), obj:name())   end   local path_name = p[2]   if path_name == nil then    abort("Wrong path_name for 'spawn_object' function %s. For object %s", tostring(path_name), obj:name())   end   if not level.patrol_path_exists(path_name) then    abort("Path %s doesnt exist. Function 'spawn_object' for object %s ", tostring(path_name), obj:name())   end   local ptr = patrol(path_name)   local index = p[3] or 0   local yaw = p[4] or 0   --' printf("Spawning %s at %s, %s", tostring(p[1]), tostring(p[2]), tostring(p[3]))   local se_obj = alife():create(spawn_sect,          ptr:point(index),          ptr:level_vertex_id(0),          ptr:game_vertex_id(0))   if IsStalker( nil, se_obj:clsid()) then    se_obj:o_torso().yaw = yaw * math.pi / 180   elseif se_obj:clsid() == clsid.script_phys then    se_obj:set_yaw(yaw * math.pi / 180)   end end Спавним функцией через скрипт: Кодxr_effects.spawn_object(nil, nil, {"название_объекта", "вейпоинт"}) Спавним функцией через логику: Код%=spawn_object(название_объекта:вейпоинт)% Вейпоинт добавляем в way_лока.ltx в алл.спавне. Новая игра при этом не понадобится.

    Можно подробнее? Я этими скриптами первый раз занимаюсь.
    Что такое ВэйПоинты?

    Добавлено (19.01.2014, 16:30)
    ---------------------------------------------
    Стоп, что-то понял. Кроме ВэйПоинтов.

      Злобная реклама
    Воскресенье, 19.01.2014, 16:30
    Статус:
    Сообщений: 666
    Регистрация: 27.08.2013
    Украина  stalker-MiX
    Воскресенье, 19.01.2014, 16:31 | Сообщение # 1296
    Статус:
    Неопытный:
    Сообщений: 534
    Награды: 2
    Регистрация: 20.02.2013

    Кстати ребята, много здесь говорилось о спавне предметов скриптом - а разворот их скриптом, (дирекшн) кто-то реализовывал, или нет, вообще в модинге?
      Злобная реклама
    Воскресенье, 19.01.2014, 16:31
    Статус:
    Сообщений: 666
    Регистрация: 20.02.2013
    Украина  FantomICW
    Воскресенье, 19.01.2014, 16:32 | Сообщение # 1297
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Цитата Rezon ()
    ВэйПоинты

    Некая единица пути. В выше указанном типе файла прописывается секция пути. Либо одна точка (в нашем случае, такое и нужно), либо много (для пути перемещения НПС, к примеру). Вот, как выглядит схематично:
    Код
    [секция]
    points = p0 ;Перечисляем через запятую все поинты (здесь только один - p0)

    ;Особенности точки p0
    p0:name = wp00   
    p0:flags = 0x1  ;Флаги (не столь важно, тоже нумерация задается начиная обычно с 0х1)   
    p0:position = -175.93258666992,8.4784708023071,-283.93695068359 ;Координаты x,y,z
    p0:game_vertex_id = 1172  ;gvid
    p0:level_vertex_id = 53778  ;lvid


    Добавлено (19.01.2014, 16:32)
    ---------------------------------------------
    stalker-MiX, Net Packet онли. И то, вроде только при спавне.
    Сообщение отредактировал FantomICW - Воскресенье, 19.01.2014, 16:32
      Злобная реклама
    Воскресенье, 19.01.2014, 16:32
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Украина  stalker-MiX
    Воскресенье, 19.01.2014, 16:35 | Сообщение # 1298
    Статус:
    Неопытный:
    Сообщений: 534
    Награды: 2
    Регистрация: 20.02.2013

    FantomICW, я знаю, что нет-пакетом только это сделать реально. Вопрос, существует ли такой скрипт в данный момент? smile
    Сообщение отредактировал stalker-MiX - Воскресенье, 19.01.2014, 16:36
      Злобная реклама
    Воскресенье, 19.01.2014, 16:35
    Статус:
    Сообщений: 666
    Регистрация: 20.02.2013
    Российская Федерация  Rezon
    Воскресенье, 19.01.2014, 16:39 | Сообщение # 1299
    Статус:
    Бывалый:
    Сообщений: 665
    Награды: 2
    Регистрация: 27.08.2013

    Цитата FantomICW ()
    Спавним функцией через логику:
    Код
    %=spawn_object(название_объекта:вейпоинт)%

    А где это прописать?
      Злобная реклама
    Воскресенье, 19.01.2014, 16:39
    Статус:
    Сообщений: 666
    Регистрация: 27.08.2013
    Российская Федерация  wind
    Воскресенье, 19.01.2014, 16:40 | Сообщение # 1300
    Reach mod + Slenderman
    Статус:
    Отмычка:
    Сообщений: 164
    Награды: 1
    Регистрация: 12.02.2011

    почему у меня монстры не могут ходить на новой карте? они простоя ходят на месте на карте есть аи сетка граф поинты вить нпс могут ходить, а эти нет
      Злобная реклама
    Воскресенье, 19.01.2014, 16:40
    Статус:
    Сообщений: 666
    Регистрация: 12.02.2011
    Российская Федерация  Rezon
    Воскресенье, 19.01.2014, 16:43 | Сообщение # 1301
    Статус:
    Бывалый:
    Сообщений: 665
    Награды: 2
    Регистрация: 27.08.2013

    Цитата wind
    почему у меня монстры не могут ходить на новой карте? они простоя ходят на месте на карте есть аи сетка граф поинты вить нпс могут ходить, а эти нет

    Логику неписей в студию.
      Злобная реклама
    Воскресенье, 19.01.2014, 16:43
    Статус:
    Сообщений: 666
    Регистрация: 27.08.2013
    Украина  FantomICW
    Воскресенье, 19.01.2014, 16:45 | Сообщение # 1302
    Проект Смерти Вопреки
    Статус:
    Опытный:
    Сообщений: 2259
    Награды: 8
    Регистрация: 06.01.2013

    Цитата Rezon ()
    А где это прописать?

    В логике любого объекта. Рестриктора, к примеру:
    Код
    [logic]
    active = sr_idle@start

    [sr_idle@start]
    on_info = sr_idle@nil %=spawn_object(название_объекта:вейпоинт)%

    [sr_idle@nil]
      Злобная реклама
    Воскресенье, 19.01.2014, 16:45
    Статус:
    Сообщений: 666
    Регистрация: 06.01.2013
    Российская Федерация  Rezon
    Воскресенье, 19.01.2014, 16:57 | Сообщение # 1303
    Статус:
    Бывалый:
    Сообщений: 665
    Награды: 2
    Регистрация: 27.08.2013

    Эх... не получилось.
    Мне просто нужна была секция спавна приёмника sad И ничего...
    FantomICW, спасибо за помощь.
      Злобная реклама
    Воскресенье, 19.01.2014, 16:57
    Статус:
    Сообщений: 666
    Регистрация: 27.08.2013
    Российская Федерация  Тортик-ложь
    Воскресенье, 19.01.2014, 16:59 | Сообщение # 1304
    Статус:
    Новичок:
    Сообщений: 220
    Награды: 0
    Регистрация: 19.12.2013

    Люди, подскажите пожалуйста функцию, которая произведёт на экране компа видео.
      Злобная реклама
    Воскресенье, 19.01.2014, 16:59
    Статус:
    Сообщений: 666
    Регистрация: 19.12.2013
    Российская Федерация  stryker_sqd
    Воскресенье, 19.01.2014, 17:01 | Сообщение # 1305

    Resident Evil
    Статус:
    Опытный:
    Сообщений: 2864
    Награды: 15
    Регистрация: 12.02.2013

    Ребят, такое дело. В общем добавил в свой мод на Зов Припяти новые стволы, теперь хочу чтобы при апгрейде была новая красивая иконка, сами иконки стволов есть, но как мне её выкрутить, чтобы она при апгрейде выглядела вот так...
    Прикрепления: 8328088.png (68.6 Kb)
      Злобная реклама
    Воскресенье, 19.01.2014, 17:01
    Статус:
    Сообщений: 666
    Регистрация: 12.02.2013
    Поиск: