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

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


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

kiv@, не жить вчерашним днём!

В ЗП, НПС спавнятся, во время игры, при помощи функции create_squad или, до начала новой игры, при помощи "прописки" сквада в файле simulation.ltx

На крайний случай, если нужно спавнить "отдельного" НПС - используется функция spawn_object.

Про all.spawn  можете забыть.

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

Вопрос по state_mgr. В ЗП часто онлайновые НПС во время выброса не успевают добежать до укрытия. Я решил устранить эту ошибку, но столкнулся с проблемой. В схеме xr_reach_task.script я добавил следующий код

if xr_conditions.surge_started() then
object:set_movement_type(move.run)
object:set_mental_state (anim.free)
return
end

if xr_conditions.surge_started() then
local dist = target.position:distance_to_sqr(object:position())
if dist >= 2500 then
state_mgr.set_state(object,"sprint")
else
state_mgr.set_state(object,"assault")
end
return
end

В итоге НПС никак не реагируют на state_mgr.set_state, просто идут пешком. Тут конечно можно было бы просто установить object:set_mental_state (anim.panic), но тогда нужно решать проблему со страппом/анстраппом оружия. Так вот почему не срабатывает state_mgr_movement.act_state_mgr_movement_run? Эвулатор eva_state_mgr_movement_run в методе evaluate возвращает true. Что ещё мешает выполнению "действия"?

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

У меня такой вопрос. Можно ли изменить полностью вид перекрестия прицела вместо этих палочек, но что бы оно дальше было активным, то есть раздвигалось? Один человек делал такое через скрипты. Ломаю голову уже давно, не знаю что делать! 

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

Кто нибудь подскажите где прописываются награды за квесты. Конкретно хочу просто изменить предмет, выдаваемый за квест Коряги. Нужно пистолет "фора" заменить на макаров. Где это сделать, чтобы при дележке гг получал макаров вместо "форы" и соответственно тоже самое при вскрытии у механика. Спасибо!

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

STRIFER, в dialogs_zaton.script

function zat_b33_transfer_first_item(first_speaker, second_speaker)
    local actor = dialogs.who_is_actor(first_speaker, second_speaker)
    dialogs.relocate_item_section(actor,"wpn_fort_snag","in")
end

 

Изменено пользователем Shredder
Ссылка на комментарий
(Зов Припяти) есть один вопрос... но блин по нему уроков нету... Связан с [animpoint] и смарт коверами! 

есть смарт pripyat_fmg3. Он на первом этаже здания. На крыше я хочу поставить квестового НПС. Что-бы он там стоял с определенной анимацией! в сдк смарт коверах нету просто stay или это не там прописывается? мне нужно, что-бы он там стоял! как это писать в логике? и в настройках смарта ? А то чет не догоняю... в squad_descr_pripyat в разделе отряда есть spawn_point. Что там писать? спейс рестриктор? или ещё что нить? мне нужно что-бы он проспавнился сразу на крыше, а не шел с 1 этажа.. как в ЗП скадовск... смотрел примеры Скадовска плохо понял... Если есть урок то скинь ссылку! заранее спс.. и если будете писать, пишите подробнее... заранее спс!
Ссылка на комментарий

FeLLoN, начну по порядку:

"На крыше я хочу поставить квестового НПС" - а есть ли на крыше АИ-сетка? Если её нет, то NPC будет уходить, либо, как это однажды было у меня, от пойдёт выше или ниже того места, куда ты его хочешь поставить (если там эта сетка есть) и "полетит" до назначенного тобой места, но, отыграв анимацию, "улетит" обратно.

 

в сдк смарт коверах нету просто stay или это не там прописывается?" - это зависит от вида работы, это либо WALKER, либо, ANIMPOINT (самые распространённые для таких целей), так вот, в первом случае анимация прописывается в путях (look_point, walk_point), во втором - в самом анимпоинте, но лучше в Логике.

[logic@esc_guarder]
suitable = {=check_npc_name(zat_b44_stalker_barge)} true ;проверка на то, чтобы данную работу выполнял определённый NPC, тут надо писать его id
prior = 100                       ;Приоритет работы (если пишешь больше 40, то нужно писать что будет, если начнётся Выброс, иначе под ним поляжет...
active = animpoint@guarder ;Секция активной работы

 

[animpoint@guarder]
cover_name = escape_podval_animpoint_guard_1 ;Имя анимпоинта
avail_animations = animpoint_sit_normal                 ;Название анимации

 

 

 

"В разделе отряда есть spawn_point. Что там писать?" - Тут писать надо точку пути из all.spawn :

[escape_podval_trader_spawn]
points = p0
p0:name = wp00
p0:flags = 0x1
p0:position = -244.312149,-24.794157,-134.595092 ;Позиция
p0:game_vertex_id = 1411                                         ;Гейм-вертексы
p0:level_vertex_id = 12816                                        ;Левел-вертексы

 

 

Работы на Artstationhttps://www.artstation.com/artist/stalker_lom

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

FeLLoN, анимация прописывается не в смарт коврах, а через аним пойнты (Way point). Если быть еще точнее, то в файлах логики, относящихся к нужному аним пойнту. 

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

Хызыр, ты зачем людей в заблуждение вводишь? Просто всё в кучу собрал.
Чтобы в ЗП НПС отыгрывал какую-то анимацию по логике, как уже описал выше Сталкер Лом, можно использовать 2 пути:
1) Через smart cover, логика animpoint;

2) Через walk и look way-поинты, логика walker.

Примеры Сталкер Лом так же привёл.

 

P.S. Для тех, кто в танке, уточняю anmpoint - это не way point, это название работы НПС.

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

Возможно ли сделать такой наномод, чтобы можно было разрядить все оружия в рюкзаке за буквально пару кликов мыши или клавы? Ато уже за столько времени на это уходит. Чтобы продать потом патроны. Не пользуюсь читами на деньги чтобы не испортить впечатления от игры. Последнее время увлекаюсь CoP

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

Можно ли прописывать оружие с установленными аддонами в продажу? Если да то какая должна быть строка?

Можно прописывать в инвентарь таким способом wpn_pm = 1, silencer \n, попробовал в продажу прописать примерно такое в нескольких вариациях, иногда вылетает, иногда ствол вообще не появляется в продаже.

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

Нет, в продажу таким способом не добавишь. Тут нужно писать скрипт, который будет спавнить стволы определённому торговцу уже с обвесами, другого способа я не знаю, да и врятли он есть.

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

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

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

Earth2Space, только тогда аддоны будут неснимаемыми. Ещё и иконку оружия с аддонами придётся рисовать.

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

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

Привет! есть один вопросик по скриптам... На счет вызова сообщения.

Мне нужно, что-бы при получении опр инфо поршня выдавалось сообщение 1 раз. Пытался сделать функцию... но словил вылет вот она:

 

function give_prov_mess()
if not db.actor:has_info("test_1")
if db.actor:has_info("give_mess")
then
db.actor:give_game_news("Неизвестно", "Грач это Проводник! Нужно встретится в подвале Гастронома", "ui_iconsTotal_lost_thing", 3000, 30000)
db.actor:give_info_portion("test_1")--выдача инфопоршня
end
end

 

Но поскольку мои знания  в скриптах равны 0, у меня ничего не получилось... Так как можно реализовать это? я убрал строчку if not db.actor:has_info("test_1") и функция работала.. я поставил её в update в stalker_binder... но после получения инфопоршня give_mess, это сообщение выдавалось бесконечно... Заранее спс!

 

и как можно запустить какую нибудь функцию через рестриктор %тут%... или там можно использовать функции заранее написанные в движке? ( ну или в др месте.. я незнаю просто )

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

Врeмя отоброжeния сообщeния постaвь одно <однa цифрa> 3000 или 6000

 

Зачем? В его случае, первая цифра - это задержка перед показом, вторая - время самого показа.

ColR_iT

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

FaLLoN

function give_prov_mess()
if not db.actor:has_info("test_1")
if db.actor:has_info("give_mess") and db.actor:dont_has_info("test_1") then
db.actor:give_game_news("Неизвестно", "Грач это Проводник! Нужно встретится в подвале Гастронома","ui_iconsTotal_lost_thing", 3000, 30000)
db.actor:give_info_portion("test_1")--выдача инфопоршня
end
end

 

 

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

Shredder, что-то ты поспешил...

Во-первых, вместо второго if нужно and.

Во-вторых, not db.actor:has_info("test_1") и db.actor:dont_has_info("test_1") - одно и тоже.

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

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

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

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

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

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

Войти

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

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

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