Перейти к содержанию

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

 
 

AziatkaVictor  
1. Нумерация смарттерейнов.
2. Правильный адрес на файл логики смарттерейна  в кастом дате,  у каждого смарта отдельный файл логики.
Или ищи проблему в файлах логики...

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

Группа мода в VK
Мод делался и тестировался на железе
i5-12400, 32Гб ОЗУ, Radeon RX9070  Разрешение 2560 х 1440.  ВСЕ на максималке

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
30 минут назад, Policai сказал:

1. Нумерация смарттерейнов.

А можно подробнее? Это файлы из misc?

Поделиться сообщением


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

AziatkaVictor Как осуществляете спавн?


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

denis2000 через simulation. Я вообще никакие файлы не изменял, перекинул файлы, которые могут пригодится и все. В СДК и игре ничего не меня, просто пересобрал спавн, грубо говоря.


Дополнено 13 минуты спустя

Может можно как-то понять в чем проблема по логу? Или еще как-то? Просто трудно понять в чем проблема, когда ты ничего не делал...

Поделиться сообщением


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

AziatkaVictor Заполнением стартовых позиций в игре (конфиг misc\simulation.ltx) занимается функция из sim_board.script под именем sim_board:fill_start_position(). Первое, что я рекомендую делать, изменить функцию таким образом:

Спойлер

function sim_board:fill_start_position()
    if self.start_position_filled == true then
        return
    end
    self.start_position_filled = true
    for level in game_graph():levels() do
        local section_name = "start_position_" .. alife():level_name(level.id)
        if setting_ini:section_exist(section_name) then
            local n = setting_ini:line_count(section_name)
            if n~=0 then
                for i=0,n-1 do
                    local result, id, value    = setting_ini:r_line(section_name,i,"","")
                    local smrt_names = utils.parse_names(value)
                    for k,v in pairs(smrt_names) do
                        local smart = self.smarts_by_names[v]
                        if smart == nil then
                            abort("Wrong smart name [%s] in start position", tostring(v))
                        end
                        local squad = self:create_squad(smart, id)
                        self:enter_smart(squad, smart.id)
                    end
                end
            end
        end
    end
end

Если возникают какие либо неполадки с заполнением стартовых позиций, можно подробнейшим образом выводить в лог работу этой функции и анализировать неполадки с помощью этих сообщений.

 

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

denis2000 не помогло, НПС перестали спавнится при смене спавна.

Поделиться сообщением


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

AziatkaVictor Логируйте работу функции и ищите в чем проблема.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

