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

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


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

Видимо, не хватает анимации. Попробуй сравнить модель actors\stalker_nebo\stalker_nebo_2 с какой--нибудь из стандартных.

 

 

Попробуй сравнить модель

Сравнивал, но ничего не нашёл. Может не на то смотрю?..

Раньше...

Подскажите, пожалуйста, как добавить шрифт в игру, а то альфа α, бета β и т.д. отображаются в виде "?".

Это вопрос не из темы "ковыряния", а из темы "у меня есть проблема" - помогите.

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

Изменено пользователем monk
  • Нравится 2

Раньше...

Прошу подсказать, что в логе означают строки типа: 

! cannot find special danger animations for object with visual actors\stalker_nebo\stalker_nebo_2, и как с ними бороться?

Есть кое какая инфа, вот тут http://sigerous.ru/forum/96-119?s=cannot+find+special+danger+animations

  • Спасибо 1
%C0%EA%E5%EB%EB%EE.gif

@monk,

 

 

! cannot find special danger animations for object with visual

в ЧН встречается довольно часто и на разных моделях. Проблем в самих моделях нет (я разбирал эту тему). Сбой движка при обработке анимок. Обычно не приводит к вылету, хотя у меня бывали. Если перезагрузить игру, проблема исчезает. Если сохраниться во время сбоя, может побиться сейв. В общем я не могу указать причину проблемы, но - 100% проблема не в моделях ибо глюк вылазит и на ориг. моделях и на правленых, новых...

 

 

в ЧН встречается довольно часто и на разных моделях. Проблем в самих моделях нет (я разбирал эту тему)

Я тоже эту тему расковырял. Грешу, что это всё из-за паники НПС.

 

 

Обычно не приводит к вылету, хотя у меня бывали.

Если этого перса вовремя не пристрелить, то случится переполение по памяти и - вылет на рабочий стол.

 

 

Если перезагрузить игру, проблема исчезает.

Только так. Память очистится и игра пойдёт без сбоев.

Раньше...

 

 

! cannot find special danger animations for object with visual

Такое же инф.сообщение, как и о том, что некий звук не настроен в сдк (missing ogg-comment) и вылетов по этому поводу не случалось. А чтобы не засоряло лог, достаточно удалить/закомментировать строку special_danger_move в state_lib.script, она там только у состояния raid (ещё есть в state_mgr, но в виде условия). Место, где можно проверить изменение - сценка после захода в комнату, где антенна монолита (в Припяти, задание "зачистить магазин Книги"), постоянный вывод данного сообщения, и именно на модель Соколова.

 

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

stalker_animation_torso.cpp (это только место, где сделан вывод сообщения),

 

MotionID CStalkerAnimationManager::aim_animation (const u32 &slot, const xr_vector &animation, const u32 &index) const

{

if (!m_special_danger_move)

return (animation[6].A[index]);

 

if (slot != 2)

return (animation[6].A[index]);

 

#if 1//def DEBUG

if (animation[6].A.size() < 7) {

Msg (

"! cannot find special danger animations for object with visual %s",

object().cNameVisual().c_str()

);

return (animation[6].A[index]);

}

#endif // DEBUG

 

switch (index) {

case 0 : return (animation[6].A[4]);

case 2 : return (animation[6].A[5]);

case 3 : return (animation[6].A[6]);

default : NODEFAULT;

}

 

#ifdef DEBUG

return (MotionID());

#endif // DEBUG

}

 

  • Спасибо 2
  • Полезно 1

@h0N0r, а если не комментировать строку, а прописать вместо special_danger_move = true - special_danger_move = false? Последствий не будет?

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

Раньше...

Честно, не помню - делал ли так и пока нет возможности проверить.

  • Спасибо 1

Подскажите можно ли объединить два сквада сталкеров в один по получению определенного инфопоршня?

Если не в поле зрения ГГ, то можно убить оба сквада и спавнить новый, с заранее прописанными НПС.

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

Подскажите можно ли объединить два сквада сталкеров в один по получению определенного инфопоршня?

 

 

Можно! Такое возможно и без убийства сквадов(проверил в ЧН). Посмотри, что происходит в скваде при спавне/смерти НПС-члена сквада?

На примере ЗП:

 

Смерть:

-- Убийство НПС
function sim_squad_scripted:on_npc_death(npc)

Тут явно, его исключают из сквада (self:unregister_member(npc.id) )

 

Спавн:

function sim_squad_scripted:add_squad_member(spawn_section, spawn_position, lv_id, gv_id, sect_number)

А тут, его как раз таки добавляют ( self:register_member(obj.id) ).

 

Ответ: можно, ч.т.д.)

 

 

function sim_squad_scripted:add_squad_member(spawn_section, spawn_position, lv_id, gv_id, sect_number) А тут, его как раз таки добавляют ( self:register_member(obj.id) ).
А как это в логике записать? До меня туго доходит как-то  :unknw:

 fastique

