[SoC] Ковыряемся в файлах - Страница 478 - Скрипты / конфиги / движок - AMK Team

Технические работы

На форуме ведутся плановые технические работы.
Приносим извинения за временные неудобства.

Срок выполнения неизвестен
Время: с 23:00 по МСК
Перейти к контенту

[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

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

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

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

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

Вы сможете оставлять комментарии после авторизации



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

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