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

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

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

1 час назад, DarkSnowder сказал:

никаких рестрикторов в том то и дело на пути ни у кого нет.

А как вы это определили?  Посмотрите радиус и тип  рестра, который сказал вам ВинКап - возможно, он дстатоточно большой, чтобы захватывать доступные нпс точки пути.
Тут такое дело - если рестриктор с типом 2, то он будет добавлен каждому  неписю в ин_рестрикшнс без всяких доп. указаний, по умолчанию. 
Лучше всего - вывести для проблемного НПС-а всё, что у него в ин_рестрикшнс, и уже там будет видно, что конкретно ему мешает.

След от кругов на воде - это тоже след (с)

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

@WinCap @Okichi Да, действительно дело было в реестре - удалил их всех и всё заработало. Чтож, буду восстанавливать их потихоньку и смотреть, какой реестр был глючным.

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

Добро всем.

 

Решил адаптировать функцию медика в ТЧ, перенёс диалог, внёс все нужные функции, и при старте диалога на мед помощь выскакивает вот такой вылет

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

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: d:\s.t.a.l.k.e.r\gamedata\scripts\dialogs.script:330: attempt to compare number with nil
 

stack trace:

 Ссылается он вот на эту функцию проверки состояния здоровья игрока

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

function actor_needs_bless(first_speaker, second_speaker)
    if db.actor.health < 1 or
            db.actor.radiation > 0 or
            db.actor.bleeding > 0 then
        return true
    end

    return false
end

В частности на db.actor.bleeding > 0 then.

Я так понял всё дело в цифре 0, но как тогда в ТЧ проверку на кровотечение сделать в пределах этой функции. В скриптах родного ТЧ ничего такого не находил пока что.

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

-- Medic support
function medic_magic_potion(first_speaker, second_speaker)
    db.actor.health = 1
    db.actor.power = 1
    db.actor.radiation = -1
    db.actor.bleeding = 1
end

function actor_needs_bless(first_speaker, second_speaker)
    if db.actor.health < 1 or
            db.actor.radiation > 0 or
            db.actor.bleeding > 0 then
        return true
    end

    return false
end

function actor_is_damn_healthy(first_speaker, second_speaker)
    return not actor_needs_bless(first_speaker, second_speaker)
end

 

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

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

@DarkSnowder, если правильно помню, в ТЧ для кровотечения только чтение - db.actor:get_bleeding().

Изменено пользователем WinCap
Ссылка на комментарий
Поделиться на других сайтах

@WinCap тут дело в том, что функция при диалоге на лечение в случае оказании помощи игроку не может это кровотечение остановить, то бишь значение > 0 она не определяет как прекращение кровотечения у ГГ. Если ёё закомментировать, вылет пропадает, но кровотечение у ГГ не вылечивается. Дело не в том, что там некорректно указано db.actor.bleeding, а то, что числовое значение > 0 для него указано некорректно. Вот меня и интересует, какое значение там должно быть, чтобы лечение ГГ шло как по маслу.

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

@DarkSnowder а после db.actor разве не двоеточие?

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

Моя нычка номер 1, Нычка номер 2

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@UriZzz Нет, в оригинальном скрипте одна точка. При двоеточии вылет без лога, проверял.

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

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

  • Согласен 3
  • Полезно 1
  • Сочувствую 1
Ссылка на комментарий
Поделиться на других сайтах

@I am Dead но можно эмулировать, путём спавна в инвентарь и съедания бинта. Костыльно конечно...

Мож что в x-ray ext есть???

Моя нычка номер 1, Нычка номер 2

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@I am Dead Я помню, что когда ещё в команде DRDA был тоже эту функцию переносил и над ней сидел, сидел, и вроде бы как то я даже смог заставить кровотечение исчезать при лечении ГГ. Но вот ток как я это сделал (а главное, сделал ли вообще) уже и не помню, давно это было.

 

Просто давать возможность ГГ вылечиваться у медика без аннулирования кровотечения - такое себе мероприятие.

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

