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

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

@losiara, после спавна сохрани ккда-нибудь id или имя объекта (в пстор), а в нужный момент - загрузи из пстора, получи объект и удали. И из пстора тоже, чтоб место не занимать. Изменено пользователем naxac

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Вечер добрый!!!

Никто не сталкивался с таким вылетом:

 

Expression : no_assert
Function : CALifeStoryRegistry::add
File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_story_registry.cpp
Line : 30
Description : Specified story object is already in the Story registry!

 

Появляется спустя некоторое время после начала игры может со свалки, а может и с Милитари по разному, при загрузке сохранений (любых) либо переходов между уровнями...

Ничего в дубле не спавнится от чего происходит...

Изменено пользователем losiara
Добавлено  BFG,

На главной странице форума, прямо под логотипом "АМК", есть строка.
В этой строке есть три красных буквы FAQ. Жми на них и ты перейдёшь на "Справочник по вылетам". Там, внутри справочника, по тэгу "Line:30", ты найдёшь и свой вылет и способ его устранения.

Жизнь следует измерять поступками, а не временем...

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

взгляд скриптово на каждую кость можно отследить? Или только на "особенные"?

Список где увидеть можно?

Можно ли узнать направление кости, т.е. допустим сторона коленки спереди сзади, сбоку?

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

 

 

Но как можно в 3д вырисовать линию направления?

Линия есть набор точек. Получаете вектор из точки А в точку Б, меняя его длину с желаемым интервалом, получаете этот самый набор точек, функция проекции точки в 3д на экран у вас уже есть.

Кстати по секрету. Этот набор точек вообще необязательно рисовать в 3д. Вы же проекции точек на экране рисуете. А экран это 2д-плоскость. вот и рисуйте в той же 2д-плоскости линию, связывающую две известные точки в этом же 2д. Я так и делаю :)

 

 

Подскажите, с чем может быть связан вылет?

Если перевести, то можно прочитать - попытка сравнения nil c юзердатой.

@HellRatz, Если не ошибаюсь, все пожелания из вашего поста достигаются при помощи модулей нетпакетов Артоса. И без переспавна или двойного спавна.

Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine.

В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает.

Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости.

 

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

Приветствую. А реально ли без правок движка на ТЧ (Ну максимум XE) штатными методами отлавливать определенное оружие в руках ГГ, и определенную анимацию отыгрываемую этим оружием в данный момент? Ну и повесить на все это дело выполнение функции, если условие оружие-анимация выполнено. Ну и конечно не одноразово бы, а постоянно проверять это. Пока оружие в руках - выполняем функцию.

 

достигаются при помощи модулей нетпакетов Артоса

Эх.. Если я это (И вообще скрипты) познаю когда-нибудь, может и да. А пока так :pardon:

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

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 10 PRO x64 / Samsung Curved 27" x2

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

@HellRatz, Привет)) Отловить можно так: 

local active_item = db.actor:active_item()
if active_item and active_item:section() == "твое_оружие"  then
...
end
Насчет анимаций, не знаю. Помню кто-то недавно уже задавал такой вопрос. Но можно еще с помощью ХЕ получить текущие состояние оружия:

local weapon_states = {
idle = 0,
fire = 1,
fire2 = 2,
reload = 3,
showing = 4,
hiding = 5,
hidden = 6,
misfire = 7,
mag_empty = 8,
switch = 9
}

local state = db.actor:active_item():get_hud_item_state()
if state == weapon_states.fire then
...
end

 

 

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

Это опять же можно делать и без ХЕ, нетпакетами.

Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine.

В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает.

Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости.

 

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

На практике подмена параметра owner_id не работает, кроме того аномалия может сработать и на нести урон нпс до перепрошивки. А вот переспавн работает просто идеально.

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

Хм... интересно. Насчет состояния оружия. У меня не получается отловить стэйт: mag_empty = 8. Другие состояния работают.

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

 

 

Ну и повесить на все это дело выполнение функции, если условие оружие-анимация выполнено.

 

А какую анимацию? Если перезарядку, то что-то типа такого:

 

 

local cur_wpn = {}
function on_update( delta )
  local wpn = db.actor:active_item()
  if not wpn then return end
  if not wpn:is_weapon() then return end
  if ( not cur_wpn.id ) or cur_wpn.id ~= wpn:id() then
    cur_wpn = {
      [ "ammo_n"       ] = wpn:get_ammo_in_magazine(),
      [ "has_gl"       ] = has_wpn_gl( wpn ),
      [ "has_silencer" ] = ( ogse_wpn_utils.get_silencer_status( wpn ) == 2 ),
      [ "id"           ] = wpn:id(),
      [ "weapon_state" ] = wpn:get_hud_item_state(),
      [ "wpn"          ] = wpn,
    }
    if cur_wpn.has_gl then
      cur_wpn.gl_mode = ogse_wpn_utils.get_gl_mode( wpn )
      cur_wpn.gl_name = get_string( wpn:section(), "grenade_launcher_name" )
    end
  end
  check_silencer( wpn )
  local state = wpn:get_hud_item_state()
  if state == cur_wpn.weapon_state then
    if state == weapon_states.fire then
      local ammo_n = wpn:get_ammo_in_magazine()
      if ammo_n ~= cur_wpn.ammo_n then
        cur_wpn.ammo_n = ammo_n
        ogse_signals.get_mgr():call( "on_actor_fire", cur_wpn )
      end
    end
  else
    cur_wpn.weapon_state = state
    if state == weapon_states.fire then
      cur_wpn.ammo_n = wpn:get_ammo_in_magazine()
      ogse_signals.get_mgr():call( "on_actor_fire", cur_wpn )
    elseif state == weapon_states.switch then
      if cur_wpn.has_gl then
        local gl_mode = ogse_wpn_utils.get_gl_mode( wpn )
        if cur_wpn.gl_mode ~= gl_mode then
          cur_wpn.gl_mode = gl_mode
          ogse_signals.get_mgr():call( "on_wpn_gl_mode", cur_wpn )
        end
      end
    elseif state == weapon_states.reload then
      if
        ( db.actor:is_actor_sprinting() or db.actor:is_actor_climbing() )
        and math.random() < level.get_game_difficulty() * 0.2
      then
        db.actor:drop_item( wpn )
        dsh.say_blin()
      end
    end
  end
end
 

Здесь обрабатывается стрельба, переключения подствольника и перезарядка. Сравнение с wpn:section() в начало уже сам добавить сможешь.

 

 

 

Ссылка на комментарий
Если перезарядку

Нет, увы, не перезарядку. Надо на idle, и пока у нас спокойное состояние, все это время выполняется функция. С этим все хорошо, это отловили. Сейчас вскрылась другая проблема: функция выполняется даже если в оружии нет патронов. Нужно как-то проверять патроны, если они = 0, то состояние idle не обрабатывается. Увидел, кстати, в твоем примере: [ "ammo_n" ] = wpn:get_ammo_in_magazine(), возможно, это то, что мне нужно?

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

GTA 3 MAP X-Ray | NFS U:2 MAP X-Ray | RTCW MAP X-Ray | L2D | Куча раритетных модов на моем облаке — на память о былом.

JNCR — Coming Soon...

i5-10400F / RAM 16GB / GTX 1660 Super / 1TB HDD+256GB SSDm2 / Win 10 PRO x64 / Samsung Curved 27" x2

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

 

 

wpn:get_ammo_in_magazine()

Да это именно оно.

Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine.

В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает.

Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости.

 

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

Камрады, поясните, кто знает. В Солянке в файле sak_off_corpses.script есть две таблицы: tabl_corpses и tabl_corpses_9510. Так понимаю, что в первую заносятся трупы,  которые убираются. А во вторую - которые не должны убираться, что ли (те, которым прописан story_id)?

Сталкер - наше всё!

Ссылка на комментарий
@AndrewMor, если я не путаю, в первую в цикле заносятся трупики, которые сейчас будут удалятся. Во вторую заносятся трупики, у которых story_id меньше 9510 и они не будут удаляться.
Ссылка на комментарий

@AndrewMor, если я не путаю, в первую в цикле заносятся трупики, которые сейчас будут удалятся. Во вторую заносятся трупики, у которых story_id меньше 9510 и они не будут удаляться.

Спасибо, я так и думал.

Сталкер - наше всё!

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

В движок залезть

Мод, где не бывает одинаковых путей - Судьба Зоны. На базе модифицированного движка OGSR Engine.

В пределах 2022 года я завершаю все разработки на базе движка X-Ray. Гайды по сделанному будут написаны, наработки по СЗ на базе X-Ray будут либо опубликованы, либо переданы тем людям кто этого заслуживает.

Дальнейшая разработка и реализация моих идей будет происходить на движке Unreal Engine. И где-то в пределах 2022 года, об этом совершенно точно, будут новости.

 

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

Как ловить хиты по актору?

Причём так же важен тип хита и от кого получен.

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

У ГГ есть кости?

Тогда так же если хит от удара или выстрела, то ещё и по какой кости ГГ пришёлся удар/выстрел.

Ссылка на комментарий
@FonSwong,если ты используешь x-ray extensions или OGSE, то там имеется колбэк, вызываемый перед обработкой хита. Вся нужная информация там имеется. Ты же, кажется, для OGSE делаешь? Найди там обработку бюрера, в скриптах. Ему из этого колбэка неуязвимость делается.
Ссылка на комментарий

Присоединиться к обсуждению

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

Гость
К сожалению, ваш пост содержит слова, запрещенные в нашем сообществе. Пожалуйста, измените ваш текст так, чтобы в нем не оставалось слов, указанных ниже. Помните, что публикация вами даже видоизмененного запрещенного слова может нарушать законодательство РФ и Правила форума.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

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

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

AMK-Team.ru

×
×
  • Создать...