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

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

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

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

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


Подарки

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

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

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

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

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

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

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

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

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

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

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

    ...

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

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

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

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

     

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

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

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

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

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

     

     

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

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


    Подарки

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

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

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

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

    naxac.gif


    Подарки

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

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

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

     

    1.png


    Подарки

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

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

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

    Кто-нибудь пытался сделать ролик по этой инструкции?

    http://stalkerin.gameru.net/wiki/index.php?title=Создание_и_конвертирование_видеофайлов_в_игровой_формат

    Первый вариант не работает, т.к.  нужный кодек Theora  не появляется в списке доступных. Перебирал старые версии паков - без толку.

    Второй вариант работает, но прога жутко режет битрейт. Для сравнения у меня на выходе получается 8 кбит/сек, в то время как у оригинальных в среднем 300-500 кбит/сек (dream_rats - 831!) Естественно, выглядит мой ролик не очень.

    Есть какие-то мысли, что с этим делать? 

    У второй проги есть настройки, только не пойму, как ими пользоваться. Кто-то знает?

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

    Вот так попробовал:

    ffmpeg2theora-0.23 glitch.m2v -o glitch.ogv     --videoquality 10   --videobitrate 16778

    Т.е. выставил максимальные качество и битрейт. На выходе получил 29 кбит/сек. Уже лучше, но далековато еще до нормы:grin2:

    Ссылка на комментарий
    6 минут назад, Muzafir сказал:

    ffmpeg2theora-0.23 glitch.m2v -o glitch.ogv     --videoquality 10   --videobitrate 16778

    ffmpeg2theora-0.23 --videoquality 10   --videobitrate 16778 glitch.m2v

    Так пробуй.

    Можно онлайн конвертером воспользоваться, если не получается. https://video.online-convert.com/ru/convert-to-ogv

    Изменено пользователем ed_rez
    • Спасибо 1

    ed_rez.gif

    c1f11b67ff360413e81b4e4dcf21eb41.jpg


    Подарки

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

    Ок, спасибо, сейчас попробую. Мой ролик после конвертации игра не принимает. Просто крашится без лога, когда он начинается

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

    А где прописываются кнопки по умолчанию для панели управления в настройках? Добавил туда один элемент. Но надо назначать кнопку управления. И два элемента тоже не назначены.

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

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

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

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

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

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

    Войти

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

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

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

    AMK-Team.ru

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