Случайная подборка модов
Add-on for S.T.A.L.K.E.R. Beta
3.9
Апокалипсис
4.0
Хроники Кайдана
3.6
SZM CoP 0.2
3.9
Наёмник Сом
3.5
Как вступить в "Долг"?
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
Модострой:Вопросница
Российская Федерация  А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
    Российская Федерация  strchi
    Воскресенье, 15.11.2015, 13:28 | Сообщение # 8521
    Статус:
    Опытный:
    Сообщений: 2467
    Награды: 13
    Регистрация: 05.10.2012

    Цитата DarkSatellite ()
    И ещё: можно ли сделать рандом через all.spawn?

    Вроде нет, да и зачем, если скриптами спавнить легче?
      Злобная реклама
    Воскресенье, 15.11.2015, 13:28
    Статус:
    Сообщений: 666
    Регистрация: 05.10.2012
    Российская Федерация  makdm
    Воскресенье, 15.11.2015, 14:01 | Сообщение # 8522
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата DarkSatellite ()
    можно ли сделать рандом через all.spawn?

    Чего рандом? Если вы хотите чтобы НПС проспавнился например, рандомно из ПЯТИ мест на локации, то это и делается с помощью all.spawn
    В all.spawn в WAY файле прописываете ПЯТЬ точек рандомного спавна, например: [point_1], [point_2], [point_3], [point_4], [point_5]
    Теперь сама функция спавна, пишу для ЗП:

    Код
          function spawn_random_corpse()
                 local spawn_sect = "Секция_вашего_нпс"
                 local ways = { "point_1","point_2","point_3","point_4","point_5" }
                 local path_name= ways[ math.random( #ways ) ]
                 local ptr = patrol( path_name )
                 local se_obj = alife():create(spawn_sect, ptr:point(0),    ptr:level_vertex_id(0),    ptr:game_vertex_id(0))
                 se_obj:kill()
    end
    Сообщение отредактировал makdm - Воскресенье, 15.11.2015, 14:03
      Злобная реклама
    Воскресенье, 15.11.2015, 14:01
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  _Val_
    Воскресенье, 15.11.2015, 14:28 | Сообщение # 8523
    Ф.О.Т.О.Г.Р.А.Ф
    Статус:
    Бывалый:
    Сообщений: 1063
    Награды: 5
    Регистрация: 20.01.2012

    Цитата makdm ()
    Чего рандом? Если вы хотите чтобы НПС проспавнился например, рандомно из ПЯТИ мест на локации, то это и делается с помощью all.spawn

    Зачем захламлять олл_спавн таблицами рандомного спавна?
    Пять трупов, десять стволов, тыща тайников...
    Действительно - как сказал strchi, это лётом делается через скрипт.
    Функция с таблицей для ТЧ-АМК.
    Код
    local kombeztrup={
    {
        position={x=321.362976,y=-6.145108,z=-14.496446},
        lv=1440312,
        gv=790
        },
    {
        position={x=298.490906,y=-0.204438,z=-71.114433},
        lv=1397660,
        gv=790
        },
    {
        position={x=-358.887756,y=-19.556574,z=205.255493},
        lv=251716,
        gv=779
        }
    }

    function kombez_trup_spawn()
    local a = kombeztrup[math.random(table.getn(kombeztrup))]
    local obj = alife():create("ivanov_trup", vector():set(a.position.x,a.position.y,a.position.z), a.lv, a.gv)
    local tbl = amk.read_stalker_params(obj)
    --tbl.sid = 30350
    tbl.sid = 9702
    tbl.health = 0
    tbl.updhealth = 0
    amk.write_stalker_params(tbl, obj)
    end

    Для придачи трупику любого направления, насколько понимаю - нужно использовать модули Артоса...
    Сообщение отредактировал _Val_ - Воскресенье, 15.11.2015, 14:36
      Злобная реклама
    Воскресенье, 15.11.2015, 14:28
    Статус:
    Сообщений: 666
    Регистрация: 20.01.2012
    Российская Федерация  makdm
    Воскресенье, 15.11.2015, 14:37 | Сообщение # 8524
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата _Val_ ()
    Зачем захламлять олл_спавн таблицами рандомного спавна?

    А зачем, по вашему тогда мнению, нужен вообще all.spawn ?

    А теперь сравните свою "портянку" с моей компактной функцией.

    Причём мою функцию можно сделать универсальной и ещё короче, вот такой:

    Код
    function spawn_random_corpse(spawn_sect, ways)
                 local ptr = patrol( ways[ math.random( #ways ) ] )
                 local se_obj = alife():create(spawn_sect, ptr:point(0),    ptr:level_vertex_id(0),    ptr:game_vertex_id(0))
                 se_obj:kill()
    end


    А вызов функции такой:
    local ways = { "point_1","point_2","point_3","point_4","point_5" }
    spawn_random_corpse( "Секция_НПС", ways )
    Сообщение отредактировал makdm - Воскресенье, 15.11.2015, 14:45
      Злобная реклама
    Воскресенье, 15.11.2015, 14:37
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  _Val_
    Воскресенье, 15.11.2015, 15:21 | Сообщение # 8525
    Ф.О.Т.О.Г.Р.А.Ф
    Статус:
    Бывалый:
    Сообщений: 1063
    Награды: 5
    Регистрация: 20.01.2012

    Цитата makdm ()
    зачем, по вашему тогда мнению, нужен вообще all.spawn ?

    Ну да, я тоже об этом задумывался))
      Злобная реклама
    Воскресенье, 15.11.2015, 15:21
    Статус:
    Сообщений: 666
    Регистрация: 20.01.2012
    Российская Федерация  strchi
    Воскресенье, 15.11.2015, 15:25 | Сообщение # 8526
    Статус:
    Опытный:
    Сообщений: 2467
    Награды: 13
    Регистрация: 05.10.2012

    Цитата makdm ()
    А зачем, по вашему тогда мнению, нужен вообще all.spawn ?

    Я его частично очистил и юзаю исключительно скрипты, так легче управлять спавном без всякой компиляции и геморроя smile
      Злобная реклама
    Воскресенье, 15.11.2015, 15:25
    Статус:
    Сообщений: 666
    Регистрация: 05.10.2012
    Российская Федерация  makdm
    Воскресенье, 15.11.2015, 15:49 | Сообщение # 8527
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата _Val_ ()
    Ну да, я тоже об этом задумывался

    Здесь вопрос чисто риторический.
    Мне, например, делать через all.spawn удобнее.
    Поэтому всегда и всё максимально прописываю в all.spawn
    А цифры в скриптах - так это для меня вообще полный ужас! Прямо средневековье в скриптах какое-то.

    Цитата strchi ()
    юзаю исключительно скрипты, так легче управлять спавном без всякой компиляции

    Я и пишу, что кому-как удобнее.
    Но это не говорит о том, что это - правильно или неправильно.
      Злобная реклама
    Воскресенье, 15.11.2015, 15:49
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  strchi
    Воскресенье, 15.11.2015, 15:51 | Сообщение # 8528
    Статус:
    Опытный:
    Сообщений: 2467
    Награды: 13
    Регистрация: 05.10.2012

    Цитата makdm ()
    Но это не говорит о том, что это - правильно или неправильно.

    Кстати о скриптах, хотел спросить, а можно-ли скриптом спавнить аномальную зону? То-есть у меня такой план, днем одна активна а ночью нет, сделал скрипт на время, но вот активацию анималии не могу, вылет с отсылкой на bind_stalker
      Злобная реклама
    Воскресенье, 15.11.2015, 15:51
    Статус:
    Сообщений: 666
    Регистрация: 05.10.2012
    Российская Федерация  makdm
    Воскресенье, 15.11.2015, 16:16 | Сообщение # 8529
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата strchi ()
    а можно-ли скриптом спавнить аномальную зону?

    Не путайте аномальную зону и аномалию.
    Абсолютно разные объекты в Сталкере и имеют абсолютно разное предназначение.

    Так вам нужна аномалия или аномальная зона ???
      Злобная реклама
    Воскресенье, 15.11.2015, 16:16
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  strchi
    Воскресенье, 15.11.2015, 16:56 | Сообщение # 8530
    Статус:
    Опытный:
    Сообщений: 2467
    Награды: 13
    Регистрация: 05.10.2012

    makdm, Я про аномальную зону в ЗП, куча аномалий
      Злобная реклама
    Воскресенье, 15.11.2015, 16:56
    Статус:
    Сообщений: 666
    Регистрация: 05.10.2012
    Украина  _S_k_i_F_
    Воскресенье, 15.11.2015, 17:36 | Сообщение # 8531
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    strchi, аномальная зона - это места в котором спавнятся артефакты, если ты хочешь скопление аномалий (без артов), то расставляй аномалии рядом, а потом уже можешь туда аномальную зону впихнуть.
      Злобная реклама
    Воскресенье, 15.11.2015, 17:36
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  makdm
    Воскресенье, 15.11.2015, 17:55 | Сообщение # 8532
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    strchi, делается это просто, правда без нелюбимого вами all.spawn не обойтись.
    Я покажу на примере ТРЁХ аномалий:
    1. В all.spawn ставите ТРИ аномалии и прописываете им в custom_data параметр story_id
    Например для каждой из трёх аномалий пропишем



    2. Открываем файл bind_anomaly_field.script и в самом верху файла пишем



    3. В метод anomaly_field_binder:update(delta) добавляем:



    Вот и всё! Теперь с 9 утра до 21 вечера аномалии будут видны, а с 21 до 9 утра - отключены.
    Сообщение отредактировал makdm - Воскресенье, 15.11.2015, 18:01
      Злобная реклама
    Воскресенье, 15.11.2015, 17:55
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Украина  _S_k_i_F_
    Воскресенье, 15.11.2015, 19:43 | Сообщение # 8533
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    Скажите, а анимации из библиотеки вырезанных анимаций будут работать в ЗП?

    Зараннее спасибо!
      Злобная реклама
    Воскресенье, 15.11.2015, 19:43
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  denis2000
    Воскресенье, 15.11.2015, 20:31 | Сообщение # 8534
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    _S_k_i_F_, Откуда вырезаны анимации?
    Я лично добавлял анимации типа:
    Стоит и держится одной рукой за бок и тяжело дышит (Раненый)
    Раненый НПС хромая идёт вперёд.
    Без проблем работали в ЗП, поскольку вырезаны из ЧН (скелет НПС одинаковый). Более того в ЗП и ЧН есть много неиспользованных анимаций.
    Сообщение отредактировал denis2000 - Воскресенье, 15.11.2015, 20:34
      Злобная реклама
    Воскресенье, 15.11.2015, 20:31
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Украина  _S_k_i_F_
    Воскресенье, 15.11.2015, 20:57 | Сообщение # 8535
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    denis2000, а где можно найти эти неиспользованные анимации из ЧН и ЗП?
      Злобная реклама
    Воскресенье, 15.11.2015, 20:57
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Поиск: