Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Ковыряем движок и всё такое | страница 12
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 12 из 15
На страницу: Пред.  1, 2, 3 ... 11, 12, 13, 14, 15  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X4: Foundations » Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое»
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
eliseeff :
дифф сделаю примерно за 5 секунд луа-скриптом, который я уже написал

А поделиться здесь нет желания?
    Добавлено: 13:51 24-05-2019   
eliseeff
 268 EGP


Рейтинг канала: 2(21)
Репутация: 5
Сообщения: 932

Зарегистрирован: 07.03.2015
Shadowman :
eliseeff :
дифф сделаю примерно за 5 секунд луа-скриптом, который я уже написал

А поделиться здесь нет желания?

А надо?

Это ж луа-скрипт, набыдлокоженный в моих собственных целях. Пути файлов жестко прописаны, целевая папка - тоже. Интерфейс отсутствует.

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

Ну и во время работы пишет дебаг-мессаги, если в правленом файле содержатся "лишние" строки или пейджи, отсутствующие в оригинале. В результирующие файлы эти строки не включаются.

Если все-таки надо - я могу еще немного его подшаманить для бОльшего удобства использования, да выложить. Мне не жалко. Улыбка
    Добавлено: 14:38 24-05-2019   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
eliseeff :
Это ж луа-скрипт, набыдлокоженный в моих собственных целях. Пути файлов жестко прописаны, целевая папка - тоже. Интерфейс отсутствует.

Я знаю, о чём прошу. Сам писал когда-то такое на люа для преобразования дампа базы в эксель. А еще - делал автоматическую правку связанных текстовиков для одной игрушки (один файл поменяли, измененные данные из него нужно распихать по нескольким другим файлам). Запускал прямо в SciTE.
Интересно посмотреть на решения. Могу и свое показать, если интересно.
    Добавлено: 15:57 24-05-2019   
eliseeff
 268 EGP


Рейтинг канала: 2(21)
Репутация: 5
Сообщения: 932

Зарегистрирован: 07.03.2015
Shadowman :
Интересно посмотреть на решения.

Понял. Улыбка Тады вот мой непричесанный "коленочный" вариант, который, собсна, юзаю уже который месяц:

 Cкрытый текст   (кликните здесь для просмотра)
Код:
local function ruprint(...)
   local result = {}
   for _, text in ipairs({...}) do
      local tbl = {text:byte(1, #text)}
      for i = #tbl - 1, 1, -1 do
         if tbl[i] == 208 and tbl[i + 1] > 143 and tbl[i + 1] < 192 then
            tbl[i + 1] = tbl[i + 1] - 16
            table.remove(tbl, i)
         elseif tbl[i] == 208 and tbl[i + 1] == 129 then
            tbl[i + 1] = 240
            table.remove(tbl, i)
         elseif tbl[i] == 209 and (tbl[i + 1] > 127 and tbl[i + 1] < 144 or tbl[i + 1] == 145) then
            tbl[i + 1] = tbl[i + 1] + 96
            table.remove(tbl, i)
         end
      end
      table.insert(result, string.char(table.unpack(tbl)))
   end
   print(table.unpack(result))
end

local function Make_Table(in_data)
   local out_data = {pnums = {}}
   for page_string in in_data:gmatch("%<page%s.-%/page%>") do
      local page = tonumber(page_string:match("page%sid=%D(%d+)%D"))
      if out_data[page] then
         ruprint("ОШИБКА! Дубликат: page id = " .. page)
      else
         out_data[page] = {}
         table.insert(out_data.pnums, page)
      end
      out_data[page].header = page_string:match("%<page%sid.-%>")
      out_data[page].id = page
      out_data[page].tlines = out_data[page].tlines or {}
      out_data[page].tnums = {}
      for line in page_string:gmatch("%<t%sid.-%/t%>") do
         local line_num = tonumber(line:match("t%sid=%D(%d+)%D"))

         if out_data[page].tlines[line_num] then
            ruprint("ОШИБКА! Дубликат: page id = " .. page .. ", t id = " .. line_num)
         else
            table.insert(out_data[page].tnums, line_num)
         end
         local line_text = line:match("%>(.-)%<")
         out_data[page].tlines[line_num] = line_text
      end
      table.sort(out_data[page].tnums, function(a, b) return a < b end)
   end
   table.sort(out_data.pnums, function(a, b) return a < b end)
   in_data = nil
   return out_data
end


local ref_file = io.open("D:/SteamLibrary/steamapps/common/X4 Foundations/unpack/t/0001-L007.xml")
local refer = ref_file:read("a")
io.close(ref_file)
local refertable = Make_Table(refer)


local check_file = io.open("C:/Users/eliseeff/Documents/X4/0001-L007-assemble_noNPC.xml")
local check = check_file:read("a")
io.close(check_file)
local checktable = Make_Table(check)

outtext = [[<?xml version="1.0" encoding="UTF-8"?>
<language id="7">
]]
outtext2 = [[<?xml version="1.0" encoding="utf-8"?>
<diff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
]]

for _, page in ipairs(checktable.pnums) do
   find = false
   if not refertable[page] then
      ruprint("ОШИБКА! Несуществующая страница (page id = " .. tostring(page) .. ")")
   else
      for _, tid in ipairs(checktable[page].tnums) do
         if not refertable[page].tlines[tid] then
            ruprint("ВНИМАНИЕ! Несуществующая строка (page id = " .. tostring(page) .. ", t id = " .. tostring(tid) .. ")")
         elseif checktable[page].tlines[tid] ~= refertable[page].tlines[tid] then
            if not find then
               find = true
               outtext = outtext .. "  " .. refertable[page].header .. string.char(0xD, 0xA)
            end
            outtext = outtext .. [[    <t id="]] .. tostring(tid) .. [[">]] .. checktable[page].tlines[tid] .. [[</t>]] .. string.char(0xD, 0xA)
            outtext2 = outtext2 .. [[  <replace sel="//page[@id=']] .. tostring(page) .. [[']/t[@id=']] .. tostring(tid) .. [[']/text()">]] .. checktable[page].tlines[tid] .. [[</replace>]] .. string.char(0xD, 0xA)
         end
      end
   end
   outtext = outtext .. (find and ([[  </page>]] .. string.char(0xD, 0xA)) or "")

end
outtext = outtext .. [[</language>]]
outtext2 = outtext2 .. [[</diff>]]

local diff_file = io.open("E:/XR/lua-5.3.4_Win64_bin/Diff/0001-L007.xml", "w")

io.output(diff_file)
io.write(outtext)
io.close(diff_file)

diff_file = io.open("E:/XR/lua-5.3.4_Win64_bin/Diff/mod/0001-L007.xml", "w")
io.output(diff_file)
io.write(outtext2)
io.close(diff_file)


В принципе, может пригодиться функция ruprint в самом верху. Через нее можно выводить символы кириллицы, которые через штатную функцию print выводятся в консоль кракозябами. Это я баловался как-то на досуге, а здесь использовал "патамушта уже было". Хы...

Твой вариант тоже гляну с интересом.
    Добавлено: 16:18 24-05-2019   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
Спасибо!
eliseeff :
тоже гляну

Ну, тут это точно постить смысла нет, ибо совершенно не по теме Х4. Как найду - в ЛС скину.
    Добавлено: 18:19 24-05-2019   
~Aenigma~
 60 EGP

Репутация: 2
Сообщения: 58
Откуда: планета Земля
Зарегистрирован: 08.03.2019
Ребята, а какой параметр отвечает за голос непися?
Допустим,
Код:
character_argon_female_pilot_01_macro
- это внешняя модель. А голос?
И что вот это такое?
Код:
code="RFK-580"

И вот эти параметры?
Код:
known="1" read="0" page="10404" id="[0x22525]

И какое максимальное значение параметра навыка (которое соответствует 5 звёздам), 15?
_________________
Vox audita latet, littera scripta manet!

Последний раз редактировалось: ~Aenigma~ (23:06 22-09-2019), всего редактировалось 1 раз
    Добавлено: 08:47 22-09-2019   
anDron
 545 EGP


Модератор
Рейтинг канала: 4(84)
Репутация: 54
Сообщения: 5571
Откуда: Новосибирск
Зарегистрирован: 27.11.2013
Чет желающих нема, но не гоже девушку динамить. Хы...
~Aenigma~ :
character_argon_female_pilot_01_macro
- это внешняя модель. А голос?
И что вот это такое?
Праально. Код - просто частный/личный [буквенный] идентификатор.
~Aenigma~ :
И вот эти параметры?
known="1" read="0" page="10404" id="[0x22525]
Известен игроку. Параметры не показывать. Вякать, как на текстовой странице 10404 прописано (это и есть подвязка к звуку). По ИД (евонному) будут прописаны всевозможные связанные скрипты (в савке их видно).

Со "звезданутостью" - верно. Улыбка

добавлено спустя 3 минуты:
Вот куды ведет указааный текст{10404,0}

Последний раз редактировалось: anDron (19:37 22-09-2019), всего редактировалось 2 раз(а)
    Добавлено: 19:34 22-09-2019   
~Aenigma~
 60 EGP

Репутация: 2
Сообщения: 58
Откуда: планета Земля
Зарегистрирован: 08.03.2019
Решила поэкспериментировать, так что буду мучить вопросами, т.к. программист из меня нулевой. Улыбка
_________________
Vox audita latet, littera scripta manet!
    Добавлено: 22:59 22-09-2019   
~Aenigma~
 60 EGP

Репутация: 2
Сообщения: 58
Откуда: планета Земля
Зарегистрирован: 08.03.2019
Хм, обнаружила, что одна внешняя модель генерирует несколько внешних видов непися. Например,
Код:
character_argon_female_trader_01_macro
может сгенерировать как девушку в шлеме, так и без. А какой параметр за это отвечает?
Ещё вопрос. Как генерируются имена? Ну понятно, что случайно берутся имя и фамилия из какой-то базы данных. А её можно отредактировать без излишней трудоёмкости (глубокого ковыряния в движке)? Например, чтоб в космосе летали Иваны Царевичи и Василисы Прекрасные? Улыбка
И обнаружила ещё, что неписи, которые сидят в трюмах кораблей, в сохранении указываются только как модели с показателями навыков, без имён. Поиск имени по сохранению ничего не даёт. Но как так, ведь непись имя имеет и оно как-то сохраняется за ним?
Сильно не пинайте. Улыбка
_________________
Vox audita latet, littera scripta manet!

Последний раз редактировалось: ~Aenigma~ (07:31 24-09-2019), всего редактировалось 2 раз(а)
    Добавлено: 06:48 24-09-2019   
anDron
 545 EGP


Модератор
Рейтинг канала: 4(84)
Репутация: 54
Сообщения: 5571
Откуда: Новосибирск
Зарегистрирован: 27.11.2013
Я на этот вопрос могу выдать только слово-предположение - seed. Но не видел ни одного поста, где бы его расписывали.

Ждем что скажет студия... Улыбка
    Добавлено: 14:10 24-09-2019   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
~Aenigma~ :
Поиск имени по сохранению ничего не даёт. Но как так, ведь непись имя имеет и оно как-то сохраняется за ним?

Именно так. И еще голос "где-то там". Есть уникальный сид, сгенерированный движком при создании персонажа; вся информация о навыках и типаже (вот этом вот macro...) - в сейве.
А закрепленные за сидом имя и готовая модель - где-то в ресурсах. Как сид преобразуется во внешний вид, голос и имя - это к разработчикам.
~Aenigma~ :
Ну понятно, что случайно берутся имя и фамилия из какой-то базы данных. А её можно отредактировать без излишней трудоёмкости (глубокого ковыряния в движке)? Например, чтоб в космосе летали Иваны Царевичи и Василисы Прекрасные?

Можно, в сейве если. Только зачем? И потом слетит это дело, если его, например, из пилотского кресла выгнать или если спрячется в недра.
~Aenigma~ :
неписи, которые сидят в трюмах кораблей, в сохранении указываются только как модели с показателями навыков, без имён

Да, имя есть только у непися, находящегося на мостике, палубе, т.е. у тех, у кого обрабатывается геометрия в пространстве.

Последний раз редактировалось: Shadowman (19:14 26-09-2019), всего редактировалось 1 раз
    Добавлено: 19:12 26-09-2019   
~Aenigma~
 60 EGP

Репутация: 2
Сообщения: 58
Откуда: планета Земля
Зарегистрирован: 08.03.2019
Shadowman :
Именно так. И еще голос "где-то там". Есть уникальный сид, сгенерированный движком при создании персонажа; вся информация о навыках и типаже (вот этом вот macro...) - в сейве.
А закрепленные за сидом имя и готовая модель - где-то в ресурсах. Как сид преобразуется во внешний вид, голос и имя - это к разработчикам.

Угу, я это уже поняла.
Вообще, генерация персонажей у них как-то диковато реализована. Голос берётся "откуда-то там" и т.д.
Получается, что у персонажа гарантированно можно изменить только уровень навыков, а остальное непредсказуемо? Печаль...
Хорошо было бы узнать алгоритм, по которому формируется seed. Улыбка
Shadowman :
И потом слетит это дело, если его, например, из пилотского кресла выгнать или если спрячется в недра.

Угу, слетает. В сейве в name остаётся прописанным, но в игре меняется на случайное.
Shadowman :
Да, имя есть только у непися, находящегося на мостике, палубе, т.е. у тех, у кого обрабатывается геометрия в пространстве.

Совсем запутался...
_________________
Vox audita latet, littera scripta manet!
    Добавлено: 10:01 27-09-2019   
Shadowman
 265 EGP


Рейтинг канала: 3(31)
Репутация: 42
Сообщения: 1392
Откуда: Альфа Центавра
Зарегистрирован: 03.12.2003
На самом деле, уровень навыков влияет чуть больше чем никак.
У кэпов и десанта еще как-то влияет, а у остальных... Мнения расходятся.
Вплоть до 2.50 не замечал, чтобы особо что-то менял экипаж новисов и экипаж космоволчар, например, на майнере или торгаше. Кэп - тот да, влияет.
Плюс, десантура элитного левела режет обшивку на порядок дольше новисов. И это не собрались исправить до сих пор. Капец.
Я поставил мод, ну потому что это бред полный. И как-то обидно неск.м-цев качать взвод десанта, чтобы потом упереться в такое.
    Добавлено: 14:14 28-09-2019   
Quazar XX
 64 EGP

Рейтинг канала: 1(3)
Репутация: 1
Сообщения: 266
Откуда: ULAS J1120
Зарегистрирован: 08.05.2014
А не подскажите в каком каталоге находятся загрузочные экраны? Хочу добавить новые)
_________________
i7 930 3.5 Ггц, ram kingston 24 Гб, GTX 970, SSD WD + HDD SAMSUNG (временно)
    Добавлено: 00:25 29-09-2019   
Shuulo
 100 EGP


Рейтинг канала: 3(32)
Репутация: 7
Сообщения: 628

Зарегистрирован: 23.11.2011
ЛЕОПАРД :
В том, что не будет скайрима из иксов.


Конечно не будет, как и небыло из всех предыдущих частей.
Молдинг в х4 позволяет на порядок более обширные и интересные вещи делать чем в предшествующих играх, так что не понимаю негатива. Ах да, это же ру-комьюнити, запамятовал.

gonoroff :
Привет!

Насколько я помню, 30ка нужна

Последний раз редактировалось: Shuulo (12:12 15-10-2019), всего редактировалось 1 раз
    Добавлено: 12:07 15-10-2019   
eliseeff
 268 EGP


Рейтинг канала: 2(21)
Репутация: 5
Сообщения: 932

Зарегистрирован: 07.03.2015
Shuulo :
Моддинг в х4 позволяет на порядок более обширные и интересные вещи делать чем в предшествующих играх, так что не понимаю негатива. Ах да, это же ру-комьюнити, запамятовал.

Тут ситуация двоякая.

Что касается геймплея - абсолютно согласен! Возможности расширились необычайно.

А вот что касается моделлинга - ситуация абсолютно обратная. Пересобрать что-нибудь из уже имеющихся в игре кусков - да, еще можно. Создать же что-то новое - инструментарий отсутствует.

P.S. И да - я слоупок. Улыбка
    Добавлено: 16:11 30-10-2019   
DNA78
 420 EGP


Репутация: 70
Сообщения: 1185
Откуда: Кыргызстан
Зарегистрирован: 12.11.2008
eliseeff :
Что касается геймплея - абсолютно согласен! Возможности расширились необычайно.

А, что, разве в х4 появился сриптредактор, со списком всех возможных команд, описанием движка, всех игровых типов и т.д., и т.п.? Может быть они и необычайно расширились, но для кого и кто об этом знает. Кроме как недоделанной приблуды для ковыряния игровых кишков - ничего нет. Ни какой информации об этом нет.
Вот товарищ Shuulo говорит, что есть прям много, много хороших модов ииии Вау! посмотрел, ничего более менее стоящего не нашёл, кроме как какого-то продвинутого торговца. Этой игре уже сколько - год, а X-R 2 или 3 и что, ни одного стороннего корабля или объекта, или эффекта так и не было добавлено в игру, ни одной маломальской миссии так и не было написано. О чём вы ввобще здесь?
_________________
Очевидное-невероятное
    Добавлено: 17:42 30-10-2019   
eliseeff
 268 EGP


Рейтинг канала: 2(21)
Репутация: 5
Сообщения: 932

Зарегистрирован: 07.03.2015
DNA78 :
О чём вы ввобще здесь?

Это вы о чем здесь, молодой человек? Вы вообще искали эту информацию?

Вот это читали?

Вот здесь и здесь были?

Вы в ресурсах игры в лайбрарях файлы scriptproperties изучали?

Да инфы сейчас столько, сколько в иксах никогда не было!

Модов почему мало? А потому что мододелы в большинстве своем, как и вы, предпочитают ныть и лить слезы, что нет инфы, нежели эту самую инфу, которая ЕСТЬ, найти и изучить...
    Добавлено: 18:26 30-10-2019   
DNA78
 420 EGP


Репутация: 70
Сообщения: 1185
Откуда: Кыргызстан
Зарегистрирован: 12.11.2008
Моддинг в Х4
_________________
Очевидное-невероятное
    Добавлено: 20:44 30-10-2019   
ЛЕОПАРД
 89 EGP


Рейтинг канала: 1(4)
Репутация: 22
Сообщения: 277

Зарегистрирован: 05.04.2011
Я думаю, что если бы был какой нибудь софт для ковыряния ресурсов игры, то уже были бы какие-никакие моды/скрипты и т.д. Не путать с распаковщиком! "Софт для ковыряния" - я имел ввиду, что-то типа X3 Editor и ему подобные. Либо Script Editor со всеми командами из игры.

Понятное дело, что тут сильно переработаны кораблики, т.к. тут и внутри-корабельные сцены не в единичном количестве. Но все же, если бы был хоть какойнить софт, то народ бы уже чуть по-чуть начал бы изучение структуры и иерархии файлов с игры. А дальше - появлялись бы мелкие ФАКи и, глядишь, начали бы появляться первые пробники норм модов.

Но если прикинуть, что почти всю софтину под моддинг для предыдущих частей серии пилил народ из комьюнити, то от самих разрабов вряд ли стоит что-то ждать, тем более годное. Тому подтверждение - неоднократные обращения о помощи в кодинге игры. Я сейчас не только себя в пример беру, но все же. Тут если не появятся сверх умные головы, которые смогут "на коленке" "раскатать" игровой двиг, то про моддинг и его поддержку от разрабов можно забыть и забить, и ждать какой нибудь аддон в будущем, по типу новой части "X4 Перезагрузка".

Последний раз редактировалось: ЛЕОПАРД (23:25 30-10-2019), всего редактировалось 1 раз
    Добавлено: 23:24 30-10-2019   
Канал X4: Foundations -> Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое»
На страницу: Пред.  1, 2, 3 ... 11, 12, 13, 14, 15  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: А ваще-то, я флудить не умею, я режу тока карашо. (модератор Nadin)

  » Ковыряем движок и всё такое | страница 12
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18