Случайная подборка модов
Вариант Омега 2
3.6
Последняя надежда
2.4
Тёмное Братство – Проклятые Зоной
3.1
Soc Style Addon 2.0
4.1
Nature Winter v2.3 Black Edition
3.9
Время Альянса 3. Связь Времен
3.4
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  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
Российская Федерация  yobakun
Пятница, 15.12.2017, 21:22 | Сообщение # 9361
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

makdm, не пойму как пользоваться, можно пример?

if one_obj_in_zone(actor, zone, p) then

actor - зачем?
zone - в моем случае "yan_smart_terrain_6_4_att"
p - объект?

Или так:
Код
if one_obj_in_zone(actor, "yan_smart_terrain_6_4_att", {obj = true}) then

?
Сообщение отредактировал yobakun - Пятница, 15.12.2017, 21:25
  Злобная реклама
Пятница, 15.12.2017, 21:22
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Российская Федерация  YTroll
Пятница, 15.12.2017, 21:22 | Сообщение # 9362
Статус:
Бывалый:
Сообщений: 824
Награды: 13
Регистрация: 09.11.2012

Цитата BoBaH_671 ()
for i = 0, 9 do
     remove_heli_by_name("aes_helicopter_000" .. i)
end
     remove_heli_by_name("aes_helicopter_0010")


т.е. это добавить в вызов самой функции,
получается применительно к фриплею OGSM 2.3.1 - вызов функции будет выглядеть вот так?

-- Засчитываем квестовые задания, удаляем квестовые предметы
-- Completing storyline tasks.
function set_complete_tasks()
if has_alife_info("aes2_monolit_teleport_ready_final") and not has_alife_info("freeplay") and (level.name()=="l12_stancia" or level.name()=="l12_stancia_2") then
db.actor:iterate_inventory(del_q_items,db.actor)
db.actor:give_info_portion("cit_fail_first_task")
db.actor:give_info_portion("freeplay")
db.actor:disable_info_portion("game_end")
db.gameover_credits_started = false
amk.start_timer("fpl", 1)
for i = 0, 9 do
remove_heli_by_name("aes_helicopter_000" .. i)
end
remove_heli_by_name("aes_helicopter_0010")
end
end
  Злобная реклама
Пятница, 15.12.2017, 21:22
Статус:
Сообщений: 666
Регистрация: 09.11.2012
Украина  BozKurt
Пятница, 15.12.2017, 22:13 | Сообщение # 9363
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

Цитата BoBaH_671 ()
Код
for i = 0, 9 do
     remove_heli_by_name("aes_helicopter_000" .. i)
end
     remove_heli_by_name("aes_helicopter_0010")

Можно так:
Код
for i = 0, 10 do
     remove_heli_by_name("aes_helicopter_00" .. string.format("%02d", i));
end
Сообщение отредактировал BozKurt - Пятница, 15.12.2017, 22:15
  Злобная реклама
Пятница, 15.12.2017, 22:13
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  makdm
Пятница, 15.12.2017, 22:14 | Сообщение # 9364
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата yobakun ()
не пойму как пользоваться, можно пример?

Всё зависит от того из логики какого объекта вы делаете проверку.
Вариантов два:
1. Из логики самого рестриктора.
2. Из логики НПС.

Я так понял, что вам нужна проверка из логики рестриктора. Тогда используйте функцию story_obj_in_zone_by_name, где параметр Р[1] - это story_id проверяемого объекта, а параметр p[2] - это имя вашего рестриктора.
  Злобная реклама
Пятница, 15.12.2017, 22:14
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  svo6o9a
Пятница, 15.12.2017, 22:29 | Сообщение # 9365
Статус:
Новичок:
Сообщений: 236
Награды: 2
Регистрация: 19.11.2017

Вылетает после того как сделал Смарт тереин
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...l.k.e.r. - Çîâ Ïðèïÿòè\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)
Сообщение отредактировал svo6o9a - Пятница, 15.12.2017, 22:30
  Злобная реклама
Пятница, 15.12.2017, 22:29
Статус:
Сообщений: 666
Регистрация: 19.11.2017
Коста Рика  Jargon
Пятница, 15.12.2017, 22:32 | Сообщение # 9366
X-Ray Multiplayer Extension
Статус:
Бывалый:
Сообщений: 1078
Награды: 3
Регистрация: 24.06.2012

Цитата svo6o9a ()
Вылетает после того как сделал Смарт тереин
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...l.k.e.r. - Çîâ Ïðèïÿòè\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil)

Его не просто нужно "Сделать", а еще и зарегистрировать, а если он еще и симуляционный то и локацию соответственно.
  Злобная реклама
Пятница, 15.12.2017, 22:32
Статус:
Сообщений: 666
Регистрация: 24.06.2012
Российская Федерация  svo6o9a
Пятница, 15.12.2017, 22:35 | Сообщение # 9367
Статус:
Новичок:
Сообщений: 236
Награды: 2
Регистрация: 19.11.2017

