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

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


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

Народ подскажите за что именно отвечают эти праметры:

critical_wound_threshold = 0.3

critical_wound_decrease_quant = 50.

body_parts_section_id = critical_wound_body_parts_section

critical_wound_weights = 100,50,10

 

Хочу сделать так чтобы непси валиллись как можно чаще ранеными а не дохли.

Изменял параметры (менял 10 на значения повише вплость до 70):

def.hp_state = "10|"..state.."@help_heavy"

def.hp_state_see = "10|"..state.."@help_heavy"

 

Однако никакого эффекта не было. Непси так и не падали ранеными.

Может кто знает как это сдлелать? Буду очень балгодарен.

 

@Elz, у меня Народная Солянка стоит

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

В разработке НС расписывал. Там ошибка в скрипте + параметры гвоздями прибитые.

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

@Dennis_Chikin, плохо. очень плохо.  а это возможно как-то исправть?  Без раненых как-то скучновато играть /=

 

http://www.amk-team.ru/forum/index.php?showtopic=12766&p=819347

http://www.amk-team.ru/forum/index.php?showtopic=8830&p=826670

dc

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

Нужно вывести стандартное текстовое сообщение, конструкции вида:

function message()
    news_manager.send_tip(db.actor, "%c[255,255,128,128]Автор сообщения\n%c[default]Текст сообщения", 0, "wolf", 17000)
end

или

local text = "текст"
function test()
    news_manager.send_tip(db.actor, text, 0, "trader", 20000)
end

не подходят, т.к. не имеется возможности настроить отображаемую иконку отправителя. Попробовал так (вызывается из спейс-рестриктора, предварительно пройдя через xr_conditions.script):

 

function restrictor_alex_squad_send_sos_signal()
	local alex_squad_send_sos_signal = alex_mod_tasks.alex_squad_send_sos_signal() == true
end 

 

 

function alex_squad_send_sos_signal()
	local alex_squad_sos_signal_text = "Мужики, выручайте! На мою группу напал отряд 'монолитовцев', мы на Генераторах - тут нет излучения! Координаты прилагаю."
	db.actor:give_game_news(alex_squad_sos_signal_text, "ui\\ui_iconsTotal",Frect():set(498,282,83,47), 0, 7000)
end

- работает криво. Дублируется раз 10 и вместо текста вываливаются "кракозябры", да и иконка отображается дефолтная.

aka Stalker_AleX333
 
Мои проекты  - ЯндексДиск   |   Я на Gamer-Mods.ru

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

, религия не позволяет схему глянуть?

function set_scheme(obj, ini, scheme, section, gulag_name)
local st = xr_logic.assign_storage_and_bind(obj, ini, scheme, section)
st.logic = xr_logic.cfg_get_switch_conditions(ini, section, obj)

st.info     = utils.cfg_get_string( ini, section, "name",     obj, true,  "", "" )
st.type     = utils.cfg_get_string( ini, section, "type",     obj, false, "", "news" )
st.sender   = utils.cfg_get_string( ini, section, "sender",   obj, false, "", nil ) --// вот твой отправитель
st.timeout  = utils.cfg_get_number( ini, section, "timeout",  obj, false,     nil )
st.showtime = utils.cfg_get_number( ini, section, "showtime", obj, false,     nil )
st.single   = utils.cfg_get_bool  ( ini, section, "single",   obj, false, false)

st.conditions = xr_logic.cfg_get_condlist( ini, section, "cond", obj )
end

Например:

[logic]
active = sr_idle
 
[sr_idle]
on_actor_inside = sr_tip --// типс выпадает на входе
 
[sr_tip]
name = rad_barman_spam 
type = tips --// в оригинале не используется
cond = {+bar_deactivate_radar_done} 
sender = barman --// твой отправитель
on_actor_inside = nil
showtime = 25000
Ссылка на комментарий

Stalker_AleX333, в news_manager.script в секции tips_icons прописываешь свою иконку (должна быть в ui_iconstotal.dds) с координатами. Затем уже при выводе своего сообщения используешь ее

function message()
news_manager.send_tip(db.actor, "твое_сообщение", 0, "твоя_иконка", 17000)
end

Неважно – сколько у тебя друзей. Важно - сколько из них помогут тебе в трудную минуту и сколько вспомнят о тебе когда им хорошо.

"Худ" и "Умное выпадание частей монстров" для Народной солянки

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

, в news_manager.script есть таблица tips_icons. В ней название отправителя и координаты верхнего левого угла иконки. Добавь туда своих, и все.

yl59NI59OeI.jpg

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

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

40e7d7292974e3d4e01cda7a5427ce2e4d2df519

Они этого делать не хотят, где может прописаны они, как можно снять запрет на удаление их трупов. Это "череповцы".

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