Я могу тебе только немного подсказать: 

1. В логике делаешь действие: %=my_function%

2. В xr_effects объявляешь функцию:

function my_function(actor, npc, p)
--code
end

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

 

1. Очень нехорошее, но пожалуй самое простое: в биндер сквадов sim_squad_scripted на метод Update повесить проверку по типу:

Если есть_инфа И id_squad==нашему ТО
   делаем анрегистр НПС из сквада

А для регистрации аналогично. Вот только тебе лучше на НПС повесить стори_ид, чтобы легче было получить их объекты.

2. Посмотри что лежит в таблице squads в sim_board? По-моему там таблица нечто: squad_id = squad_obj(серверный объект причем)

Помогите пожалуйста дайте тутор как затолкать вот эту свдэшку в сталкер зов припяти http://cats-xray.ru/load/6-1-0-2273

 

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


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


Пожалуйста!!))

Изменено пользователем warwer
  • Согласен 1

maksimtaz21083, На этом сайте есть очень много всевозможных уроков по сталкеру: http://stalkerin.gameru.net/wiki/
Тебе конкретно нужны вот эти две: http://stalkerin.gameru.net/wiki/index.php?title=Создание_нового_оружия http://stalkerin.gameru.net/wiki/index.php?title=Редактирование_оружия
 
P.S. Просьба к куратору темы перенести этот и предыдущий пост в соответствующую тему: [CoP] Ковыряемся в файлах .

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

[Внимание, длинно-пост]

 

Ребят, а кто-нибудь ковырялся в ЗП до такой степени, чтобы убрать практически все lua-скрипты (включая «системые») из игры? Причину, по которой я спрашиваю об этом проще всего объяснить на примере:

 

Есть сталкер Вуася, который пару дней назад помог другому сталкеру (дал аптечку и зафрендился) из другого сквада. Завтра Вуасю застрелят реальные пацаны, а через несколько часов после смерти его найдут свободовцы и отправят автоматическое сообщение о смерти сталкера. Начинается самое интересное, Григорий (это тот мэн, которому Вуася дал аптечку) пойдет к Сычу за информацией о том, кто шлепнул жмура. Получив информацию, Григорий узнает, что топать ему с его сквадом на Юпитер. Сквад сталкеров перебирается на Юпитер, где идет на завод, дабы шлепнуть реального пацана и его сквад.

 

Но на этом дело не заканчивается. Я хочу формировать группу событий. Ясный пень – тройку новичков-сталкеров могут реальные пацаны одолеть, поэтому события собираются в пул и начинается месиво. Например сквад долговцев отправили в тот сектор, где они с удовольствием примут участие в перестрелке.

 

 

 

На данный момент лишь базовое:

– hit-callback – каждый раз, когда в npc попадают, регистрируется bone_index, чтобы потом можно было оценить степень убитости

– death-callback – после убийства регистрируется кто убил, и убили ли жертву когда та была ранена

– loot-callback – срабатывает когда труп шманают и в зависимости от того, кто шманает, будет отпрабатываться та или иная логика (например бандиты не всегда будут отписывать о том, что они убили жмура, а сталкеры найдя труп будут отправлять авто-сообщение, для них это святой неписаный закон)

 

Над чем колдую сейчас:

– работаю над схемой для сообщений. Например сообщение: «Чуваки, на Юпитере химера завелась» будет отправлено в том случае, если химера, мочканувшая сталкера – жива. Под схемой я подразумеваю блок универсальных фраз, с помощью которой можно будет строить сносные (и разнообразные) предложения, а не «погиб сталкер: химера» (не в обиду, труд уважаю и понимаю что некоторым действительно трудно сочинять текст, сам думаю как буду с этой бедой разбираться).

 

 

 

 

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

 

 

 

Понятное дело, что для подобной концепции может потребоваться значительное изменение (причем, очень может быть, что не только со стороны lua-скриптов).

 

1. Насколько сильно можно «отчистить» скрипты+конфиги? То есть довести до такого состояния, что загружается только самый минимум, без чего игра крешится.

 

2. Как много в ЗП заточено на стороне движка? Я имею ввиду именно скриптовую часть. Знаю что некоторые функции (например в trade_manager кажется) вызываются со стороны движка (судя по комментам в скрипте).

 

3. Кто-нибудь делал переход npc с одной локи на другую? То есть npc дошел до места перехода на Юпитер и там уже мы его хоп и забрали.

 

4. Пока не разбирался, но npc можно ставить задание по типу (сходи с менами убей долговца)?

 

5. В lua есть корутины (coroutines), основоное предназначение которых заключается в дроблении высоконагруженных процессов (перебор очень больших массивов например). Вопрос: есть ли что-то, что можно использовать чтобы запускать скрипт на фоне и с пониженным приоритетом?

 

 

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

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

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

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

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

Войти

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

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

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