Перейти к контенту

Рекомендуемые сообщения

Привет, сталкеры!

Есть такие зомби, которые образуются из гниющих трупов сталкеров. Их section =  zombie_trup_fc.

Так вот, пока к ним не приблизиться почти вплотную, они находятся в спячке - лежат себе и всё. При приближении они просыпаются и идут в атаку.

Подскажите, как в скрипте определить, находится ли такой зомбарь в спячке или же он уже активен и ходит.

Или же не касаясь зомби, а вообще, как узнать, в каком состоянии движения (стоИт, идёт, бежит) находится монстр? 

Платформа ОП 2.2. 

Спасибо за внимание!

Ссылка на комментарий

С чем связана такая ошибка при ликвидации нпс? 

\death_manager.script:135: bad argument #1 to 'pairs' (table expected, got nil)

 

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

Ссылка на комментарий

@Balavnik , попробую погадать на кофейной гуще. У тебя платформа ТЧ, скрипт оригинальный. Тогда вылет связан с тем, что группировка непися не добавлена в death_manager.script, либо не прописана в конфигах death_manager'a.

  • Нравится 4
  • Смешно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий
30.09.2024 в 17:21, phalcor сказал:

как в скрипте определить, находится ли такой зомбарь в спячке или же он уже активен и ходит.

Сам себе отвечаю. Нашёл неожиданное решение узнать, стоит или лежит зомбак:

local dist = cobj:bone_position("bip01_head").y - cobj:position().y --высота головы над землёй
if dist < 0.2 then --лежит
  ...

 

Жаль, так и не нашёл прямого метода узнать положение тела монстра - всякие body_state и т.д. ничего не дали...

  • Нравится 2
Ссылка на комментарий

Какие параметры существуют у объекта self в bind_monsters? Хочу вытащить из него секцию, self.section равен nil.

 Платформа SoC.

Изменено пользователем Balavnik

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

Ссылка на комментарий

self.object – объект (мутант), для которого сработал вызов какого-то события (спавн, удаление, апдейт)

self.object:section() – секция мутанта, который обсчитывается в данный момент

  • Согласен 1
  • Полезно 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Смотрю в скрипт sound_theme.script...

В чём разница между:

ph_snd_themes["gar_bandits_seryi"] =   {[[characters_voice\scenario\garbage\grey_bandit_1]],
                    [[characters_voice\scenario\garbage\grey_bandit_2]],
                    [[characters_voice\scenario\garbage\grey_bandit_3]],
                    [[characters_voice\scenario\garbage\grey_bandit_4]],
                    [[characters_voice\scenario\garbage\grey_bandit_5]]}

и

ph_snd_themes["gar_bandits_seryi"] =   {"characters_voice\\scenario\\garbage\\grey_bandit_1",
                                        "characters_voice\\scenario\\garbage\\grey_bandit_2",
                                        "characters_voice\\scenario\\garbage\\grey_bandit_3",
                                        "characters_voice\\scenario\\garbage\\grey_bandit_4",
                                        "characters_voice\\scenario\\garbage\\grey_bandit_5"}

?

В первом случае это так оно закомментировано как неиспользуемое что ли?

Ссылка на комментарий

@Капрал Хикс [[ ]]Вроде бы означает игнорирование экранирования и системных символов.

  • Нравится 1
  • Полезно 2

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

Ссылка на комментарий

Можно ли скриптово узнать gvid и lvid по позиции? 

OGSR Engine.

 

@Капрал Хикс Что это? Не понимаю. Какой-то скрипт, или метод движка?

Добавлено  Купер,

По позиции кого, чего? Ингейм или отладка?

Здесь посмотреть, например, на предмет возможной реализации.

Заметка изменена

Осенний каламбур. Сентябрь - лето.

img.php?nick=Balavnik&sert=2&text=t6

Ссылка на комментарий

Ку, кто-нибудь разбирается в COC? Anomaly, барахольщики убегают хрен знает куда после перестрелки. Бессмертные. На ближайших смартах нет. Как бы им внедрить gps, что-бы понять куда они ходят?

Ссылка на комментарий

Возможно ли скриптово отследить подсвечивание названия предмета по клавише F, когда он рядом лежит?

 

Ссылка на комментарий

Подскажите, как заставить один гулаг (с НПС) игнорировать другой? (С одной собакой в нём...).

Изменено пользователем Капрал Хикс
Ссылка на комментарий

Создал скрипт для включения в ПДА меток на рестрикторы по названию их секции. Вылет с логом: 

 

Скрытый текст

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...:\games\s.t.a.l.k.e.r\gamedata\scripts\sander.script:382: attempt to index local 'sobj' (a nil value)

 

Сам код:

 

Скрытый текст

function yan_storyline_spot_add()
        for i = 1, 65534 do
            local sim = alife()
                if sim then
                    local sobj = sim:object(i)
                    if sobj and sobj:section_name() == "yan_storyline_ecolog_spot1"  or sobj:section_name() == "yan_storyline_ecolog_spot2" or sobj:section_name() == "yan_storyline_ecolog_spot3" or sobj:section_name() == "yan_storyline_ecolog_spot4" then
                        --    printf("level has sobj", sobj)
                        level.map_add_object_spot(sobj.id, "crlc_big", "storyline_yan_spot")
                    end
                end
        end
end

 

Ссылка на комментарий

1. Нужны скобки вокруг проверок имени: объект И (имя ИЛИ имя …)

 

2. При таком количестве проверок можно переделать код на сверку по списку:

local names = { name_1 = true, name_2 = true, … }

if sobj and names[ sobj:section_name() ] then …

  • Спасибо 1
  • Нравится 3

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Вопрос к знатокам ogsr:  как работает метод level.advance_game_time(dt_ms)?

Как я понял это скриптовая перемотка времени, но как оно работает?

Пытался протестировать метод через колбэк на юз предмета:

-- Тестируем метод перемотки времени
local uSect = obj:section() 
local dt_ms = 6*3600

function main( obj )
	if uSect == "conserva" then
		level.advance_game_time( dt_ms )
	end
end

но функция вызывает вылет.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
×
×
  • Создать...