Лучше сделать мод с 0, чем пытаться залатать багованный.

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

19 часов назад, UriZzz сказал:

Мож что в x-ray ext есть???

@UriZzz, heal_wounds(float).

@DarkSnowder , отрицательный хит попробовать? Хотя, далеко не факт...

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

Ребята а как сделать рандомное выпадение лута в ящиках и кейсах. Может скрипт у кого есть или только в алл. спавне

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

@Stalkersof В all.spawn указывать нужный комьюнити бокса, а править конфиги лута боксов в файлах ph_box_items_бла-бла-бла и если есть новые секции боксов, их в xr_box.script.

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

@DarkSnowder для RMA (правда, он на X-ray extensions) делал лечение как в ЗП, для прекращения кровотечения:

        db.actor:heal_wounds(1.0)

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

Непонятки со спавном, по наводке... 

в файле alife_l06_rostok.ltx встречается ограничение для зомбированных:
base_out_restrictors = bar_evil_veterans_restrictor
Хотя такого рестриктора в оригинале вообще нет. Подозреваю, остатки от билдов 2232, 2571 и 2588, где были безумные ветераны на Ростке и квест на их устранение. Попробую посмотреть, где этот рестриктор в спавне билдов...

UPD. Такой рестриктор есть в спавне 2571, а ограничения base_out_restrictors прописаны для секций тех самых безумных ветеранов. В оригинале их секции тупо заменили на секции зомбированных (да ещё и с профилями yan_zombied). В общем, теперь только бы знать, куда рестриктор правильно заспавнить, можно как-нибудь узнать соответствие координат билда 2571 относительно оригинала?

В 2571 координаты такие:

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

position = -239.153427124023, 3.92397832870483, 17.28244972229
direction = 0, -0.516600370407104, 0
game_vertex_id = 1289
level_vertex_id = 69328

 

Изменено пользователем Капрал Хикс
Ссылка на комментарий
Поделиться на других сайтах

@Капрал Хикс тут либо дворик с кэмпом за стройкой, где мерки респавнятся, это касаемо ветеранов. По моему на этот счёт какой-то квест в РМА есть, но это не точно. Либо туннель с жарками, что бы не пропускать жмуров дальше - на Росток.

Вобщем как то так...

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

Моя нычка номер 1, Нычка номер 2

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

1 час назад, UriZzz сказал:

Вобщем как то так...

001.png

Вот тут этот рестриктор должен находиться в оригинале, если кому интересно.

Изменено пользователем Капрал Хикс
Ссылка на комментарий
Поделиться на других сайтах

@Капрал Хикс это по ходу тот самый дворик в котором костёр, ящик и вагончик, в котором, по моему, какой то Броник должен лежать, кажется свободовскиц лёгкий...

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

Моя нычка номер 1, Нычка номер 2

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

X-Ray Extensions.

При переходе между конкретными локациями движок крашит:

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

stack trace:
0023:05355AF0 xrGame.dll
0023:00423CF5 XR_3DA.exe, IInputReceiver::IR_OnDeactivate()
0023:76B25DAA USER32.dll
0023:76B25487 USER32.dll
0023:76B11F8B USER32.dll
0023:757D9259 d3d9.dll
0023:76B2EDEB USER32.dll
0023:76B25DAA USER32.dll
0023:76B259AA USER32.dll
0023:76B2956F USER32.dll
0023:77BA4E7D ntdll.dll
0023:00DC8728 BugTrap.dll
0023:00DC6BDB BugTrap.dll, BT_MakeSnapshot()
0023:00DC6C25 BugTrap.dll, BT_SehFilter()
0023:779BEA92 KERNELBASE.dll
0023:77BD4883 ntdll.dll
0023:77B97A4E ntdll.dll
[error][    1400]    : Недопустимый дескриптор окна.

Никто не сталкивался? В какую сторону пробовать копать?

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

AMK-Team.ru

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