Случайная подборка модов
История Борова
3.5
Another Zone Mod
4.3
Call of Chernobyl
4.5
Сезон катастроф: Агрессия
2.7
Сюжетное продолжение Чистого неба
4.1
Возвращение
3.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Архив - только для чтения
⚙ Модострой: Вопросница
Российская Федерация  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
Украина  BozKurt
Пятница, 15.12.2017, 00:18 | Сообщение # 9346
Статус:
Опытный:
Сообщений: 1753
Награды: 3
Регистрация: 25.05.2012

BoBaH_671, а зачем их вообще все проверять, если можно найти первый не выданный и забить на остальные?
Код
function check_info_nimble()
    local info_table = {"info_pm_nimble", "info_ak74_nimble", "info_fort_nimble"}
    for i = 1, #info_table do
        if not has_alife_info(info_table[i]) then
            return false
        end
    end
    return true
end


Можно, да, только вот это ничего не поменяет, в частности время выполнения. smile
BoBaH_671
Сообщение отредактировал BozKurt - Пятница, 15.12.2017, 00:18
  Злобная реклама
Пятница, 15.12.2017, 00:18
Статус:
Сообщений: 666
Регистрация: 25.05.2012
Российская Федерация  Graff46
Пятница, 15.12.2017, 02:53 | Сообщение # 9347
Новое Время
Статус:
Бывалый:
Сообщений: 867
Награды: 7
Регистрация: 02.05.2013

У меня вопрос: В ТЧ левел вертексы идут по порядку по номеру также как и в пространстве? Т. е. за 5 лВ на террейне идёт 6-й, не может быть такого, что 5 и 6 вертексы в разных углах локации?
  Злобная реклама
Пятница, 15.12.2017, 02:53
Статус:
Сообщений: 666
Регистрация: 02.05.2013
Российская Федерация  denis2000
Пятница, 15.12.2017, 10:59 | Сообщение # 9348
Время Альянса
Статус:
Ветеран:
Сообщений: 4070
Награды: 16
Регистрация: 19.07.2013

Graff46, Нет близость индексов не означает близость геометрическую.
  Злобная реклама
Пятница, 15.12.2017, 10:59
Статус:
Сообщений: 666
Регистрация: 19.07.2013
Украина  aleksstalker
Пятница, 15.12.2017, 18:50 | Сообщение # 9349
Статус:
Новичок:
Сообщений: 245
Награды: 2
Регистрация: 19.01.2017

сталкер тч: создал нпс, хотел прописать логику на патруль базы, но нпс тупо отказывается идти по точкам ?:

Логика в секции спавна:


Вей поинты
  Злобная реклама
Пятница, 15.12.2017, 18:50
Статус:
Сообщений: 666
Регистрация: 19.01.2017
Российская Федерация  YTroll
Пятница, 15.12.2017, 19:27 | Сообщение # 9350
Статус:
Бывалый:
Сообщений: 824
Награды: 13
Регистрация: 09.11.2012

подскажите пожалуйста, как корректно удалить вертолет из игры через скрипт, именно вертолет, а не НПС или предмет, желательно привести пример
  Злобная реклама
Пятница, 15.12.2017, 19:27
Статус:
Сообщений: 666
Регистрация: 09.11.2012
Коста Рика  Jargon
Пятница, 15.12.2017, 19:59 | Сообщение # 9351
X-Ray Multiplayer Extension
Статус:
Бывалый:
Сообщений: 1078
Награды: 3
Регистрация: 24.06.2012

YTroll,
Можно в логике прописать...
"...\S.T.A.L.K.E.R. - Clear Sky\gamedata\configs\scripts\marsh\mar_intro_lebedev_2.ltx"


Цитата aleksstalker ()
сталкер тч: создал нпс

Как же всё это по 100500 раз замусолено... Почитав комментарии только в этой теме можно довольно-таки много раз наткнуться на подобные вопросы и их решения.
Да и вообще, почему бы не использовать СДК? все же есть, даже оригинальные уровни в формате сдк чего раньше не было, там это проще сделать в 100 раз, зачем себе жизнь усложнять переворачивая тонны текста all спавна...
Сообщение отредактировал Jargon - Пятница, 15.12.2017, 20:07
  Злобная реклама
Пятница, 15.12.2017, 19:59
Статус:
Сообщений: 666
Регистрация: 24.06.2012
Российская Федерация  makdm
Пятница, 15.12.2017, 20:01 | Сообщение # 9352
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата YTroll ()
как корректно удалить вертолет из игры через скрипт,

Функция удаления объектов через скрипт - одна для всех объектов

alife():release( server_object, true )

Вопрос лишь в том: "Каким способом получить server_object ( серверный класс объекта )"
Тут способов несколько. Можно по метке story_id, можно по имени объекта, можно по классу или по секции с некоторыми ограничениями.
Выбирайте, что вам доступно.
  Злобная реклама
Пятница, 15.12.2017, 20:01
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  yobakun
Пятница, 15.12.2017, 20:02 | Сообщение # 9353
Статус:
Новичок:
Сообщений: 270
Награды: 5
Регистрация: 30.07.2016

Как проверить наличие алаф объекта в рестрикторе? Нужен аналог on_actor_inside через скрипты.
  Злобная реклама
Пятница, 15.12.2017, 20:02
Статус:
Сообщений: 666
Регистрация: 30.07.2016
Украина  aleksstalker
Пятница, 15.12.2017, 20:08 | Сообщение # 9354
Статус:
Новичок:
Сообщений: 245
Награды: 2
Регистрация: 19.01.2017

Jargon, СДК то проще, но с батниками к СДК 0.4 беда и беда, сылку дайте. И да почему так сразу "о боже ". Я просто спросил за логику патруля ? Может, что не так, а вы так сразу.)))
  Злобная реклама
Пятница, 15.12.2017, 20:08
Статус:
Сообщений: 666
Регистрация: 19.01.2017
Российская Федерация  makdm
Пятница, 15.12.2017, 20:12 | Сообщение # 9355
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

yobakun, для ЗП куча функций в файле xr_conditions.script:

function obj_in_zone(actor, zone, p)

function one_obj_in_zone(actor, zone, p)

function story_obj_in_zone_by_name (actor, npc, p)

function npc_in_zone(actor, npc, p)

Выбирайте ту, которая вам нужна.
  Злобная реклама
Пятница, 15.12.2017, 20:12
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  alanbrose
Пятница, 15.12.2017, 20:14 | Сообщение # 9356
Статус:
Отмычка:
Сообщений: 113
Награды: 4
Регистрация: 28.08.2015

BoBaH_671, огромное спасибо. Второй метод не сработал (возможно из-за моей криворукости). Сделал пронумерованные поршни с первым методом - диалог исчез. Я аж удивился, что получилось. smile
  Злобная реклама
Пятница, 15.12.2017, 20:14
Статус:
Сообщений: 666
Регистрация: 28.08.2015
Российская Федерация  YTroll
Пятница, 15.12.2017, 20:31 | Сообщение # 9357
Статус:
Бывалый:
Сообщений: 824
Награды: 13
Регистрация: 09.11.2012

Jargon , благодарю, но через логику для меня сложновато,

Цитата makdm ()
Функция удаления объектов через скрипт - одна для всех объектов

alife():release( server_object, true )

Вопрос лишь в том: "Каким способом получить server_object ( серверный класс объекта )"
Тут способов несколько. Можно по метке story_id, можно по имени объекта, можно по классу или по секции с некоторыми ограничениями.
Выбирайте, что вам доступно.

метки story_id, у вертолетов на ЧАЭС1 нет, что странно у БТР и солдат - есть, а у вертолетов нет,
а приведите пример удаления по имени объекта, вот имя одного вертолета в секциях спавна - aes_helicopter_0000
  Злобная реклама
Пятница, 15.12.2017, 20:31
Статус:
Сообщений: 666
Регистрация: 09.11.2012
Российская Федерация  makdm
Пятница, 15.12.2017, 20:51 | Сообщение # 9358
Время Альянса
Статус:
Опытный:
Сообщений: 1787
Награды: 19
Регистрация: 22.11.2012

Цитата YTroll ()
а приведите пример удаления по имени объекта,

Вызов функции;

remove_heli_by_name( "aes_helicopter_0000" )

Сама функция:

Код
function remove_heli_by_name( name )
    for k,v in pairs( db.heli ) do
        if string.find( v:name(), name ) ~= nil then
            alife():release(alife():object( k ), true)
           break
        end
    end
end    
Сообщение отредактировал makdm - Пятница, 15.12.2017, 20:55
  Злобная реклама
Пятница, 15.12.2017, 20:51
Статус:
Сообщений: 666
Регистрация: 22.11.2012
Российская Федерация  YTroll
Пятница, 15.12.2017, 21:08 | Сообщение # 9359
Статус:
Бывалый:
Сообщений: 824
Награды: 13
Регистрация: 09.11.2012

makdm , а во множественном числе т.е. удаление разом нескольких вертолетов, это будет выглядеть вот так?
Вызов функции;

remove_heli_by_name( "aes_helicopter_0000" )
remove_heli_by_name( "aes_helicopter_0001" )
remove_heli_by_name( "aes_helicopter_0002" )
remove_heli_by_name( "aes_helicopter_0003" )
remove_heli_by_name( "aes_helicopter_0004" )
remove_heli_by_name( "aes_helicopter_0007" )
remove_heli_by_name( "aes_helicopter_0008" )
remove_heli_by_name( "aes_helicopter_0009" )
remove_heli_by_name( "aes_helicopter_0010" )

Сама функция:

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

или как-то можно оптимизировать вызов функции?
Сообщение отредактировал YTroll - Пятница, 15.12.2017, 21:14
  Злобная реклама
Пятница, 15.12.2017, 21:08
Статус:
Сообщений: 666
Регистрация: 09.11.2012
Российская Федерация  Overfirst
Пятница, 15.12.2017, 21:12 | Сообщение # 9360
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

Цитата YTroll ()
а во множественном числе, это будет выглядеть вот так?

Код
for i = 0, 9 do
     remove_heli_by_name("aes_helicopter_000" .. i)
end
     remove_heli_by_name("aes_helicopter_0010")
  Злобная реклама
Пятница, 15.12.2017, 21:12
Статус:
Сообщений: 666
Регистрация: 11.06.2015
Поиск: