Перейти к содержанию

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

 
 
6 минут назад, АлеБард сказал:

мне нужно, чтобы нпс стояли на месте и просто исполняли свою анимацию

Секцию meet настройте. НПС будут вообще вас не замечать.

  • Спасибо 1

Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

makdm у меня секция meet вот так всегда выглядит:

Спойлер

meet            = no meet
close_anim         = nil
close_victim     = nil
victim_wpn      = nil
far_anim         = nil
far_victim         = nil
close_distance     = 0
far_distance     = 0

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


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

В логике 

meet = meet@standart

Секция

Спойлер

[meet@standart]
close_anim         = nil
close_victim     = nil
close_snd_hello = nil
close_snd_bye     = nil
far_anim         = nil
far_victim         = nil
close_snd_distance = 3
close_distance  = 0
far_distance     = 0
use = {=actor_enemy} false, true
allow_break = false
trade_enable = true
meet_on_talking = false

Так попробуй

 


Терпение... И все получится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b Вопросы по SDK (level editor, actor editor и т.д.) следует задавать тут. Нельзя ставить 2 одинаковых объекта одной секции с одним именем, к граф-поинту можете добавить в конце имени graph, главное это привязка к game_graphs.ltx.

  • Лайк 1

𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b Так у тебя graph_point и smart_terrain одинаковые названия имеют. Ты делай так: graph_point назови  - название_смарта_graph_point

  • Лайк 1

За Гранью Реальности

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

Спойлер

function travel_to_budushee(first_speaker, second_speaker)  
level.add_pp_effector ("fade_in.ppe", 333, false) 
db.actor:set_actor_position(vector():set(x   -259.87408447266,y  19.950771331787,z  261.50744628906),level_vertex_id  1592445,game_vertex_id  0)
end

с координатами и их записью как-то напортачил может? впервые такой мини телепорт делаю


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

АлеБард Зачем пользоваться этим васянством? Есть стандартная функция teleport_actor. Через диалог вызывается так:
xr_effects.teleport_actor(nil, nil, {"walk","look"}). walk и look - вейпоинты.


За Гранью Реальности

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

АлеБард У вас либо пример отформатирован сайтои неверно, либо тьма тьмущая синтаксмических ошибок в строке

db.actor:set_actor_position(vector():set(x   -259.87408447266,y  19.950771331787,z  261.50744628906),level_vertex_id  1592445,game_vertex_id  0)

а именно зачем-то указаны имена параметров x,y,z, level_vertex_id, game_vertex_id. Такая команда однозначно должна вылетать с логом.

  • Спасибо 1

Я логи в баню удалил, а вот за за рейдеры – не помню!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

BarmaGlot да, каюсь, я просто перекопировал сюда прямо с сайта, с которого брал скрипт и не почистил. у меня в этой строке я стер все это. стер, да не все! z проглядел и не удалил, потому и не работало. спасибо за помощь!

  • Смех 1

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Здравствуйте, что нужно писать в кастом дате inventory box, чтобы заспавнить в нём какие-то предметы с начала игры?

UPD: Извиняюсь, нашёл сам

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

𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Добрый вечер, вопрос почему не читается логика нпс? Я создавал нпс через smart_terrain, но нпс почему то спавнится не на Anim_point, а где то на смарт террейне, скорее всего ошибка либо в каком то из этих файлов, но я проверял их и сверял с оригинальными, но не могу найти ошибку кто-нибудь может пожалуйста указать на ошибку, а если её нет в этих файлах, то подсказать где её ещё искать. 

escape_village_lion.ltx

escape_village.ltx

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b Спавн собирал? Название смарт-ковра точное?


𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b уверен что путь до файла с логикой в сдк верно прописан?

Спойлер

[story_object]
story_id = predbannik_bar_stalkers

[smart_terrain]
cfg = scripts\predbannik\smart\predbannik_bar_stalkers.ltx

Цитата

но нпс почему то спавнится не на Anim_point

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

Изменено пользователем АлеБард

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b Попробовал немного изменить твою логику, всё работает, бессмертие у нпс есть. Попробуй поставить эту
 

Спойлер

[logic@escape_village_lion]
active = animpoint@escape_village_lion
suitable = {=check_npc_name(escape_village_lion)}true
prior = 200
level_spot = quest_npc

[animpoint@escape_village_lion]
cover_name = escape_village_lion_animpoint
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false
meet = meet@escape_village_lion


[meet@escape_village_lion]
close_anim         = nil
close_victim     = nil
far_anim         = nil
far_victim         = nil
close_distance     = 0
far_distance     = 0
use = {=actor_enemy} false, true
snd_on_use = {!dist_to_actor_le(3)} nil
meet_on_talking = false

 


𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Кто-нибудь, подскадите, почему у меня лампочки на локации на статике есть, а на динамике нет? Лока портирована из Лост Альфы. На ней нет вообще динамического освещения почему-то, кроме парочки крутящихся alarm-ов. Я хз почему, толи спавн нормальн оне декомпилировался, толи что, но их нет. Зато есть обширная статика, так что на динамику свет можно легко перенести через скриптовую магию и активацию r2_allow_r1_lights on на нужной локации. Только вот источники света на динамике появляются, а лампочки (сами модельки) - нет. И я вообще не могу понять, что это за лампочки такие, как они сделаны. Судя по декомпилу, они не привязаны ни к спавну, ни к lights, ни к чему, это часть геометрии. Но это декомпил, так что черт его знает на самом деле. Думал, может thm файлы шалят, но так и не понял, какие опции в них могут на такое влиять. В общем, буду благодарен любой информации.

Наглядно показываю, о чем говорю:

Спойлер

lights.thumb.png.b80c566ddd920cceca27f7d4db1f0a02.png

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

АлеБард Всё указано верно

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

Ещё я заметил что если подойти к  нпс случается такой вылет

Expression    : fatal error
Function      : CScriptEngine::lua_pcall_failed
File          : C:\xray\stcop_engine\src\xrServerEntities\script_engine.cpp
Line          : 213
Description   : <no expression>
Arguments     : LUA error: ....r. call of pripyat3\gamedata\scripts\sound_theme.script:225: bad argument #1 to 'gsub' (string expected, got nil)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b Насчёт вылета попробуйте убрать строчку "snd_on_use = {!dist_to_actor_le(3)} nil" в секции meet. А вот насчёт не рабочей логики к сожалению не осталось идей исправления(


𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

FalkineIsaku Вылет остался, но и на этом спасибо, буду искать или снова переделывать 


Дополнено 27 минуты спустя

Добрый день, у меня наитупейший вопрос. в общем я перенес кордон и чн, в сдк создал спавн поинт игрока, вписал в файлах имя, снаряжение, но в игре этого нет, только персонаж со случайным именем и вообще другим инвентарем, даже не как в оригинале, я думаю может его надо где то ещё зарегистрировать или что-то другое, можете пожалуйста объяснить, что вообще надо делать для изменения гг

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b Поменяй класс персонажа на actor, там default обычно стоит.


𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

FalkineIsaku где именно, в сдк, в character_desc, в actor.ltx ещё куда?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

вроде простейший вылет, но стандартные методы его решения не помогают

Спойлер

Expression    : cross_table().header().level_guid() == level_graph().header().guid()
Function      : CAI_Space::load
File          : ai_space.cpp
Line          : 113
Description   : cross_table doesn't correspond to the AI-map

какие еще могут быть причины у этого вылета если: сетку вместе со спавном скомпилировал, level ai и новый all.spawn перенес в игру


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 26.08.2020 в 12:09, Overf1rst сказал:

Делать Compile → Build следует только в том случае, если нужно скомпилировать геометрию уровня!

Если это сделать ещё раз, папка с уровнем будет очищена, и тогда всё придётся компилировать заново. Отсюда и все вытекающие последствия с сеткой и спавном, которые не компилируются. Для начала надо будет снова собрать геометрию, чтобы, в свою очередь, собрать АИ-сетку!

Ещё раз по порядку: если у вас скомпилирована геометрия и нужно вносить правки только в спавн и в АИ - делать нужно исключительно Compile → Make Game и Compile → Make AI-map (тут порядок не важен). Далее, если собрана геометрия (в папке с уровнем есть build.cform), нужно скомпилировать АИ-сетку - tool_compile_xrAI.cmd. После этого уже можно начать компилировать спавн - tool_create_spawn.cmd. Локация должна быть зарегистрирована в конфигах.


Если есть скомпилированный уровень, который надо декомпилировать, то для дальнейшей компиляции АИ-сетки на нём в любом случае придётся компилировать геометрию, поскольку в релизные версии уровней не кладут файл build.cform!

у меня такой же вылет был, мне помог этот пост, но тебе может не поможет, не знаю


Дополнено 0 минут спустя

АлеБард 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

D37a8b В сдк


𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

FalkineIsaku  Спасибо, все работает, осталось мне разобраться с логикой 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн