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

[SoC] Ковыряемся в файлах


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

3 часа назад, tyto сказал:

покажите пожалуйста файликами , как это сделать.

Для начало нужно каждой аномалии прописать свой индивидуальный класс:

gamedata\scripts\class_registrator

Пример:

"ZS_BFUZZ",

"ZS_MBALD",

"ZE_MBALD",

И т.д.

 

Дитектору  прописать: 

gamedata\config\misc\items

 

zone_map_location_1 = anomaly_mosquito_bald_location

 

 

zone_map_location_2 = anomaly_mincer_location

И т.д.

 

И про это не забыть:

gamedata\config\ui\map_spots

 

<anomaly_mosquito_bald_location hint="anomaly_zone">

           <mini_map spot="anomaly_mosquito_bald_mini_spot"/>

</anomaly_mosquito_bald_location>

<anomaly_mosquito_bald_mini_spot x="0" y="0" width="16" height="16" alignment="c" stretch="1">

            <texture x="0" y="0" width="30" height="30">ui\ui_zone_spots</texture>

</anomaly_mosquito_bald_mini_spot>

И так каждую аномальную зону. 

 Файл с иконками, и координаты указываем свои. 

 

 

  • Согласен 1
  • Полезно 1
Ссылка на комментарий
48 минут назад, Артем25 сказал:

это прописать?

В конфиге ствола, вестимо. Не ленитесь пользоваться поиском по форуму и по файлам, вылет стандартнейший...

  • Согласен 4
Ссылка на комментарий
1 час назад, Капрал Хикс сказал:

В конфиге ствола, вестимо. Не ленитесь пользоваться поиском по форуму и по файлам, вылет стандартнейший...

Прописал ничего не помогает

  • Не нравится 2
Ссылка на комментарий
9 минут назад, Артем25 сказал:

ничего не помогает

Должна быть строка:

flame_particles = weapons\generic_weapon05 (или silencer_flame_particles = weapons\generic_weapon05)

вместо

flame_particles = weapons\generic_weapon0 (или silencer_flame_particles = weapons\generic_weapon0)

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

Здесь могла быть ваша реклама.

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

@Призрачный db.actor:item_in_slot(6):set_condition(значение)ГГ:броня:состояние(0…1).

Броник в слоте уже должен быть (иначе вылет), а вызов скрипта можно сделать, например, так:

Spoiler
[scripts\bind_stalker.script]
function actor_binder:info_callback(npc, info_id)
(+)
	if info_id == "storyline_actor_start" then		-- инфо "начало новой игры"
		db.actor:item_in_slot(6):set_condition(0.25)
	end

 

  • Спасибо 1

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

Шпаргалка

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

@I am Dead "Должен быть" = "скорее всего, уже есть" или "уже проверили, что есть".

@Призрачный Можно привязаться непосредственно к месту выдачи инфо-поршня начала игры, чтобы обойтись разовой проверкой:

Spoiler
[scripts\bind_stalker.script]
function actor_binder:update(delta)
	
	if self.bCheckStart then
		
		-- действие
		self.bCheckStart = false
	end
end

 

 

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

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

Шпаргалка

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

Народ, подскажите что я делаю не так. 

Из мода "A" выдернул из all.spawn новые аномалии, вставил их в all.spawn мода "B", acdc отказывается компилировать. Моды одинаковые, различие только в новых аномалиях. 

Такой лог выдаёт:

FATALL ERROR! 

Function: stkutils::scan::get_glass

Line: 1916

Description: cannot find clsid for class zone_hvatalka

Папку config из мода закинул в acdc

Всем спасибо, разобрался! 

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

Доброго вечера, товарищи у меня вопрос, неоднократно наблюдал ситуацию когда бандиты штурмуя лагерь на свалке техники выносили всех сталкеров до того как сталкеры успевали их заметить где и какой параметр надо изменить чтобы сталкеры могли замечать бандитов? и еще заметил что в некоторых лагерях сталкеры не используют фонарики хотя они есть в наличии(пример кордон свиноферма и ангар на свалке) как сие исправить?

Ссылка на комментарий
1 час назад, Связистт сказал:

где и какой параметр надо изменить чтобы сталкеры могли замечать бандитов?

Придётся переписывать логику и скрипты которые управляют ситуацией на кладбище брошенной техники.

Это старая проблема ещё с оригинала игры - зависание сталкеров и Беса. Исправлено в некоторых (например NLC7) модах.

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

@Связистт , sr_light.script глянь. Рестриктор с логикой на принудительное включение:

[logic]
active = sr_light

[sr_light]
light_on = true

Пример: bar_angar_light_restrictor из оригинала

  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

"Что-то давненько не задавал я глупых вопросов"(c)

Имеется таблица вида:

local table =
{
    ["string_1"] = {
                    ["string2"] = float_1, float_2,
                   },  
...  
    ["string_n"] = {
                    ["string_2n"] = float_1n, float_2n,
                   },
}

Требуется перебрать и получить значения: float_1 - float_2 , float_1n - float_2n

 

Товарищи программисты и знатоки, снимите с ручника неумейку. Вечно во вложениях путаюсь. :t1807:

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

@Купер 

В приведенной в качестве примера таблице явно чего-то не хватает. Рискну предположить, что значений "string2" в "string_1" будет несколько и каждое из них должно содержать пару значений float_1, float_2.
 

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

 

В этом случае таблица будет иметь вид:

local table_st =
{
    ["string_1"] = {
                    ["string21"] = { val1 = float_1, val2 = float_2 },
                    ["string22"] = { val1 = float_1, val2 = float_2 },
					...

                   },  
	...  
}

 

А перебор этого дела будет примерно таким:

local tbl
local st1
st1 = "string_1"	-- получаем значение "string_1"
tbl = table_st[st1]	-- ищем его в таблице
if tbl ~= nil then
	local st2
	st2 = "string_21"	-- получаем значение "string_21"
	tbl = tbl[st2]		-- снова ищем его в таблице
	if tbl ~= nil then
		-- используем найденный значения
		return math.random(tbl.val1, tbl.val2)
	end
end

 

 

 

 

Изменено пользователем WinCap
  • Нравится 1
  • Полезно 2

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

Ссылка на комментарий
Скрытый текст
function get_all_data_in_one_table()
local my_super_table = {
		[ "aaa" ] = {
					[ "q1" ] = { 23, 22 },
					[ "q12" ] = { 231, 221 },
					[ "q13" ] = { 232, 222 },
					},
		[ "bbb" ] = {
					[ "q2" ] = { 33, 32 },
					[ "q22" ] = { 331, 321 },
					[ "q23" ] = { 332, 322 },
					},
		[ "ccc" ] = {
					[ "q3" ] = { 43, 42 },
					[ "q32" ] = { 431, 421 },
					[ "q33" ] = { 432, 423 },
					},
		[ "ddd" ] ={
					[ "q4" ] = { 53, 52 },
					[ "q41" ] = { 531, 521 },
					[ "q42" ] = { 532, 522 },
					},
	}
	

local new_table_chaotic = {}
local new_count = 1
			for _, k in pairs ( my_super_table ) do
				-- получаем массив первого уровня вложенности в переменную k
				for i, data in pairs ( k ) do
					-- получаем массив второго уровня вложенности в переменную data
					for ii = 1, #data do
					-- data [ ii ] рандомное значение из конечных полей нашего data -массива, 
					-- можно сразу обрабатывать, а можно кучей свалить в новую таблицу
					new_table_chaotic[ new_count ] = data [ ii ]
					
					log2( "New count is %s, New element is %s", tostring(new_count), tostring (data [ ii ]) )
					new_count = new_count + 1
					end
				end
			end	
	-- важно - конечный список не будет по порядку, т.к. исходные значения полей первого и второго уровня вложенности - не числа 
end

 

 

@Купер  Можно и с вашим вариантом, только тоже предположила, что первый уровень вложенности может иметь несколько списков, а не один. Проверила по-быстрому - вроде работает )

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

След от кругов на воде - это тоже след (с)

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

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : .\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...he\gamedata\scripts\death_manager.script:155: attempt to index field '?' (a nil value)

Вылетает при убийстве любого НПС Подскажите в чем может быть проблема? 

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

         --' По каждому объекту необходимо получить количество
            local number = math.ceil(math.random(count_by_level[k].min, count_by_level[k].max))

 

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

@андрей дронав , NPC роздан предмет, секция которого не указана в \gamedata\config\misc\death_items_count.ltx (кол-во выпадающих предметов в зависимости от уровня сложности).

Изменено пользователем Купер
  • Согласен 2
  • Полезно 2
Ссылка на комментарий
4 минуты назад, Купер сказал:

@андрей дронав , NPC роздан предмет, секция которого не указана

Спасибо большое, буду разбираться! 

Я снова потерпел фиаско...

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

Expression    : error handler is invoked!
Function      : handler_base
File          : .\xrDebugNew.cpp
Line          : 753
Description   : application is aborting

Вылеты при НИ, если удаляю папку savedgames работает, не вылетает, сейвы не бьются. Но стоит тут же НИ вылет(((

Это вроде OGF модели что то, но я взял их из OGSM непонимаю в чем дело...

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

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

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

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

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

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

Войти

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

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