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

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


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

Привет всем! Не знаю, я новичок, сюда ли я пишу это, но вот пожалуйста: "Как сделать типо Респавн нескольких НПС, при этом не как не лезть в all.spawn, я вот слышал где-то и моды видел там через гулаги или смарттрейнеры (как-то так) делают респ, не делают НПСникам профили просто тупо введут группировку и всё". Так вот, может кто знает как или дайте урок? :dash2: А то делаю НПСникам каждому профиль уже замаялся.

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

не делают НПСникам профили просто тупо введут группировку и всё"

О_о это как??! значит, помоему, заренее создали респавн-нпс, как например в ТЧ:

[esc_stalker_respawn_1]:stalker

$spawn = "respawn\esc_stalker_respawn_1"

character_profile = sim_stalker_novice

spec_rank = novice

community = stalker

 

 

Так и там. Наверно. А без создания профилей и тп... не знаю) а по респавну вот урок:

http://stalkerin.gameru.net/wiki/index.php?title=SoC._Respawn

 

 

Правда, он с использованием алл.спавна... Но если ты хочешь полноценных нормальных неписей и нормальный респавн сделать, без него не обойтись...)

 

Можешь, конешно, сделать штук пять профилей нпс и задать им GENERATE_name, шоб имя разное было, и задать респавн их, но я не знаю, что из этого выйдет, и будут ли они спауниться, нормально то есть. Ну как то так=)

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

Та я знаю как через all.spawn - все прекрасно, просто вот например мод Война группировок для ТЧ весит мало зараза, а вот НПСников откуда столько на локациях я просто вот сижу и думаю откуда и как... :russian_ru:

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

...весит мало зараза...

 

Текстовые файлы мало весят. Ты что, думал, что если много НПС, то весить будет огого? Ахах. :)

 

Побольше грамотности в постах!

ColR_iT

 

Всем привет снова!)

Я заделал переход, в бар, с кордона. Сунул его в тоннель около раненого, там нива ржавая еще. Вот скрипт:

function create_escobar_exit()

-- создается переход c Кордона в Бар

if (not has_alife_info( "samiy_perviy_infoportion" )) then

level_new.create_level_changer(10338, vector():set(-49.773769378662,-10.037751197815,-66.92081451416 ),229848,77,76122, 1284,

vector():set( 360.916351318359,8.64115905761719,-162.869903564453 ),

vector():set( 0,0,0 ),"l05_bar",1)

news_manager.send_tip(db.actor, "Открыт переход в Бар", nil, nil, 30000)

end

-- создается переход c Бара на Кордон

if (not has_alife_info( "samiy_perviy_infoportion" )) then

level_new.create_level_changer(10339, vector():set( 360.916351318359,8.64115905761719,-162.869903564453 ),76122, 1284,229848,77,

vector():set( -49.773769378662,-10.037751197815,-66.92081451416 ),

vector():set( 0,0,0 ),"l01_escape",1)

end

end

 

 

Но почему-то вылетает... Координаты, из Бара которые, взял из Левел Ченджера, который уже есть в игре, прибавил к X десять метров.

И вот лог:

 

FATAL ERROR

 

[error]Expression : fatal error

[error]Function : CScriptEngine::lua_error

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

[error]Line : 73

[error]Description :

[error]Arguments : LUA error: c:\s.t.a.l.k.e.r1\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

 

В диалоге выдачи перехода прописал выдачу инфопоршня для появления его, прописал телепортацию от Сидора в вагончик, который около тоннеля (шоб не идти-ть.) и соб-стно сам переход. Телепортит нормально, переход появляется, сообщение о переходе есть, перехожу, и на "Клиент: Синхронизация..." вылетает... Помогите)

 

function teleport_k_levch(npc, actor)

db.actor:disable_info_portion("samiy_perviy_infoportion")

npc:stop_talk()

actor:stop_talk()

xr_effects.enable_ui(db.actor, nil)

level.add_pp_effector ("teleport.ppe", 2006, false)

local point = patrol("esc_teleport_place_exit_to_bar_1")

local look = patrol("esc_teleport_place_exit_to_bar_0")

 

db.actor:set_actor_position(point:point(0))

local dir = look:point(0):sub(point:point(0))

db.actor:set_actor_direction(-dir:getH())

 

end

 

 

Диалог (спойлер не делается почему-то(:


<dialog id="give_escobar_exit">
<phrase_list>
<phrase id="0"> -- ;ГГ
<text>Прива, Сидорович. Сделай переход в Бар.</text>
<next>1</next>
</phrase>
<phrase id="1"> -- ;НПС
<text>Лови</text>
<give_info>samiy_perviy_infoportion</give_info>
<action>level_changers_mod.create_escobar_exit</action>
<action>escape_dialog.teleport_k_levch</action>
</phrase>
</phrase_list>
</dialog>

 

Ну вот и все, вроде. Подскажите чтонибуттььь... :fool:

 

Извините, ColR_iT , я думал тут общение в свободной форме, а не урок русского языка... Но в следующий раз обещаю повиноваться. :good2:р

 

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

Повиновений не требую, только соблюдение правил.

ColR_iT

Изменено пользователем ColR_iT
  • Нравится 1
Ссылка на комментарий

В данный момент у тебя в посте одна сплошная синтаксическая ошибка. Как научишься писать - получишь ответ на свой вопрос.

Устное предупреждение.

ColR_iT

 

Я же новичок извините...

 

Правила прочитай, чтобы потом не до пониманий не было.

Цитировать полностью предыдущие посты так же нельзя.

ColR_iT

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

Заспавнил НПС в ТЧ через all.spawn. При начале НИ словил вылет:

 

Expression : fatal error

Function : CScriptEngine::lua_error

File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp

Line : 73

Description : <no expression>

Arguments : LUA error: ...k.e.r\s.t.a.l.k.e.r\gamedata\scripts\xr_gulag.script:1178: attempt to index field 'gulag' (a nil value)

 

Подскажите в чём дело пожалуйста. Заранее спасибо.

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

Товарищ модератор, можно вопрос? Что означает пункт "Репутация" под аватаром сообщения, что означает "Репутация" сообщения, как ее повысить и т.д. Можно ссылку на тему или что-то подобное с информацией об этом. Заранее спасибо.

 

Заспавнил НПС в ТЧ через all.spawn. При начале НИ словил вылет...

 

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

 

Вот ссылка на урок по спавну НПС через алл.спавн, проверь. Все должно работать:

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

По этому тутору НПС я и спавнил, незнаю что за вылет даже.

Вот логика:

 

[logic]
active = remark1
danger = danger_ignore

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true

 

На сталкер ставил ещё фриплейный мод, который практически всё заселение убирает, но этот мод никак не взаимодействует с файлом xr_gulag.

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

По этому тутору...я и спавнил, незнаю что за вылет даже.

...но этот мод никак не взаимодействует с файлом xr_gulag...

 

Проверь еще раз. У меня чистая ТЧ 1.0006, все по тутору, и работает

На счет мода ты не будь так уверен, хотя я не знаю, еще раз говорю: проверь все!!!

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

Подскажите, какие файлы отвечают за загрузочные экраны?

"Хорошая болезнь - склероз: абсолютно ничего не болит и каждый день новости!"
"А я всё жду и жду твоих аргументов. Всё что я пока вижу - это классическое "Я Д'Артаньян..." (Carnby)
"Рожа обычная, её не выбирают!" (Дьяк)

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

Снова всем привет!)

http://www.amk-team....540#entry738065

ссылка на пост (мой же)

 

И еще один:

Какие есть способы создавать переходы по локациям в сталкере? Конкретнее: через алл.спавн можно? Если да, то как?

Вот секция перехода на свалку с кордона в алл.спавне:

почему-то спойлер не делается :(

 


[285]
; cse_abstract properties
section_name = level_changer
name = exit_to_garbage_01
position = 29.34641456604,16.5561962127686,686.241638183594
direction = 0,-0,-0
; cse_alife_object properties
game_vertex_id = 1
distance = 7
level_vertex_id = 309788
object_flags = 0xffffff3e
custom_data = <<END
[pt_move_if_reject]
path = esc_way_if_reject
END
story_id = 91
; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 2.22939944267273,0,0
shape0:axis_y = 0,4.83859968185425,0
shape0:axis_z = 0,0,2.22939944267273
shape0:offset = 0,0,0
; cse_alife_space_restrictor properties
restrictor_type = 3
; cse_alife_level_changer properties
dest_game_vertex_id = 253
dest_level_vertex_id = 209876
dest_position = 36.4117431640625,0.481237411499023,-305.824523925781
dest_direction = 0.0111562451347709,-0.000250374461757019,0.0224392339587212
dest_level_name = L02_Garbage
dest_graph_point = start_actor_01

 

достаточно ли одной лишь секции в алл.спавне?

 

...файлы отвечают за загрузочные экраны...

в конфигах в папке /ui поройся, сам найдешь; текстуры - папка /ui.

 

Так-ссссс............ кое-что прояснилось: дело не в самих переходах... Вылет происходит даже на стандартных игровых, не мною сделанных... лог я писал... в чем дело то?

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: c:\s.t.a.l.k.e.r1\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

 

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

stalkerok007

Вопросы общего характера можно и нужно задавать либо в "Общем" разделе, либо кому-то в ЛС, здесь же это чистой воды оффтоп - это раз.

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

Три - чтобы ты не думал, что это пустые слова - +10 баллов предупреждений, пока без рида, пока...

Что касается последнего твоего вопроса по переходам. Вот ссылка на объяснение, как их делать: >>Click Me<<. Можно, кстати, и скриптами, но это сложнее.

 

dinsekt

Ты ведь уже на другом форуме писал, что убирая спавн НПС, то есть с модом фриплея - вылет остаётся, так я не вижу проблемы в твоём вопросе... Причина проста - криво совместил/поставил мод.

P.S. Чтобы не видеть в свой адрес, того что адресовано stalkerok007, рекомендую и тебе прочесть правила.

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

Всем доброго времени суток. Хотел узнать: Есть скрипт определения кооординат гг (гейвертикс итп). Но, есть проблема - он не работает в режиме "полета" по карте. Есть ли альтенатива?

 

Если не в ту тему, прошу перенести.

 

С клавишей пробела подружитесь, пожалуйста.

ColR_iT

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

Господа, вопрос: есть бессмертный перс, на конфиге сахарова. Мне нужно сделать, чтобы он полностью игнорировал все бои и не рвался валить врагов. Я сделал логику ему:

 

[smart_terrains]

none = true

 

[logic]

active = walker

 

[walker]

path_walk = proper70_limansk_walk

path_look = proper70_limansk_look

meet = meet

danger = danger_ignore

combat_ignore_cond = always

 

[danger_ignore]

ignore_distance = 0

 

[meet]

meet_state = 10|{-meet_proper70} threat

meet_state_wpn = 10|{-meet_proper70} threat

victim = 10| actor

victim_wpn = 10| actor

use = {-meet_proper70 =dist_to_actor_le(3)} self, true

use_wpn = {-meet_proper70 =dist_to_actor_le(3)} self, false

 

 

 

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

ЗЫ на секцию meet не смотрите - это анимация и автоначало разговора - она на бой не влияет...

 

Artos, да, спасибо, разобрался) только для меня это еще пока не "штатная" логика, я в ней недавно, поэтому и спросил тут)) спасибо за ответ) Код убрал под спойлер)

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

proper70,

Ты просто напросто пропустил строку, отключающую воинственность (точнее включающую соотв.схему): combat_ignore = combat_ignore

Ну а combat_ignore_cond - указывает на обработку условий, т.е. в твоем случае всегда будут применяться дефолные... однако, если схема игнорирования вообще включена(!)

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

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

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

nanshakov, есть класс render_device, о котором можно прочесть в справочнике, однако с помощью него нельзя определить левел и гейм вертекс. Но думаю проще будет написать в консоле rs_stats 1, там будут только координаты камеры.

ТЧ 1.0004. SAP и Trans mod

github

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

Привет парни! Есть вопрос, ну или тема для размышления. Хотелось бы создать пищевую цепь среди монстров. Есть в файле монстра коэффициент паники, есть в game_relations коэффициенты отношений между монстрами (друг, нейтрал, враг и злейший враг). Как можно сделать, чтобы, к примеру плоти боялись только химер и убегали от них? Если поставить panic_threshold = 1, то они будут драпать от всех своих врагов. А как бы отладить так, чтобы конкретный вид монстров, боялся другого вида монстров и убегал от них?

 

Надо дело довести до конца!

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

riddik121, помимо упомянутых конфигов, которые позволяют задавать общие константы для ситуаций, существуют еще и скриптовые методы: set_custom_panic_threshold и set_default_panic_threshold, применимые к конкретным гейм-объектам (в частности к монстрам). И, даже схема (mob_panic), хотя и почти "пустая", существует. Так что мешает желаемое воплотить? К примеру, на апдейтах доработанной схемы (иль биндера монстра) определяется текущий враг и устанавливвается или восстанавливается требуемая на него реакция...

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

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

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

Ужасная проблема, которую я не могу решить уже несколько недель:-( НПС, которые заспавнены на блокпосте, если я от них убегаю на расстояние, примерно до ж/д. моста, они разбегаются с блокпоста. А если не отхожу от них, они не разбегаются. Помогите решить эту проблему.

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

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

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

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

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

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

Войти

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

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

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