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

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


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

Dennis_Chikin,

Это хотя-бы что: код, конфиги, модели ?

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

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

Всем привет! Появился вопрос касательно логики вертолета. А именно выдачу поршня после смерти обьекта.

Имеем такую логику:

[logic]
active = heli_move@idle
on_death = death

[death]
on_info = %+heli_dead_1%

[heli_move@idle]
path_move = esc_heli_idle_move
path_look = esc_heli_idle_look
engine_sound = true
combat_use_rocket = true
combat_use_mgun = true
rocket_delay = 3000
combat_safe_altitude = -50
mute = true

 

move и look соответственно прописаны в алл спавне.

Вертолет спавнится, летит в нужную точку и обстреливает в моем случае дом.

Только вот незадача, on_death не работает после смерти вертолета.

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

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

volazar, для вертушек не работают схемы ph_death/xr_death, поэтому и бесполезно ждать, что приписанные параметры в логику будут ими обработаны и выдавать инфопоршни.

Хочешь получать инфопоршень - прикручивай схемы к вертушкам или в bind_heli.script можно для этого доработать функцию bind_heli.heli_die

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

[error]Description   : dBodyStateValide(b)

Как выяснилось, это не только модель. Может быть битый/криво разобранный нетпакет, даже если собственно визуал нормально прочитался и разобрался. Отслеживать в дебрях кода: что и на каком этапе сходит с ума - неасилил.

Не исключено, что монстры/оружие и прочее, сделанное на неправильном классе - сюда же.

 

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

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

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

зашел на Янтарь и удивился, http://i-fotki.info/11/7cb14d0ff555dd887bad...332711.jpg.html

В каком файле управляется погода на Янтаре подскажите пожалуйста, кидал в мод родной везерянтарь -

результат 0,все белое

maxgorod.gif

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

Magnus1, Прописываете диалоги обоим нужным неписям. У одного, ставите проверку поршня на диалог (<has_info>поршень</has_info>). А у другого, в конце диалога наоборот, выдаете этот поршень (<give_info>поршень</give_info>).

Виден сначала только один диалог. Как поговорили с ним, появляется другой диалог.

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

В общем, хочу убиваемость бандитов в черных плащах понизить, но не знаю как. Конфиги перелопатил по быстрому, но ничего не нашел. Где их резисты находятся? :mellow:

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

В общем, хочу убиваемость бандитов в черных плащах понизить, но не знаю как. Конфиги перелопатил по быстрому, но ничего не нашел. Где их резисты находятся? :mellow:

Каких ещё черных бандитов? :mellow:

Замени строку stalker в секции на другую, а затем её зарегистрируй в файле m_stalker

[cit_bandit_respawn_2]:stalker

$spawn = "respawn\cit_bandit_respawn_2"

character_profile = sim_bandit_master

spec_rank = master

community = bandit

 

Вставь в m_stalker;

 

[stalker_new]:stalker

$spawn = "stalkers\stalker_new"

immunities_sect = stalker_immunities_new

condition_sect = new_stalker_condition

 

 

[new_stalker_condition]

satiety_v = 0.00001 ;скорость уменьшения сытости со временем

radiation_v = 0.0001 ;скорость уменьшения радиации

satiety_power_v = 0.0005 ;увеличение силы при уменьшении сытости

satiety_health_v = 0.0 ;0.0001 ;увеличение здоровья при уменьшении сытости

satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться

radiation_health_v = 0.000 ;уменьшение здоровья при воздействии радиации

morale_v = 0.0001 ;скорость восстановления морали

health_hit_part = 0.05 ;процент хита, уходящий на отнимание здоровья

power_hit_part = 0.05 ;процент хита, уходящий на отнимание силы

psy_health_v = 0.01 ; скорость восстановления psy-здоровья

health_restore_v = 0.00001 ;скорость восстановления здоровья

 

sleep_health = 1.0 ;коэффициенты скоростей изменения параметров во время сна

sleep_power = 1.0

sleep_satiety = 1.0

sleep_radiation = 1.0

sleep_psy_health = 1.0

 

;---LIMPING STATE-----------------------------------------------------

use_limping_state = off

limping_threshold = 0.5

 

;открытые раны

bleeding_v = 0.0 ;потеря крови при номинальной ране в секунду

wound_incarnation_v = 0.001 ;крутизна кривой заживления (какой процент раны останется после заживления в игровую секунду)

min_wound_size = 0.01

 

[stalker_immunities_new]

burn_immunity = 0.05 ;коэффициенты иммунитета

strike_immunity = 0.05

shock_immunity = 0.05

wound_immunity = 0.3

radiation_immunity = 0.0

telepatic_immunity = 0.0

chemical_burn_immunity = 0.08

explosion_immunity = 100

fire_wound_immunity = 0.00000000001

wound_2_immunity = 0.0000000001

 

 

 

Только не забудь подправить секцию stalker_immunities_new и new_stalker_condition

Изменено пользователем ColR_iT
Используем спойлеры для кода большого размера!

К20

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

Каких ещё черных бандитов? :mellow:

Благодарю, все работает, только теперь мастера выдерживают 3 рожка с лр300 :unsure: А можно им каким нибудь макаром броню прописать? Чтобы брали защиту из damages.ltx, как прочие костюмы. У меня в конфигах уже прописаны оба бандитских плаща, но как их присвоить бандитам, я не знаю.

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

Благодарю, все работает, только теперь мастера выдерживают 3 рожка с лр300 :unsure: А можно им каким нибудь макаром броню прописать? Чтобы брали защиту из damages.ltx, как прочие костюмы. У меня в конфигах уже прописаны оба бандитских плаща, но как их присвоить бандитам, я не знаю.

Ты наверное просто скопировал приведенный код. Необходимо поработать с секциями new_stalker_condition, stalker_immunities_new и настроить их под себя (ну или кого там- бандитов?)

К20

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

Имеется не большой вопросик: насколько я знаю в алл спавне в ТЧ при спавне, например, НПС нельзя что бы секции повторялись, то они во всех файлах алл спавна пповторяться не должны или только в отдельном, например в alife_l01_escape.ltx?

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

Magnus1

 

В смысле строчка name = ?

Если пользуетесь последним universal_acdc (kd87) то все можно, но нежелательно.

Мой архив

Сталкером не занимаюсь.

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

Magnus1

 

В смысле строчка name = ?

Если пользуетесь последним universal_acdc (kd87) то все можно, но нежелательно.

Нет всмыле вот здесь:

[spoiler=Самая первая строка в кв.скобках

][3677]

 

; cse_abstract properties

 

section_name = inventory_box

 

name = level_prefix_inventory_box_0016

 

position = 110.549880981445,0.0583252906799316,52.8774147033691

 

direction = 0,0.574199974536896,0

 

 

 

; cse_alife_object properties

 

game_vertex_id = 1168

 

distance = 0

 

level_vertex_id = 76465

 

object_flags = 0xffffff3f

 

custom_data = <

 

[logic]

 

cfg = scripts\treasure_inventory_box.ltx

 

END

 

story_i

 

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

Magnus 1, твой вопрос следует адресовать в топик Universal ACDC и другие perl-скрипты , т.к. относится не к самому файлу all.spawn'у а к отображению его формата распаковки и об этом можно прочитать в указанном топике.

То, что ты назвал "секцией", на самом деле называется идентификатором секции спавна (spawn_id).

В самом файле all.spawn эти идентификаторы начинаются с 0 и следуют строго последовательно до конца (кол-ва) секций - не повторяясь!

Однако, в распакованном виде, например для версии универсального ACDC (by KD87), это ограничение на неповторяемость относится только к каждому отдельному файлу конкретной локации (alife_XXX.ltx), а в разных файлах номера идентификаторов могут дублировать такие же номера из соседних файлов. Также нет обязательного условия последовательности номеров идентификаторов.

Т.о. , если используешь uACDC, то ты сам ответил себе правильно - "повторяться не должны ... только в отдельном, например в alife_l01_escape.ltx"

.

Примечание После компиляции в полученном all.spawn'е все идентификаторы будут переопределены в соотвествии с требованием непрерывности и последовательности, так что чтобы работать с реальными текущими данными следует скомпилировать и обратно декомпилировать - тогда ты полуцчишь реальные номера идентификаторов, т.е. так как они будут в игре.

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Не знаю, может быть не в тему, но все равно прошу совета.

Подключал локацию из ЧН к локам ТЧ. При переходе на новую локу получаю вылет с вот таким логом:

- Destroying level

* DVB created: 4096K

* DIB created: 512K

- r__tf_aniso 16

- r2_tf_mipbias -0.5

* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)

* GPU vertex cache: recognized, 24

*** RESET [386 ms]

xr_3da.exe -nointro

* phase time: 8 ms

* phase cmem: 208552 K

Сервер: Старт...

* phase time: 104 ms

* phase cmem: 208608 K

Сервер: Загрузка симуляции жизни...

* phase time: 8 ms

* phase cmem: 208608 K

Загрузка игры "user_autosave.sav"...

* Loading spawn registry...

* 8642 spawn points are successfully loaded

* Loading objects...

* 17222 objects are successfully loaded

stack trace:

 

001B:028FF63B xrGame.dll

Кто-нибудь может расшифровать, что это такое?

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

Дописал в se_item.script для класса se_outfit два метода - STATE_Write(packet) и STATE_Read(packet). Ну и проверил сколько раз эти методы будут вызываться при спауне броника скриптом. Результат:

STATE_Write

STATE_Read

STATE_Write

STATE_Write

STATE_Read

Кто знает, зачем столько раз происходят вызовы методов ? И какова их привязка к последовательности спауна предмета ?

 

Многострочный текст с прокруткой по вертикали - как сделать ? Класс CUIStatic не позволяет такого ? Пытался подсмотреть в оригинальных кодах игры, в частности смотрел как сделано описание предмета в инвентаре. Там это выглядит так:

 
<descr_list x="12" y="223" width="298" height="140" always_show_scroll="0" left_ident="16">
 <font font="letterica16" r="240" g="217" b="182"/>
</descr_list>

Но вычислить какой это класс из CUI... не получилось.

Подскажите.

 

Дописал в se_item.script для класса se_outfit еще один метод - on_before_register(). Когда он вызывается - когда серверный объект, созданный ф-цией create уже существует ?

 

Пять раз методы se_outfit вызывались для случая спауна броника в ящик, проверил для спауна на местности:

STATE_Write

STATE_Write

STATE_Read

То-же не очень понятно кол-во вызовов методов класса.

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

AndreySol, вот когда ты себе ответишь на что такое "серверный объект, созданный ф-цией create уже существует" - тогда и получишь ответ на свой вопрос.

По многострочиям читаем Справочник по функциям и классам, где расписаны оконные классы.

 

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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

Здравствуйте. У меня вопрос.

Начну издалека - у меня стоит мод Complete 1.4.1 2009 и поверх него я уже своими ручками кое-что добавляю. Сегодня возникла проблема -

Я хотел создать space_restrictor с радиусом 6 метров, чтобы при входе в него у NPC вызывался диалог. Ниже - код рестриктора и код скрипта.

 

[1233]

; cse_abstract properties

section_name = space_restrictor

name = swolf_govorit

position = -210.632614135742,-20.050708770752,-142.461120605469

direction = 0,0,0

; cse_alife_object properties

game_vertex_id = 61

distance = 0

level_vertex_id = 42599

object_flags = 0xffffff3e

custom_data = <<END

[logic]

active = sr_idle

[sr_idle]

on_actor_inside = %+esc_on_talk%

END

; cse_shape properties

shapes = shape0

shape0:type = sphere

shape0:offset = 0,0,0

shape0:radius = 6.6438484191895

; cse_alife_space_restrictor properties

restrictor_type = 3

 

 

function on_talk()

local npc = level_object_by_sid(006)

db.actor:run_talk_dialog(npc)

end

 

 

А проблема вот в чём.

Когда я подхожу на эти 6 метров к Волку ничего не происходит.

Но когда я пытаюсь заговорить с ним (F), то пропадает из рук оружие и ГГ, как бы, "зависает на месте" - не может отойти, совершить какое-то действие и т.д. можно только смотреть по сторонам.

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

Помогите, пожалуйста.

 

P.S. Иногда такое же было, когда я пытался заговорить с Волком в Simbion Mod. Но у меня, увы, постоянно :С

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

Такие дела. - Курт Воннегут.

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

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

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

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

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

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

Войти

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

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

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