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

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


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

И причем тут респавны?

Поймите респауны работают в плотном тандеме с гуагами

А если я убираю респавны вообще и прописываю всем смартам в поле communities нужные группировки - что происходит? Откуда они все спавнятся? Может это в движке зашито?

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

Если ты действительно удаил все респавны никто больше не появится кроме тех кто изначально присутствует в алл спавне.

секции типа

 

 

[93]

; cse_abstract properties

section_name = stalker

name = esc_lager1

position = -209.067367553711,-19.7512016296387,-132.083114624023

direction = 0.062321275472641,0.00316426996141672,0.0140644172206521

 

; cse_alife_trader_abstract properties

money = 5000

character_profile = esc_stalker_novice

 

; cse_alife_object properties

game_vertex_id = 61

distance = 9.80000019073486

level_vertex_id = 43968

object_flags = 0xffffffbf

custom_data = <<END

[smart_terrains]

esc_lager = true

 

[spawn]

conserva

END

 

; cse_visual properties

visual_name = actors\novice\green_stalker_2

 

; cse_alife_creature_abstract properties

g_team = 0

g_squad = 1

g_group = 5

health = 1

dynamic_out_restrictions =

dynamic_in_restrictions =

 

upd:health = 1

upd:timestamp = 0x617a6b75

upd:creature_flags = 0x6b

upd:position = -209.067367553711,-19.7512016296387,-132.083114624023

upd:o_model = 0

upd:o_torso = 0.00316426996141672,0.062321275472641,0

upd:g_team = 0

upd:g_squad = 1

upd:g_group = 5

 

; cse_alife_monster_abstract properties

 

upd:next_game_vertex_id = 65535

upd:prev_game_vertex_id = 65535

upd:distance_from_point = 0

upd:distance_to_point = 0

 

; cse_alife_human_abstract properties

predicate5 = 2,2,0,1,1

predicate4 = 0,2,0,2

 

; cse_ph_skeleton properties

 

upd:start_dialog =

 

; se_stalker properties

 

 

 

 

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

То ли это у меня глюки, то ли у движка игры, но люди всё равно появляются. Я убрал из all.spawn все секции, у которых

section_name = respawn

, а также ссылки на них (в смартах. Но это не помогло. Сейчас ищу во всех файлах вызовы alife:create(), похоже это единственный вариант :(

 

если я правильно понял то АМК респавн -скриптовый

В том-то и дело, что respawn от АМК (в основном это тушканчики и прочая живность) я не трогал, да и спавнятся в основном люди.

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

Полтергейст

 

Совсем забыл если не изменяет память то в файле се_респавн.скрипт есть

функция экстренного спавна может в этом дело

 

-- экстренный спаун минимального количества объектов

if table.getn(self.spawned_obj) < self.min_count then

while table.getn(self.spawned_obj) < self.min_count do

if self:create(100) == false then

return

end

end

return

end

 

-- делаем несколько попыток заспаунить объект.

for i=1,self.max_spawn do

if self.max_count ~= -1 and table.getn(self.spawned_obj) >= self.max_count then

-- printf("SPAWNING [%s], CANT SPAWN. MAX COUNT REACHED!!!", tostring(self:name()))

return

end

if self:create(xr_logic.pick_section_from_condlist(db.actor_proxy, self, self.conditions)) == false then

return

end

end

end

 

 

 

 

Ссылка на комментарий
mma, во-первых: используй поиск, ибо на многие твои вопросы уже были ответы, во-вторых: не игнорируй заглавные буквы и пробелы после знаков препинания. Иначе буду просто стирать твои сообщения.
Ссылка на комментарий

Здравствуйте-может кто подсказать в чём ошибка создал соудз тему в файле sound_theme.script -

ph_snd_themes["generator_zuzit"] = {ambient\\pri_b306_generator_work}

Логика -

[logic]

active = ph_sound@idle

 

[ph_sound@idle]

snd = generator_zuzit

looped = true

min_idle = 5

max_idle = 6

подключил её и получил вылет -

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: e:\games\stalker\gamedata\scripts\xr_info.script:837: attempt to index global 'sound_theme' (a nil value)

 

Может звук ещё где-то надо прописывать?

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

Prefiero morir de pie, que vivir siempre arrodillado.
 

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

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

function se_respawn:spawn()

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

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

Несколько вопросов:

1) Как сделать чтобы диалог проговаривался только один раз?

2) Как убрать вступительную речь Сидрыча? Ну, звук и анимацию.

3) Как открыть дверь Сидрыча с самого начала?

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

TRAMP14, привет! Вот смотри:

В диалоге в самом начале поставь прекондишен на отсутствие инфопорции, а в последней фразе поставь эту самую инфопорцию

<dialog id="escape_trader_talk_info">
        <dont_has_info>block_info</dont_has_info>
        <phrase_list>
            <phrase id="0">
            </phrase>
            ...
            <phrase id="1">
            <give_info>block_info</give_info>
            </phrase>
        </phrase_list>
</dialog>

В файле esc_trader.ltx в папке config\scripts, в самом начале, есть вот такое:

; Ждем немного
[mob_trader@new_start_wait]
anim_global = chair_hack_idle
on_timer = 5000| mob_trader@new_start_intro1
can_talk = false
tip_text =

поменяй на вот это:

; Ждем немного
[mob_trader@new_start_wait]
anim_global = chair_hack_idle
on_timer = 5000| mob_trader@new_start_intro4
can_talk = false
tip_text =

 

В файле esc_trader_door.ltx в папке config\scripts есть такая строка

active = ph_door@locked

сделай так

active = ph_door@closed

 

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

@"StreloK"

Кавычки поставь в пути до звука. У тебя ошибка при чтении файла так как он невалидный. lua checker используй для проверки синтаксиса - он бы тебе сразу сказал, что ошибка в такой то строке.

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

TRAMP14

 

В папке config\scripts файл esc_trader_door.ltx

должен выглядеть так

 

[logic]

active = ph_door@locked

 

[ph_door@locked]

locked = false

closed = true

snd_open_start = trader_door_open_start

snd_close_start = trader_door_close_start

snd_close_stop = trader_door_close_stop

on_use = ph_door@open

 

[ph_door@closed]

closed = true

locked = false

on_use = ph_door@open %-esc_close_door%

snd_open_start = trader_door_open_start

snd_close_start = trader_door_close_start

snd_close_stop = trader_door_close_stop

 

[ph_door@open]

closed = false

locked = false

on_use = ph_door@closed

on_info = {+esc_close_door} ph_door@closed

snd_open_start = trader_door_open_start

snd_close_start = trader_door_close_start

snd_close_stop = trader_door_close_stop

 

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

AKKK1, а зачем так-то куролесить?

Вообще-то в чистом 1004 этот файл выглядит так:

[logic]
active = ph_door@locked

[ph_door@locked]
locked = true
snd_open_start = trader_door_unlock
on_info = {+esc_trader_can_leave} ph_door@closed %=play_snd(device\door_servomotor)%

[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open %-esc_close_door%
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop

[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed
on_info = {+esc_close_door} ph_door@closed
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop

Вот эта логика ph_door@closed описывает закрытую но не запертую дверь, а эта ph_door@open, дверь в открытом виде, и открытой она останеться до тех пор, пока ГГ не войдет в рестриктор esc_close_door_restrictor.

Ну а вот это ph_door@locked, запирает дверь до прибытия к ГГ инфопоршня esc_trader_can_leave, который в свою очередь выдается после слов Сидора:

Да всё пока. Принесёшь мне флешку, и будем считать, что частично за своё спасение ты расплатился.
;)
Изменено пользователем Куфзук
Ссылка на комментарий

Вопросы к оригиналу ТЧ:

1) Как сделать так ,чтобы ГГ заспавнился абсолютно пустой? Чтобы не было не бинокля ,ни пда ,ни куртки новичка ,ни фонарика.

2) Как сделать фонарь ,бинокль ,пда ,нож осязаемыми? Чтобы их было видно в инвентаре ,можно было продать или выкинуть? Если знаете какие -нибудь не большие моды ,где это реализовано ,скажите мне и скажите ,какие там файлы правились. Но лучше ,если вы мне объясните как это сделать самому в оригинале.

3) Можно ли изменить болт? Сделать его количество конечным ,добавить в продажу ,назначить ему массу и цену. Как это сделать?

Сообщение от модератора kokkai
По 1) просто: используй софтинку xrSpawner_10004.exe (если 4 патч), открывай all.spawn и в секции actor убирай/добавляй что хочешь.
Изменено пользователем kokkai
Ссылка на комментарий

AKKK1, Куфзук спасибо!

Ещё вопрос - начальный ролик (где во время грозы авто переворачивается) движок запускает или через скрипты\конфиги?

 

Вопросик - сколько файлов надо редактировать чтобы восстановить вырезанных монстров? Я хотел по существующему примеру сделать но там 17 файлов и что куда писать я незнаю

Изменено пользователем Cyclone
Ссылка на комментарий
AKKK1, а зачем так-то куролесить?

Вообще-то в чистом 1004 этот файл выглядит так:

[logic]
active = ph_door@locked

[ph_door@locked]
locked = true
snd_open_start = trader_door_unlock
on_info = {+esc_trader_can_leave} ph_door@closed %=play_snd(device\door_servomotor)%

[ph_door@closed]
closed = true
locked = false
on_use = ph_door@open %-esc_close_door%
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop

[ph_door@open]
closed = false
locked = false
on_use = ph_door@closed
on_info = {+esc_close_door} ph_door@closed
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop

Вот эта логика ph_door@closed описывает закрытую но не запертую дверь, а эта ph_door@open, дверь в открытом виде, и открытой она останеться до тех пор, пока ГГ не войдет в рестриктор esc_close_door_restrictor.

Ну а вот это ph_door@locked, запирает дверь до прибытия к ГГ инфопоршня esc_trader_can_leave, который в свою очередь выдается после слов Сидора: ;)

Предложи другой вариант да..!

 

 

Да и я знаю какэто выгляддит в чистой игре.

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

Привет всем. Подскажите, какие строчки отвечают за дисперсию перекрестия? то есть, при ходьбе, беге, и спринте его изменение, очень надо.

И не знаете, в народной солянке как можно поправить наносимый урон БТРом и пулемётом вертолёта? А так же ракет, а то с пулемёта с одного попадания убивает, а с ракеты штуки с трёх убивает. Ответьте в личку пожалуйста

Тёмный Сталкер вас оберегает... Будьте бдительны в зоне...
Мой S.T.A.L.K.E.R.: Тени Чернобыля 1.0006..+..Народня Солянка OП-2
MS Windows 7 64-bit, Intel Core i5 CPU 3210M @ 2.50GHz, 6.0 GB RAM, Intel HD Graphics и AMD Radeon 7700m 2048 RAM

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

Тёмный Сталкер, именно на дисперсию перекрестия влияют настройки оружия. Настройки перекрестия смотри в system.ltx, секция

[hud_cursor]
;все размеры в процентах от длины экрана
cross_length        = 0.005                ;длина "палочки" прицела
min_radius            = 0.0                ;минимальный радиус прицела (при нулевой дисперсии)
max_radius            = 1.0                ;максимальный радиус
radius_lerp_speed    = 0.08                ;скорость интерполяции положений прицела
cross_color            = 0.7,0.7,0.7,1.0    ;цвет прицела
disp_scale            = 0.08                ;масштаб прицела (относительно радиан)

По БТР - w_mounted.ltx

Дождь не может идти вечно...
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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