denis2000 а можно попроще, я в скриптах полный ноль, не знаю, что куда писать(

Поделиться сообщением


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

AziatkaVictor Замените функцию такой конструкцией:

Спойлер

function sim_board:fill_start_position()
    if self.start_position_filled == true then
        return
    else
        init_log_file()
    end
    self.start_position_filled = true
    print_log("Начинаем заполнение стартовых позиций","sim_board")
    for level in game_graph():levels() do
        local section_name = "start_position_" .. alife():level_name(level.id)
        print_log("Локация "..alife():level_name(level.id),"sim_board")
        print_log("Секция из файла simulation.ltx "..section_name,"sim_board")
        if setting_ini:section_exist(section_name) then
            print_log("Секция существует","sim_board")
            local n = setting_ini:line_count(section_name)
            print_log("Секция содержит "..tostring(n).." записей","sim_board")
            if n~=0 then
                for i=0,n-1 do
                    local result, id, value    = setting_ini:r_line(section_name,i,"","")
                    local smrt_names = utils.parse_names(value)
                    print_log("Обработка "..tostring(i+1).." записи","sim_board")
                    for k,v in pairs(smrt_names) do
                        print_log("Заселение смарта "..v,"sim_board")
                        local smart = self.smarts_by_names[v]
                        if smart == nil then
                            print_log("Смарт "..v.." НЕ существует!","sim_board")
                        end
                        local squad = self:create_squad(smart, id)
                        print_log("Сквад "..id.." создан","sim_board")
                        self:enter_smart(squad, smart.id)
                        print_log("Сквад "..id.." помещен на смарт "..v,"sim_board")
                    end
                end
            end
        end
    end
end


function init_log_file()
    local file=io.open("gamedata//log_file.log","w")
    file:write("Start loggong on "..os.date(),"\n")
    file:close()
end

function print_log(save_string,script_name)
    if script_name == nil then script_name = "_g.script" end
    local file=io.open("gamedata//log_file.log","a")
    file:write(os.date().."|"..script_name.."|"..save_string,"\n")
    file:close()
end

Запустите игру, начните новую и выйдите из игры. В папке gamedata будет создан лог файл log_file.log, выложите его будем анализировать.

sim_board.script

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

Поделиться сообщением


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

AziatkaVictor Был вылет? Лог просто прервался на моменте спавна на смарте esc_smart_atp.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

denis2000 нет, я закончил игру и всё. Не знаю, в чем дело. Вроде логика прописана, да нумерация нормальная...

Поделиться сообщением


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

AziatkaVictor Ну смотрите: спавн закончился на 4-й записи (из 17-ти)  из секции start_position_escape файла simulation.ltx. Это смарт esc_smart_atp. Возможно проблема со смартом или сквадом из этой записи, попробуйте эту запись для начала просто закоментировать. Если спавн пойдет далее, ищите проблему в этих двух объектах.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

denis2000 ого, помогло! То есть, проблема либо в смарт-тиррейне, либо в скваде, да?

Поделиться сообщением


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

AziatkaVictor Если вы сквад не меняли, то проблема очевидно в смарте. Возможно он не на АИ-сетке оказался после декомпиляции (хотя эту проблему должен решать компилятор спавна и объекты привязанные к АИ-сетке должен на нее помещать во время компиляции выдавая сообщение об этом).

В любом случае проблема совсем рядом и до решения рукой подать.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

Зачем нужны LOD текстуры на локации, если можно собрать локацию пропустив проверку наличия LOD текстур? Влияют ли LOD текстуры на качество текстуры в игре?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Winzor сказал:

Зачем нужны LOD текстуры на локации

Некоторые статические объекты на локации, при удалении от них на значительное расстояние заменяются на одну из ЛОД-текстур для оптимизации, естественно при этом нет необходимости их полноценно рендерить, что и экономит ресурсы (Object Type: Multiple Usage обычно это деревья, кусты, трупы, транспорт). При наметанном взгляде вы можете разглядеть когда текстура с одним ракурсом подменяет другую или момент когда объект подменяется текстурой.

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

4 часа назад, Winzor сказал:

можно собрать локацию пропустив проверку наличия LOD текстур?

Мне не известно о такой возможности, просветите если знаете как.

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, Winzor сказал:

Влияют ли LOD текстуры на качество текстуры в игре?

Это отдельная текстура, на основную она не влияет.

6 часов назад, Winzor сказал:

если можно собрать локацию пропустив проверку наличия LOD текстур?

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

Поделиться сообщением


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

Добро. Если в Actor editor открыть модель, скажем, ПМ, то модель уже будет с глушителем. Глушитель удаляется только через 3д-редактор или есть возможность прямо в СДК его убрать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 минут назад, Neptun сказал:

Добро. Если в Actor editor открыть модель, скажем, ПМ, то модель уже будет с глушителем. Глушитель удаляется только через 3д-редактор или есть возможность прямо в СДК его убрать?

Движок скрывает кость (глушитель) у  оружия до тех пор, пока её не нужно будет показать (нужно показать кость когда ГГ или НПС к ПМ прикрепил глушитель). При спавне этой модели если поставить галочку на кость (в данном случаем wpn_silencer), то в игре глушитель будет виден, а если не ставить галочку, то глушителя не будет видно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
13 минут назад, Neptun сказал:

Добро. Если в Actor editor открыть модель, скажем, ПМ, то модель уже будет с глушителем. Глушитель удаляется только через 3д-редактор или есть возможность прямо в СДК его убрать?

Всё гораздо проще, глушитель это не общая модель с пистолетом, он привязан через кость, достаточно в конфигах отключить установку глушителя, и независимо есть он на модели или нет, он не будет виден..

scope_status                        = 0                   ; 0 - Нет глушителя
silencer_status                     = 0                  ; 1 - Постоянный
grenade_launcher_status   = 0                   ; 2 - Сьёмный
 


Группа мода в VK
Мод делался и тестировался на железе
i5-12400, 32Гб ОЗУ, Radeon RX9070  Разрешение 2560 х 1440.  ВСЕ на максималке

Поделиться сообщением


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

У меня такой вопрос можно ли создать локацию в раз 10 больше затона с аи сеткой и как это сделать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
17 часов назад, Master_boli сказал:

У меня такой вопрос можно ли создать локацию в раз 10 больше затона с аи сеткой и как это сделать?

Нет ничего проще: переписываете инструментарий (компиляторы, возможно SDK), переписываете движек под свои желания. И все у вас получиться.

  • Смех 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


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

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

Спойлер

* Detected CPU: AuthenticAMD , F15/M4/S2, 2812.00 mhz, 72-clk 'rdtsc'
* CPU Features: RDTSC, MMX, 3DNow!, SSE, SSE2

Initializing File System...
'xrCore' build 0, (null)

-----loading gamedata\configs\system.ltx
* ImageLibrary version: 3.9.3
* 26 supported formats
Starting RENDER device...
* GPU [vendor:1002]-[device:6658]: AMD Radeon R7 200 Series
* GPU driver: 22.19.162.4
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
*     Texture memory: 4094 M
*          DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* DVB created: 2048K
* DIB created: 2048K
count of .thm files=2557
count of .thm files=0
load time=1329 ms
D3D: initialized
Starting INPUT device...
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Software
SOUND: OpenAL: system  default SndDevice name is Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default) eax[2] efx[no] xram[no]
SOUND: Selected device is Generic Software
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 32768 kb, 2428 lines, 13820 bpl
* DVB created: 2048K
* DIB created: 2048K
* RM_Dump: textures  : 103
* RM_Dump: rtargets  : 0
* RM_Dump: vs        : 2
* RM_Dump: ps        : 2
* RM_Dump: dcl       : 3
* RM_Dump: states    : 8
* RM_Dump: tex_list  : 103
* RM_Dump: matrices  : 0
* RM_Dump: lst_constants: 0
* RM_Dump: v_passes  : 162
* RM_Dump: v_elements: 162
* RM_Dump: v_shaders : 162
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
*** RESET [0 ms]
* Loaded: gamedata\textures\prop\prop_color_g.dds[11064]b
* Loaded: gamedata\textures\prop\prop_color_r.dds[11064]b
* Loaded: gamedata\textures\prop\prop_color_b.dds[11064]b
* Loaded: gamedata\textures\prop\prop_fake_dead.dds[22000]b
* Loaded: gamedata\textures\ui\ui_font_hud_01.dds[65664]b
Object 'd:\x-ray_cop_sdk\editors\rawdata\objects\stalker_ecolog.object' successfully loaded. Loading time - 1.42(s).
 
FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : x:\stalker_addon\sources\trunk\xrcore\FixedVector.h
[error]File          : x:\stalker_addon\sources\trunk\xrcore\FixedVector.h
[error]Line          : 35
[error]Description   : count<dim
 

stack trace:
 

 

 

Expression    : fatal error

Function      : X:\stalker_addon\sources\trunk\xrCore\xrDebugNew.cpp

File          : X:\stalker_addon\sources\trunk\xrCore\xrDebugNew.cpp

Line          : 230

Description   : <no expression>

Arguments     : nodefault reached
 

 


Дополнено 48 минуты спустя

Разобрался. 

 

Походу, что-то было не так с путями текстур, поскольку и модель слишком ярко светилась в режиме Smoth Shaded. Очистил пути материалов в милке, заново привязал к скелету и всё загрузилось в сдк. 


На ap-pro с 2010 года... 

1084705139_-1.png.e8f0b3c23bb5a679b5fd2482bfc96039.png

Поделиться сообщением


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

Иногда вылезает подобная ошибка:

FATAL ERROR
 
[error]Expression    : b
[error]Function      : X:\stalker_addon\sources\trunk\xrCore\Xr_ini.cpp
[error]File          : X:\stalker_addon\sources\trunk\xrCore\Xr_ini.cpp
[error]Line          : 703
[error]Description   : name[light_preset\light_gas_4m_0000] already exist in section[e:\mods_cop\xray0.812312313131\rawdata\levels\escape.level]

Не могу понять, в чем конкретно ошибка. Появилась после того, как я поставил, удалил и потом снова поставил Group-объект. Проблема в СДК или что-то не так с самим уровнем?

UPD: СДК после появление ошибки не вылетает.

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

    Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования