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

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


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

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

 

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

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

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

DarkSnowder.gif

Ссылка на комментарий
19 часов назад, UriZzz сказал:

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

@UriZzz, heal_wounds(float).

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

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

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

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

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

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

Здесь могла быть ваша реклама.

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

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

        db.actor:heal_wounds(1.0)

  • Полезно 3
Ссылка на комментарий

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

в файле 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

 

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

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

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

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

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

UriZzz.gif

Ссылка на комментарий
1 час назад, UriZzz сказал:

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

001.png

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

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

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

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):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]    : Недопустимый дескриптор окна.

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

  • Полезно 1
Ссылка на комментарий
8 часов назад, Купер сказал:

между конкретными

Это, типа, на распальцовке которые?

Переход как организован - прописан в алл.спавн или скриптово создается? Эти "конкретные" локации - оригинальные или добавлены вами?

P.S.

Учитесь правильно формулировать вопрос. Не мое авторство, но кем-то сказано гениально: правильно заданный вопрос - уже половина ответа на него...

  • Нравится 1
  • Согласен 2
  • Смешно 2
Ссылка на комментарий

Отнюдь. Это те, которые конкретные.

 

Поучусь, пожалуй, правильно формулировать вопросы. Net_packet level_changer-а:

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

 

function create_level_changer(p_story_id, p_position, p_lvertex_id, p_gvertex_id, p_dest_lv, p_dest_gv, p_dest_pos, p_dest_dir, p_dest_level, p_silent)
    local obj = alife():create("level_changer", p_position, p_lvertex_id, p_gvertex_id)
    --level.map_add_object_spot(obj.id, "level_changer", "")
    local packet = net_packet()
    obj:STATE_Write(packet)
    local game_vertex_id = packet:r_u16()
    local cse_alife_object__unk1_f32 = packet:r_float()
    local cse_alife_object__unk2_u32 = packet:r_u32()
    local level_vertex_id = packet:r_u32()
    local object_flags = packet:r_u32()
    local custom_data = packet:r_stringZ()
    local story_id = packet:r_u32()
    local spawn_story_id = packet:r_u32()
    local shape_count = packet:r_u8()
    for i=1,shape_count do
    local shape_type = packet:r_u8()
    if shape_type == 0 then
    local center = packet:r_vec3()
    local radius = packet:r_float()
    else
    local axis_x_x = packet:r_float()
    local axis_x_y = packet:r_float()
    local axis_x_z = packet:r_float()
    local axis_y_x = packet:r_float()
    local axis_y_y = packet:r_float()
    local axis_y_z = packet:r_float()
    local axis_z_x = packet:r_float()
    local axis_z_y = packet:r_float()
    local axis_z_z = packet:r_float()
    local offset_x = packet:r_float()
    local offset_y = packet:r_float()
    local offset_z = packet:r_float()
    end
    end
    local restrictor_type = packet:r_u8()
    local dest_game_vertex_id = packet:r_u16() 
    local dest_level_vertex_id = packet:r_u32() 
    local dest_position = packet:r_vec3()
    local dest_direction = packet:r_vec3()
    local dest_level_name = packet:r_stringZ()
    local dest_graph_point = packet:r_stringZ()
    local silent_mode = packet:r_u8()
    packet:w_begin(game_vertex_id)
    packet:w_float(cse_alife_object__unk1_f32)
    packet:w_u32(cse_alife_object__unk2_u32) 
    packet:w_u32(level_vertex_id)
    packet:w_u32(bit_not(193))
    packet:w_stringZ(custom_data)
    packet:w_u32(p_story_id)
    packet:w_u32(spawn_story_id)
    packet:w_u8(1)
    packet:w_u8(1)
    packet:w_float(2)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(4)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(4)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_float(0)
    packet:w_u8(3)
    packet:w_u16(p_dest_gv)
    packet:w_u32(p_dest_lv)
    packet:w_vec3(p_dest_pos)
    packet:w_vec3(p_dest_dir)
    packet:w_stringZ(p_dest_level)
    packet:w_stringZ("start_actor_99")
    packet:w_u8(p_silent)
    packet:r_seek(0)
    obj:STATE_Read(packet, packet:w_tell())
end

 

Вызывается:

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

 

function level_to_level_dest()
   create_level_changer(story_id, vector():set(x, y, z),  l_vid, g_vid,
   l_vid_dest, g_vid_dest, vector():set(x, y, z),vector():set(x, y, z),"level_name_dest", silent_mode)
end

 

При установке silent_mode = 1

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

 

stack trace:

001B:03BE5AF0 xrGame.dll

001B:00423CF5 XR_3DA.exe, IInputReceiver::IR_OnDeactivate()

001B:00412076 XR_3DA.exe, CApplication::OnEvent()

001B:004BAE80 XR_3DA.exe, CEvent::Signal()

[error][     183]    : Невозможно создать файл, так как он уже существует.

 

При размещении в all.spawn - лог выше.

 

Мда, и менторы притихли... Какая незадача.

Переход с добавленной локации на стандартную.

 

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

Здравствуйте.

Репу в процессе игры можно как-то поправить или никак?

Через game_relations.ltx совсем не вариант.

 

PS: тапёра бы в бар посадить...

PPS: Сам эти дни ничего не делал с игрой и тупо лёжа на диване стрелял в бармена...

Ссылка на комментарий
1 час назад, Saboteur сказал:

Репу в процессе игры можно как-то поправить

Да, можно ф-ией 

db.actor:change_character_reputation(number)

  • Согласен 1

Здесь могла быть ваша реклама.

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

@mole venomous спасибо за ответ.

Я неправильно выразил мысль.

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

Т.е., допустим, мы попортили репу с долгом,

Приходим к бармену и у нас диалог появляется,

- Ну кому ты сегодня опять успел насолить?

- Да я это, как его...

- Говори, не бойся - порешаем.

- С долгом что-то не то вышло.

- С долгом? Ну сейчас посмотрим что ты там отчубучил.

...

- Ты, что - дурной? Ты зачем вынес базу? Тебе будет это стоить... (появляется сумма).

И варианты ответов:

- Извини, у меня тет таких денег.

- Деньги - тлен. Платим.

 

Репу отремонтировали.

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

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

Но так или иначе, нужно создавать диалог, который доступен лишь при условии, что ГГ кому то враг или имеет плохую репу. 

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

 

 

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

Здесь могла быть ваша реклама.

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

@Купер , а переходы между другими локациями работают нормально? Тогда, может быть, дело в гейм-графе - какая-то ошибка или сбой при подключении локации. Но это не точно. И, да, вылет происходит на загрузке после перехода, или сразу, как только начинается переход? Если второе, то точно какая-то проблема с уровнем.

Изменено пользователем naxac
  • Полезно 3

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

naxac.gif

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

Всем вечера доброго! При распаковке спавна от НС16, вылазит данная ошибка(наверное) и распаковка прекращается...

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

 

1.png

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

@КрИвОй БоБ тут и дальше. Общий принцип. Кто-то из разработчиков во времена оны выкладывал. Не факт, что для актуального патча, но принцип понятен: ACDC НС-16.

  • Полезно 3
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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