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

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


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

Как можно в логике [smartcover] приказать нпс спрятать оружие? Я всё перебрал, но вспомнить не могу, что конкретно отвечает за это.

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

@Jurok, спасибо сработало. Но у меня баг закрался что ли в логику.

НПС без автомата, как и с  can_select_weapon = false не хочет работать с [smartcover]

dbc1ab2d359180ec28713deb0e3901f11fadf028

Даю автомат, нпс работает:

406b539b50c81788d0c644cbaf397ab81fadf028

Я уже голову сломал. Нужен скриптёр.

Изменено пользователем Дизель
Ссылка на комментарий
15 минут назад, Дизель сказал:

Как можно в логике [smartcover] приказать нпс спрятать оружие? Я всё перебрал, но вспомнить не могу, что конкретно отвечает за это.

 

Не было случая проверить, но из xr_smartcover.script,281

weapon_type = none ;strapped ;unstrapped

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

Я начал откат до оригинала, и что то меня стали терзать мутные сомнения в адекватности оригинала. Баг этот от разрабов походу.

 

loophole_name = и в оригинальном исполнении так же себя ведут с родными нпс. Или я туплю - второй вариант вероятнее.

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

или оставить только пистолет

Добавлено Expropriator,

Наоборот - только в автоматом работает анимация. С пистолетом так же баг.

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

Я вот что хочу сказать. Логику эту скорее всего почикали, и она уже не та что была в ЧН.

Скрытый текст

 

На Затоне нет такой логики вообще.

На Юпитере один боевой ковер:

gamedata\configs\scripts\jupiter\jup_b1_stalker_4.ltx(35):loophole_name = stand_front_left

В Припяти боевые коверы:

gamedata\configs\scripts\pripyat\pri_a18_vano.ltx(88):loophole_name = crouch_front_left
gamedata\configs\scripts\pripyat\pri_a18_vano.ltx(113):loophole_name = crouch_front_left
gamedata\configs\scripts\pripyat\pri_a18_vano.ltx(172):loophole_name = stand_front_left
gamedata\configs\scripts\pripyat\pri_a18_vano.ltx(196):loophole_name = crouch_front_right

gamedata\configs\scripts\pripyat\pri_a18_vano.ltx(223):loophole_name = stand_front_right
gamedata\configs\scripts\pripyat\pri_a18_sokolov.ltx(102):loophole_name = crouch_front_right
gamedata\configs\scripts\pripyat\pri_a18_sokolov.ltx(127):loophole_name = stand_front_left
gamedata\configs\scripts\pripyat\pri_a18_sokolov.ltx(199):loophole_name = crouch_front_left
gamedata\configs\scripts\pripyat\pri_a18_skelja.ltx(96):loophole_name = crouch_front_right
gamedata\configs\scripts\pripyat\pri_a18_skelja.ltx(120):loophole_name = stand_front_left
gamedata\configs\scripts\pripyat\pri_a18_skelja.ltx(188):loophole_name = crouch_front_left
gamedata\configs\scripts\pripyat\pri_a18_merkulov.ltx(83):loophole_name = crouch_front_left
gamedata\configs\scripts\pripyat\pri_a18_merkulov.ltx(106):loophole_name = crouch_front_left
gamedata\configs\scripts\pripyat\pri_a18_merkulov.ltx(162):loophole_name = stand_front_left
gamedata\configs\scripts\pripyat\pri_a18_merkulov.ltx(185):loophole_name = crouch_front_right
gamedata\configs\scripts\pripyat\pri_a18_merkulov.ltx(211):loophole_name = stand_front_right

 

И всё. Поэтому смартковеры ЧН в ЗП в скриптах и вырезали.  Так что я жду вразумений.

 

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

 

 

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

1a2cb8fd5c177bf57ae762379b65cbf91fadf228

 

Я смог водрузить нпс в [smartcover] без оружия. Всё ништяк работает.

Только я две вещи сделал: В ЗП вернул в движке коверы ЧН и поменял структуру алспавна (под ЧН).

acdc.pl ЧН
 

Скрытый текст

 

package cse_smart_cover;
use strict;
use constant properties_info => (
    { name => 'unk1', type => 'sz' }, #0xe4 clear sky
    { name => 'unk2', type => 'f32v3' }, #0xe8 clear sky
    { name => 'unk3', type => 'u8' },
{ name => 'last_description', type => 'sz' },
{ name => 'loopholes', type => 'u8' },
);

 

 

 

Это свойства ковера  в спавне.

Скрытый текст

; cse_smart_cover properties
unk1 = cover_loophole_lead_sit_sleep_mechanic
unk2 = 0,15,10
unk3 = 0
last_description = cover_loophole_lead_sit_sleep_mechanic
loopholes = 0

 

Правки движка большие, все не войдут на страницу.

Если что приходите за советом! Вот только надо ещё [animpoint] проверить, а то как раз...

Да и еще я se_smart_cover.script ЧН внедрил. Что конкретно повлияло - не знаю, наверно сумма.

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

Всем привет. Столкнулся с проблемой. Меняю в all.spawn поворот npc (direction), но в игре ничего не меняется (изменение параметра direction и у самого гг не дает результатов). Персонажей и гг спауню не на оригинальных локациях. Сталкивался кто с подобной ситуацией?

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

@Bandito , напрвление взгляда нпс определяет его логика.

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

Изменено пользователем naxac
  • Согласен 1
Ссылка на комментарий
Только что, naxac сказал:

@Bandito , напрвление взгляда нпс определяет его логика.

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

Т.е. параметр direction в all.spawn не влияет на поворт Npc?

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

@Bandito, в простой логике look  вейпоинт, либо анимация смартковера ( поворот смарт-ковера) определяет направление взгляда нпс.

Параметр direction и всё остальное, только для спавна. Без логики нпс не будет стоять на месте - уйдёт погулять.

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

Создал простую функцию, которая начисляет "опыт" ГГ при убийстве НПС. Не могу сохранить эти данные в игре, при лоаде все обратно возвращается на 0. Наставьте на путь истинный, я без понятия как эти данные правильно сохранять.
Функция:



point_skill = 0
rank = 0
need_init = false

function kill_exp()
    local rank_random = math.random(1, 90)
    point_skill = point_skill + rank_random
    rank_random = nil
    need_init = true
end

function actor_on_update()
    local hud = get_hud()
    hud:AddCustomStatic("skills_static")
    hud:GetCustomStatic("skills_static"):wnd():TextControl():SetTextST("Опыт: "..point_skill.."")
    end

---------->>[[Загрузка\Сохранение пакетов]]<<-----------
-- Сохраняем

function save(package)
    package:w_u32(point_skill)
end

-- Загружаем
function load(package)
package:r_u32(point_skill)
end

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

-- Загружаем
function load(package)
package:r_u32(point_skill)
end

 

@XMODER, попробуй так:

function load(reader)
	point_skill = reader:r_u32()
end

 

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

Нашел баг разрабов info_jupiter.xml (только этот файл битый, другие работают).

 

FATAL ERROR
 [error]Expression    : false
[error]Function      : CXml::Load
[error]File          : .\xrXMLParser.cpp
[error]Line          : 87
[error]Description   : XML file:gameplay\info_jupiter.xml value: errDescr:Error reading Attributes.

 

 

    <info_portion id="jup_b208_burers_hunt_done"></info_portion>

Инфопорция имеет дубль в одном файле.

 

Что то я поспешил - дело мутное. Дело не в этом.

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

    <info_portion id="jup_b6_scientist_biochemist_anomalous_grove_done""></info_portion>

Второй косяк "". Это последний. Заработало. Как еще оригинал работает - не понятно.

Изменено пользователем Дизель
Ссылка на комментарий
10 часов назад, Дизель сказал:

Как еще оригинал работает - не понятно.

Ну, у меня в акелпаде подсветка синтаксическая показывает, что всё норм, значит такое допустимо.

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

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

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

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

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

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

Войти

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

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

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