Случайная подборка модов
Сюжетное продолжение Чистого неба
4.1
Блудный сын
2.8
Плохая компания
4.0
Альтернатива 1.3.1
4.0
Old Story
4.1
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
Поиск: