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

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

@DibokDibokin, попробуй так:

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

local is_box = { 
    ["dynamics\\box\\box_wood_01"] = true,
    ["dynamics\\box\\box_metall_01"] = true,
    ["dynamics\\box\\box_paper"] = true,
}

function show_boxes()
    for i=1,65535 do
		local s_obj = alife():object(i)
		if s_obj ~= nil then
			local c_obj = level.object_by_id(s_obj.id)
			if (c_obj and is_box[c_obj:get_visual_name()]) then
				level.map_add_object_spot_ser(s_obj.id, "warfare_stalker_spot", "box")
			end
		end
    end
end

 

 

  • Спасибо 1
  • Согласен 2

S.T.A.L.K.E.R. CoP Objects (upd 28.10.24)

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

@WinCap@DibokDibokin

Если есть таблица, из которой мы выдергиваем признак того, что объект у нас инв.ящик, так может правильнее сделать таким признаком story_id? Т.е. вместо перебора 65тыщ объектов перебрать несколько объектов из таблицы, получая объект по его story_id?

 

Просмотрел несколько страниц назад, не нашел изначальный вопрос @DibokDibokin. Из обсуждения понятно, что надо поставить метку на объект, но вот условия, когда ее надо ставить?

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

@WinCap, Среди объектов иногда бывают такие, у которых нету визуала. Смарты например. Попытка с колес использовать его "визуал" в качестве ключа таблицы, к нехорошим последствиям привести может :rolleyes:

 

@DibokDibokin


local is_box = { 
    ["dynamics\\box\\box_wood_01"] = true,
    ["dynamics\\box\\box_metall_01"] = true,
    ["dynamics\\box\\box_paper"] = true,
}

function show_boxes()
	printf("show_boxes run")
    for i=1,65535 do
		local s_obj = alife():object(i)
		if s_obj ~= nil then
			local c_obj = level.object_by_id(s_obj.id)
			if (c_obj) then
				local visual = c_obj:get_visual_name()
				if (visual and visual ~= "" and is_box[visual]) then
					printf(string.format("box object [%s:%i] detected. visual=%s", c_obj:section(), s_obj.id, visual))
					level.map_add_object_spot_ser(s_obj.id, "warfare_stalker_spot", "box")
				end
			end
		end
    end
	printf("show_boxes complete")
end

Готовый вариант, безопасный с точки зрения работы с таблицами, и снабженный выводами в лог, емнип, не требующими подключения сторонних библиотек к оригиналу. printf ведь работает в оригинале? :crazy2: кто помнит.

 

  • Спасибо 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Zander_driver, вот и проверит, если будут вылет с руганью на эту строчку, значит не работает:crazy2:.

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

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

UriZzz.gif

Ссылка на комментарий
2 часа назад, AndreySol сказал:

может правильнее сделать таким признаком story_id? Т.е. вместо перебора 65тыщ объектов

Из вопросов @DibokDibokin, по-моему, никак не следует, что интересующие ящики вообще story_id имеют.

А возникающие какие-либо задачи лучше решать без привлечения сторонних-дополнительных сущностей, если это возможно и удобно. имха.

Только что, UriZzz сказал:

если будут вылет

Его-то точно не будет. Куча printf-ов есть в скриптах оригинала, не закомментированных. Другое дело, они там в лог пишут или молча игнорируются... я не помню. Помню что на заре моддинга зачем-то строились монструозные костыли для вывода инфы в логи через консоль. А зачем и почему это делалось, уже не помню, хоть убейте.

  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
56 минут назад, Zander_driver сказал:

А зачем и почему это делалось, уже не помню, хоть убейте.

Затем, что принтф не работает в оригиналах :)

  • Спасибо 1
  • Согласен 1
Ссылка на комментарий
2 часа назад, abramcumner сказал:

принтф не работает в оригиналах

Ужас. И всякие log_что-нибудь тоже.

Давно там не ковырялся, успел позабыть, насколько все было плохо)

А ведь пожалуй, OGSR движок вообще любому начинающему ковыряльщику рекомендовать можно, дружелюбнее он к разработчику. Особенно начинающему.

@DibokDibokin, возьми на заметку)

  • Спасибо 1
  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

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

@Kirgudu, про ЧН это слишком. Там я и еще пара пасонов.

Вот в ЗП - это возможно.

 

И еще, зачем вы в ОГСМ ГГ убили? Вы на ГГ, еще одного ГГ навесили? :biggrin:

Изменено пользователем Опричник

andreyholkin.gif

rod_cccp.gif

 

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

Никто не подскажет, что за интересное написание логики непися в поинте (ЗП) - ""wp00|a=sit_ass""? Первый раз встретил такое, это чей-то мод небольшой, старенький.

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

@Expropriator, я не об этом, это понятно, я про двойные скобки.

ПыСы. Самое интересное, что этот мод работает.

Изменено пользователем mdm64
  • Сочувствую 1
Ссылка на комментарий

@mdm64, может потому, что там один вейпоинт вообще, а не цепь.

Что то даже не знаю.

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

andreyholkin.gif

rod_cccp.gif

 

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

@Expropriator, Там плотно заселённые средних размеров две локации плюс полный ЗП. На каждой локе несколько смартов, в общей сложности десятка два отрядов плюс мутанты.... и на каждый отряд своя точка спавна, почти все неписи спавнятся через поинты, кроме уников.

Да, такой вопрос - можно ли управлять в ЗП отрядом, используя цепочку поинтов, как для одно сталкера? Помнится, в ТЧ это было возможно, а в ЗП что-то не видел нигде. Если можно, то как?

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

@mdm64, наверно можно. Твой теза mkdm в последних модах (Припять точка отсчета) такое вытворял Там группу нужно было сопровождать, что бы их не убили.

Изменено пользователем Expropriator
  • Полезно 1

andreyholkin.gif

rod_cccp.gif

 

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

@Expropriator, Ага, вспомнил, вроде такое было в SGM, когда Дегтярёв сопровождал группу учёных на Юпитере от учёного бункера до вентиляционного комплекса. Только вот проблемка - не могу распаковать ни одну из локаций СГМ, декомпилятор валится стабильно с критическими ошибками. а так посмотрел бы, конечно...

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

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

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

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

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

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

Войти

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

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...