Цитата Jargon ()
Его не просто нужно "Сделать", а еще и зарегистрировать, а если он еще и симуляционный то и локацию соответственно.

Зарегистрировал. Я НПС делаю. И для них сделал смарт терейн. Движок-Зов Припяти, Локация-Припять
  Злобная реклама
Пятница, 15.12.2017, 22:35
Статус:
Сообщений: 666
Регистрация: 19.11.2017
Коста Рика  Jargon
Пятница, 15.12.2017, 22:43 | Сообщение # 9368
X-Ray Multiplayer Extension
Статус:
Бывалый:
Сообщений: 1078
Награды: 3
Регистрация: 24.06.2012

Цитата svo6o9a ()
Зарегистрировал. Я НПС делаю. И для них сделал смарт терейн. Движок-Зов Припяти, Локация-Припять

Раскладывай по полочкам что делал...
  Злобная реклама
Пятница, 15.12.2017, 22:43
Статус:
Сообщений: 666
Регистрация: 24.06.2012
Российская Федерация  makdm
Пятница, 15.12.2017, 22:44 | Сообщение # 9369
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата svo6o9a ()
Вылетает после того как сделал Смарт тереин

Ошибка в логике смарт-террейна.
  Злобная реклама
Пятница, 15.12.2017, 22:44
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  yobakun
Пятница, 15.12.2017, 23:05 | Сообщение # 9370
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

makdm, мне нужно удалить все аномалии из заданного рестриктора, но ведь у аномалий нет story_id. Как тогда быть?
  Злобная реклама
Пятница, 15.12.2017, 23:05
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Российская Федерация  makdm
Пятница, 15.12.2017, 23:33 | Сообщение # 9371
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата yobakun ()
мне нужно удалить все аномалии из заданного рестриктора,


А зачем вы их туда прописывали, если вам их нужно удалить?

Цитата yobakun ()
но ведь у аномалий нет story_id.

Аномалиям не то что story_id, но можно прописать и логику и они будут работать, как обычные рестрикторы. cool

Если удаление по сюжету, то пропишите им story_id и удаляйте традиционным способом для ЗП.
Если вы "ломаете" чью- то игру, то придется сделать несколько непростых телодвижений.
Вам какой вариант нужен?
Сообщение отредактировал makdm - Пятница, 15.12.2017, 23:35
  Злобная реклама
Пятница, 15.12.2017, 23:33
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  yobakun
Пятница, 15.12.2017, 23:46 | Сообщение # 9372
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

Цитата makdm ()
А зачем вы их туда прописывали, если вам их нужно удалить?

Динамические аномалии спавнятся там где это не нужно. Изменение настроек конфигов в данном случае не решает проблем.
Сейчас я сделал вот так
Код
    local t = db.zone_by_name["yan_smart_terrain_6_4_att"]
    if t and obj then
     if t:inside(obj:position()) then
      news_manager.send_tip(db.actor, "delete anomaly", 0, "default", 8000)
      alife():release(alife():object(obj), true)
     end
    end

Аномалии вроде бы удаляются, но только одна из, после чего скрипт зависает и при перезагрузке игры идет краш с логом "Параметр задан не верно".
  Злобная реклама
Пятница, 15.12.2017, 23:46
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Российская Федерация  makdm
Пятница, 15.12.2017, 23:56 | Сообщение # 9373
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

yobakun, вот с этого бы и начинали.
Скажу вам без лишней скромности.
Динамический спавн аномалий и их рассасывание при выбросе мною реализован в ПТО. Там аномалии при спавне "обходят" те места, в которых их присутствие нежелательно.
Смотрите скрипт xrs_random_anomaly.script
Таблица zone_off содержит имена рестрикторов, спавн аномалий внутри которых невозможен.
  Злобная реклама
Пятница, 15.12.2017, 23:56
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  yobakun
Суббота, 16.12.2017, 01:23 | Сообщение # 9374
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

makdm, интересно выглядит, но как спавнить аномалии не понятно. Пробовал для теста повесить функцию control_random_anomaly( spawn ) на предмет, но ничего не происходит.
Сообщение отредактировал yobakun - Суббота, 16.12.2017, 01:31
  Злобная реклама
Суббота, 16.12.2017, 01:23
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Украина  aleksstalker
Суббота, 16.12.2017, 01:43 | Сообщение # 9375
Статус:
Новичок:
Сообщений: 245
Награды: 2
Регистрация: 19.01.2017

Ребята, в заспавнил сквад монстряков. Все норм, но после убийства и приличной дистанции, и сна на 30 часов, респавн не прошол ?
Платформа зп.

  Злобная реклама
Суббота, 16.12.2017, 01:43
Статус:
Сообщений: 666
Регистрация: 19.01.2017
Поиск: