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

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

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

@_Val_ секция получения инфопоршня при обыске трупа у меня, емнип, работает только из кастом даты.

  • Полезно 1

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 11 PRO x64 / Samsung Curved 27" x2

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

Чего такого можно сделать с логикой в спавне, чего не получится сделать в вынесенном файле.

Искал минут 15, всё ради тебя.

Изменено пользователем dPlayer
в теме полетела нумерация постов
  • Полезно 1
Ссылка на комментарий
Цитата

function del_out() for a=10,65634,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"esc_surprise_box_003") then          ---имя секции обьекта alife():release(obj,true) end end end 

Как добавить вместо одного удаляемого объекта список объектов, чтобы игра при этом не вылетала?

Стримы по STALKER и модам, twitch, ник SergGraduss. И группа ВК Бар "Ручная Химера. Для сталкеров. 
Анонсы стримов на АМК: https://www.amk-team.ru/forum/topic/14146-strimy-ot-serggraduss-ex-mutantt/

 

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

Как добавить вместо одного удаляемого объекта список объектов, чтобы игра при этом не вылетала?

function del_out()
local tbl = {['esc_surprise_box_003'] = true, ['esc_surprise_box_004'] = true --[[ и другие секции]]}
	for a=10,65634,1 do
		local obj=alife():object(a)
		if obj and tbl[obj:section_name()] then  ---имя секции обьекта, если вылетит в этой строке, то попробовать так: obj:section()
			alife():release(obj,true)
		end
	end
end 

 

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

@Graff46 Если делаю так
 

function del_out()
local tbl = {['esc_surprise_box_003'] = true, ['esc_bandit_outfit'] = true}
	for a=10,65634,1 do
		local obj=alife():object(a)
		if obj and tbl[obj:section()] then  
			alife():release(obj,true)
		end
	end
end 

то вылетает с логом attempt to call method 'section' (a nil value)

 

А если так 

 

function del_out()
local tbl = {['esc_surprise_box_003'] = true, ['esc_bandit_outfit'] = true}
	for a=10,65634,1 do
		local obj=alife():object(a)
		if obj and tbl[obj:section_name()] then  
			alife():release(obj,true)
		end
	end
end 

то объекты не удаляются.

Стримы по STALKER и модам, twitch, ник SergGraduss. И группа ВК Бар "Ручная Химера. Для сталкеров. 
Анонсы стримов на АМК: https://www.amk-team.ru/forum/topic/14146-strimy-ot-serggraduss-ex-mutantt/

 

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

@Mutantt 

function deletus() 
   for i, v in ipairs( {"agro_final_vert1", "agro_final_vert2", "agr_nii_heli", "agr_helicopter1", "agr_helicopter2", "agr_helicopter3", "agr_helicopter4" } ) do
      v = alife():object( v )
      if v then alife():release( v, true ) end
   end
end

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

AMD Athlon II X2 250, NVIDIA GTS 450, RAM 8.0 GB, WIN 7/64  правки Золотой Шар

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

Если делаю так

....

то вылетает с логом attempt to call method 'section' (a nil value)

А если так 

....

то объекты не удаляются.

В первом фрагменте кода вылет гарантирован, т.к. ф-ция object(...) класса alife_simulator возвращает серверный объект, у которого нет метода section().

Второй фрагмент вполне рабочий, а почему объекты не удаляются - разбирайся. Только ты знаешь, где у тебя это удаление вызывается...

Ссылка на комментарий
В 30.03.2018 в 01:06, Mutantt сказал:

то объекты не удаляются.

А если так попробовать:

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

if obj and tbl[obj:section_name()] then 
->		
if obj and tbl[obj:name()] then

 

Ради интереса...:biggrin:

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

Сначала следует определиться с тем, ЧТО хотим удалить.

obj:name() - это ИМЯ одного конкретного предмета (хотя через олспавн можно наплодить дублей, а потом удивляться, почему вылетает).

obj:section_name() - секция КОНФИГА, где описан предмет.

 

Кстати, опять же for a=10,65634,1 do - что конкретно хотим этим сказать ?

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

По поводу custom data [spawn] - это, как бы, не "логика", а условия выхода в онлайн. То есть, объект с самого старта болтается в игре, и эти условия люто, бешено проверяются всю игру.

Рекомендую просто добавить в апдейт актора побольше циклов типа for i = 1, 2G do function () return end, если мод слишком мало ресурсов процессора жрет.

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

for a=10,65634,1 do - что конкретно хотим этим сказать ?

3-им аргументом это шаг цикла, но он по умолчанию и так 1.

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

@nasar75 Спасибо, ваша функция работает.

Стримы по STALKER и модам, twitch, ник SergGraduss. И группа ВК Бар "Ручная Химера. Для сталкеров. 
Анонсы стримов на АМК: https://www.amk-team.ru/forum/topic/14146-strimy-ot-serggraduss-ex-mutantt/

 

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

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...