@Хемуль36рус, универсальный вариант думаю можно сделать такой, при загрузке на АС (после убийства отряда Черепа) единожды получить все трупы, исключая квестовые, и удалить их. Но вообще советовал бы написать полноценный уборщик мусора с локаций (трупы/оружие/прочие предметы...), или же взять готовый (их предостаточно), наиболее тебе подходящий.

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

@Struck, уборщик от Сяка, но он их не убирает, я и из исключений все трупы удалил, всё равно валяются.

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

Вопрос по заданиям(task): активное задание можно выполнить - ...._complete, можно провалить - ...._fail, а можно ли его отменить ? Что-бы оно не попало ни в выполненные ни в проваленные ?


Прочитал статью на Вики "SoC. Respawn", возникли такие вот вопросы по работе стандартных респавнеров:
1).

Цифры после запятой, означают отношение одной секции к другой
respawn_section = ....._respawn_1,10, ....._respawn_2,5

т.е на 10 НПСов первой секции будет 5 второй ?

 

2).

max_count = колличество респавн-запросов за период времени, пока ГГ находится на локации. При переходе на другую

локацию, счётчик max_count сбрасывается.

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

 

3).

min_count = минимальное количество нпс, для экстренного респавна

имеется в виду принудительный респавн с использованием %=respawner_spawn(имя респавнера)% ?

 

4).

idle_spawn = тип спавна. Известно три типа medium, often, seldom. Обычно, используется тип medium

Статья 2011 года - может уже есть больше подробностей по типам респавна ?

 

5). ф-цию respawner_spawn(имя респавнера) можно юзать не только из логики ?

 

6).

conditions =Условие респавна

они применяются к max_spawn или к max_count ?

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

По респавну надо смотреть конкретный скрипт.

Оригинальный работает, мягко говоря, странно. А лазили в них, кажется, все, кому было не лень. И добавляли своего странного.

 

По сякоборщику - оригинальный сякоуборщик вроде бы не трогает то, у чего есть sid. И это правильно. Более того, я бы рекомендовал снести все таблицы к чертовой бабушке, и использовать эти самые sid'ы.

Заодно и amk-офлайн будет меньше странного делать.

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

А лазили в них, кажется, все, кому было не лень. И добавляли своего странного

Блин, как все не просто! У меня чистый ТЧ 1.0006 (вроде)

Конкретный скрипт - это se_respawn.script и\или xr_spawner.script ?

 

Первое. xr_spawner - это вообще нечто странное и загадочное. dc

В том se_respawn.script, что у меня, есть фрагмент:

  local spawn_section = ""

  local sum = 0

  -- Производим рандомную взвешенную выборку

  -- с учетом уже заспавленного количества человек.

  for k,v in pairs(self.respawn_section) do

--'   local tt = self.sectSpawnProps[v.section]

--'   local community_rank = tt.community.."_"..tt.rank

--'   local s_count = simMaxCount[community_rank]

--'   if s_count == nil then

--'    s_count = 0

--'   end

--'   if tt.check == false or

--'      self.item_spawn == true or

--'      sim_statistic.simNpcCount(tt.community, tt.rank) < s_count

--'   then 

    sum = sum + v.prob

--'   end

  end

  sum = math.random(0, sum)

  for k,v in pairs(self.respawn_section) do

--'   local tt = self.sectSpawnProps[v.section]

--'   local community_rank = tt.community.."_"..tt.rank

--'   local s_count = simMaxCount[community_rank]

--'   if s_count == nil then

--'    s_count = 0

--'   end   

--'   if tt.check == false or

--'      self.item_spawn == true or

--'      sim_statistic.simNpcCount(tt.community, tt.rank) < s_count

--'   then 

    sum = sum - v.prob   

    if sum <= 0 then

     spawn_section = v.section

     break

    end

--'   end

  end

 

 

эти закомментированные строки - от ПЫСов или у меня не оригинальный файл ?

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

 

Так и есть. Не работает, и не проверяется. dc

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

Вопрос такой:я делаю мод,заселил новую локацию,и не могу избавиться от вылета

cl setDestroy [56065][19706]

cl setDestroy [56064][19706]
cl setDestroy [56067][19706]
cl setDestroy [56066][19706]
cl setDestroy [56071][19706]
cl setDestroy [56070][19706]
cl setDestroy [57105][19706]
cl setDestroy [57104][19706]
! DetailPathManager has failed : from [205.100006,-2.805023,-273.000000] to [214.899994,1.358533,-245.000000]
stack trace:

0023:7621C41F KERNELBASE.dll
0023:73668E89 MSVCR80.dll, EH_prolog()
0023:05586DA8 xrGame.dll
0023:057AEA01 xrGame.dll

[error][ 8] : Недостаточно памяти для обработки команды.

 

 

 

Происходит только на этой локации,при переходе на другую локацию,при завершении игры, при выходе в виндовс.

По поиску нашёл один ответ, и то говорится о маломощности железа - дело не в этом, комп мощный...Кто знает природу данного вылета пож. напишите,заранее спасибо.

П.С.: может ли это быть связанно с гулагами (в частности squad и group), у меня под одним смартом "живёт" 45 неписей???Хотя пробовал вернуть старый скрипт с парой гулагов(но не менял алл.спавн - вылеты остались), или движок не тянет спавн большого количества живности в алл.спавне???

 

Мать: ASRock X470 Master SLI. Процессор: AMD Ryzen 9 3900X 12-Core(4200 MHz).
Память: Patriot Memory 3200 C16 Series. DDR4-3200(1600МГц), 16Гбх2(32Гб).
Видео: GeForce GTX 1060 6GB. Блок питания: CoolerMaster 750 Вт. Корпус: Zalman i3 Edge.

Химера конечно сильный хищник, а все держится дома. Чего же ты пришел к ней домой и пытаешься её убить? © Болотный Доктор

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

Вопрос такой:я делаю мод,заселил новую локацию,и не могу избавиться от вылета

cl setDestroy [56065][19706]

cl setDestroy [56064][19706]

cl setDestroy [56067][19706]

cl setDestroy [56066][19706]

cl setDestroy [56071][19706]

cl setDestroy [56070][19706]

cl setDestroy [57105][19706]

cl setDestroy [57104][19706]

! DetailPathManager has failed : from [205.100006,-2.805023,-273.000000] to [214.899994,1.358533,-245.000000]

stack trace:

 

0023:7621C41F KERNELBASE.dll

0023:73668E89 MSVCR80.dll, EH_prolog()

0023:05586DA8 xrGame.dll

0023:057AEA01 xrGame.dll

 

[error][ 8] : Недостаточно памяти для обработки команды.

 

 

 

 

 

Происходит только на этой локации,при переходе на другую локацию,при завершении игры, при выходе в виндовс.

У меня под одним смартом жило 36 НПС. Тоже на них думал. Предполагал, что сильно много объектов (аномалий, мобов). Поэтому уменьшал кол-во заспавненных объектов (к примеру, радиационных пятен - вместо 200 оставлял 30-40). Смотри, чего/кого у тебя больше всего заспавнено, пробуй уменьшить кол-во.

 

Кстати, запросто могут быть битые сейвы.

Скорее, не движок не тянет, а какая-нибудь таблица переполняется, хотя, сугубо ИМХО.

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

Сталкер - наше всё!

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

"! DetailPathManager has failed : from"

 

Нет такого пути.

 

НУ и 45 неписей под смартом - это, конечно, жесть. Дело тут даже не в памяти, а в самой идее работ (их назначения и апдейта).

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

@stalk9r, sid Воронина: 507.

Попробуй так помирить:

function my_func()
	local sobj = alife():story_object(507)
	local lobj = sobj~=nil and level.object_by_id(sobj.id) or nil
	if lobj then
		lobj:set_relation(game_object.friend, db.actor)
	end
end
Только запускай функцию, когда Воронин в онлайне. Иначе не сработает. Изменено пользователем naxac
  • Спасибо 1
  • Нравится 1

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

naxac.gif

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

@naxac, @makdm, Спасибо, то что надо!

Код сработал - Воронин теперь зелёный. В морду дал разок и успокоился :)

Добавил вывод инфо, если объект не существует

local text = "Помирились!"


local sobj = alife():story_object(507)
local lobj = sobj~=nil and level.object_by_id(sobj.id) or nil
if lobj then
lobj:set_relation(game_object.friend, db.actor)
else text = "Нет такого NPC"

end

news_manager.send_tip(db.actor, text, nil, nil, 30000)

end

 

 

@Samber13, Твой способ не сработал, у долга и так отношение к ГГ хорошие были, только Воронин испытывал личную неприязнь.

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

Есть хабар - пойдёт базар :az1000106:

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

Разобрался я со своей проблемой, дело было в том, что в качестве секций для респавна в all.spawn, я указал секции сталкеров с уже существующей логикой:

 

[yan_stalker_1]:stalker
$spawn =  "respawn\yan_stalker_1"
character_profile = zone_novice
spec_rank = novice
community = zone
custom_data = scripts\moy_logic\yan_stalker_1.ltx - вот здесь!!!
 
Игра плодила мне этих неписей и они пытались по двое и трое выполнять одну и ту же работу.
Создал секции для респавна без custom_data
Надо учесть на будущее!!!

Жизнь следует измерять поступками, а не временем...

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

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

В погоде, а точнее в файле ambients.ltx.

 

Спасибо, я думал чекнусь)

Ребят есть еще один важный вопрос, можно ли написать скрипт, то есть на спавн, когда наступает ночь, чтобы спавнились монстры, и по наступлению дня они исчезали??

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

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

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

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

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

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

Войти

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

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

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