Случайная подборка модов
Парадокс: Начало
3.6
Время Альянса
2.9
Объединенный Пак - 2
3.7
Новый Арсенал 6. Революция
3.5
Долина Шорохов
4.5
Clear Sky Complete
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  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
Российская Федерация  makdm
Пятница, 15.12.2017, 23:33 | Сообщение # 9466
Время Альянса
Статус:
Опытный:
Сообщений: 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 | Сообщение # 9467
Статус:
Новичок:
Сообщений: 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 | Сообщение # 9468
Время Альянса
Статус:
Опытный:
Сообщений: 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 | Сообщение # 9469
Статус:
Новичок:
Сообщений: 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 | Сообщение # 9470
Статус:
Новичок:
Сообщений: 245
Награды: 2
Регистрация: 19.01.2017

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

  Злобная реклама
Суббота, 16.12.2017, 01:43
Статус:
Сообщений: 666
Регистрация: 19.01.2017
Российская Федерация  makdm
Суббота, 16.12.2017, 01:50 | Сообщение # 9471
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата yobakun ()
но как спавнить аномалии не понятно.

А чо там непонятного?
На локации ставится рестриктор с логикой:



В файл xr_effects.script пишем функцию:



Дальше разбирайтесь сами, если желание сделать дин.аномалии не пропадет. biggrin

Добавлено (16.12.2017, 01:50)
---------------------------------------------
aleksstalker, смарт прописан как симуляционный? Проверяйте.

  Злобная реклама
Суббота, 16.12.2017, 01:50
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Украина  aleksstalker
Суббота, 16.12.2017, 02:04 | Сообщение # 9472
Статус:
Новичок:
Сообщений: 245
Награды: 2
Регистрация: 19.01.2017

Да как симуляционный.
  Злобная реклама
Суббота, 16.12.2017, 02:04
Статус:
Сообщений: 666
Регистрация: 19.01.2017
Российская Федерация  makdm
Суббота, 16.12.2017, 02:07 | Сообщение # 9473
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата aleksstalker ()
Да как симуляционный.

Чудес не бывает.
Первое - прописываете сквад simulation_boar, как симуляционный.
Второе - прописываете смарт, как симуляционный.
Результат - спавн сквада.
Ищите ошибку.
  Злобная реклама
Суббота, 16.12.2017, 02:07
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  yobakun
Суббота, 16.12.2017, 03:11 | Сообщение # 9474
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

makdm, работает, но как-то неоднозначно все получилось. Спавн через нет пакеты пришлось заменить на data.shapes из-за вылета
Код
error]Expression : assertion failed

[error]Function : CCustomZone::CalcDistanceTo

[error]File : D:\prog_repository\sources\trunk\xrGame\CustomZone.cpp

[error]Line : 1469

[error]Description : nearest_s

Да и игра грузится ощутимо дольше, будто бы сам Сидорович по кордону бегает и эти аномалии расставляет.
Сообщение отредактировал yobakun - Суббота, 16.12.2017, 03:13
  Злобная реклама
Суббота, 16.12.2017, 03:11
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Российская Федерация  YTroll
Суббота, 16.12.2017, 03:38 | Сообщение # 9475
Статус:
Бывалый:
Сообщений: 824
Награды: 13
Регистрация: 09.11.2012

makdm , а как же правка ошибки 12,
-- alife():release(alife():object(item:id()), true) --ошибка 12
local obj = item and item:id()and alife():object(item:id()) --правка ошибки 12
if obj then alife():release( obj, true ) end --правка ошибки 12

вот этот код - alife():release(alife():object( k ), true)
разве тут не действует такая же ошибка?

посмотрел так же у Камикадзе, у него вместо -
alife():release(alife():object(id), true)

при удалении оружия или артефакта -
local obj = alife():object(i)
if obj then
alife():release(obj, true)
end

итого функция выглядит вот так -

function remove_heli_by_name( name )
for k,v in pairs( db.heli ) do
if string.find( v:name(), name ) ~= nil then
local obj = alife():object( k )
if obj then
alife():release(obj, true)
end
break
end
end
end

это правильно?
Сообщение отредактировал YTroll - Суббота, 16.12.2017, 04:28
  Злобная реклама
Суббота, 16.12.2017, 03:38
Статус:
Сообщений: 666
Регистрация: 09.11.2012
Российская Федерация  makdm
Суббота, 16.12.2017, 11:11 | Сообщение # 9476
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата yobakun ()
Да и игра грузится ощутимо дольше, будто бы сам Сидорович по кордону бегает и эти аномалии расставляет.

Именно так и происходит. Только аномалии расставляет не Сидорович, а движок.

Цитата YTroll ()
local obj = alife():object( k )
if obj then
alife():release(obj, true)
end

Цитата YTroll ()
это правильно?

Правильно. Но в данном случае лишнее.
  Злобная реклама
Суббота, 16.12.2017, 11:11
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  YTroll
Суббота, 16.12.2017, 16:09 | Сообщение # 9477
Статус:
Бывалый:
Сообщений: 824
Награды: 13
Регистрация: 09.11.2012

makdm , а как же статья от Kamikazze -

Как писать скрипты, не приводящие к вылетам и бою сейвов (часть 2)

Вылеты при удалении объектов из игры

При использовании для удаления объектов родной движковой функции alife():release(alife():object(id), true) возможен целый ворох разнообразнейших вылетов, обычно - безлоговых, что сильно затрудняет их отладку. Вот из-за чего они возникают:

2) Вылет при удалении оружия или артефакта.
Решение: такая проблема часто встречается в случае если объект неудачно расположен или находится в руках у непися. Для того чтобы не произошло вылета, убедитесь что объект доступен как серверный перед удалением. Вот так:
local obj = alife():object(i)
if obj then
alife():release(obj, true)
end
Эту конструкцию вообще желательно использовать всегда, когда вы так удаляете объекты.

http://stalkerin.gameru.net/wiki....ть_2%29

вроде бы вертолеты не артефакты или оружие, но они могут использоваться в этот момент скриптовой схемой, на ЧАЭС1 - это атака вертолетов на станцию, на монолитовцев и ГГ, или тут есть какая-то особенность?
  Злобная реклама
Суббота, 16.12.2017, 16:09
Статус:
Сообщений: 666
Регистрация: 09.11.2012
Российская Федерация  yobakun
Суббота, 16.12.2017, 16:53 | Сообщение # 9478
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

Цитата makdm ()
Именно так и происходит

Тогда почему в DoctorX Dynamic Anomalies такого нет?
  Злобная реклама
Суббота, 16.12.2017, 16:53
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Украина  AngryWolf
Суббота, 16.12.2017, 17:23 | Сообщение # 9479
Статус:
Гость:
Сообщений: 55
Награды: 1
Регистрация: 16.11.2017

Здравствуйте! Хотелось бы узнать как реализовать интерфейс на 3d модели. Допустим, как ПДА в gunslinger mod. Либо например реализация цифровых часов, и на экране выводить игровое время на руке у главного героя (как в игре Метро 2033). Спасибо.

Сообщение отредактировал AngryWolf - Суббота, 16.12.2017, 17:24
  Злобная реклама
Суббота, 16.12.2017, 17:23
Статус:
Сообщений: 666
Регистрация: 16.11.2017
Российская Федерация  atanda
Суббота, 16.12.2017, 17:41 | Сообщение # 9480
Статус:
Бывалый:
Сообщений: 672
Награды: 7
Регистрация: 12.07.2017

AngryWolf, честно. Скриптовыми методами - никак. В ЗП, на примере детекторов, это реализовано в двигле. Просто идёт рендеринг.


Вы амбициозный, но ваши амбиции ничем не обоснованы.
Сообщение отредактировал buffy - Суббота, 16.12.2017, 17:44
  Злобная реклама
Суббота, 16.12.2017, 17:41
Статус:
Сообщений: 666
Регистрация: 12.07.2017
Поиск: