Elite Games - Свобода среди звезд!
.
  » Ковыряем новый движок (моддинг) | страница 29
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

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

   Страница 29 из 31
На страницу: Пред.  1, 2, 3 ... 28, 29, 30, 31  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X Rebirth » Модовый и скриптовый отсек X Rebirth: «Ковыряем новый движок (моддинг)»
AlexYar
 1630 EGP


Рейтинг канала: 5(187)
Репутация: 344
Сообщения: 25578

Зарегистрирован: 26.10.2003
Через какие скрипты производится передача грузов между кораблями игрока?

Надо бы запретить второму кораблю запускать отстыковку после передачи груза, а то дебилизм какой-то наворотили егософт-овцы.
    Добавлено: 09:25 07-05-2016   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
Посмотри по миссиям файл

md\Upkeep.xml

Код:

  D:\Games\SteamGames\SteamApps\common\X Rebirth Tools\X\md\Upkeep.xml (1 hit)
Line 106:             <create_mission associated="$Associated" cue="$MissionCue" name="{1004,20} + ' ' + http://EntityType.name" faction="faction.player" type="missiontype.upkeep_hirenpc" activate="false" abortable="false"/>



Я не ковырял , времени не было.

Попробуй поискать по ID страницы и строки , может где и всплывет что нужно.

По товару смотри aiscript папку

Последний раз редактировалось: alexalsp (15:12 07-05-2016), всего редактировалось 1 раз
    Добавлено: 15:10 07-05-2016   
AlexYar
 1630 EGP


Рейтинг канала: 5(187)
Репутация: 344
Сообщения: 25578

Зарегистрирован: 26.10.2003
upkeep и upkeepmanagement я уже пофиксил, но проверок условий в реальном времени миссий я так и не нашёл там. Часть есть в RML_* по миссиям ещё, но проверок тоже нет.

С фиксами миссии некоторые можно сбросить прямо в игре. Например, миссии "припишите торговый/добывающий корабль" сбрасываются при приписывании и отписывании любого корабля к станции/складу. По-идее, запуск проверки должен производить AssignToCommander, но там ничего нет (есть только start_default_script).

alexalsp :
По товару смотри aiscript папку


Что, прямо-таки всю? Гы-гы

Редактор бы скриптов, чтобы хмл-хню всю вырезал и показывал скрипты в читабельном виде..
    Добавлено: 15:24 07-05-2016   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
Зачем всю ))

Возможно только

trade.*.xml

Я предполагаю, лучше чем ни чего , тем более все равно ни кто не ответил ))

А так есть повод ))
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 15:42 07-05-2016   
VASILICH
 65 EGP

Репутация: 2
Сообщения: 137
Откуда: г.Калуга
Зарегистрирован: 19.05.2006
Ребята, а с какого расстояния начинают притягиваться контейнеры со сбитых кораблей, и где - если это известно - прописан данный параметр?
_________________
Я как тот Герасим, на всю херню согласен. Мне что пулемёт, что водка, лишь бы с ног валило.
    Добавлено: 14:30 25-05-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
Хочу задействовать горячую клавишу (Shift+J) для прыжка.
Нашел библиотеку с кейкодами (inputmap.xml)
надо в неё корректно добавить строчку.
Кто знает как подскажите плиз, а то я с diff до конца не разобрался.
надо вставить сюда:
 Cкрытый текст   (кликните здесь для просмотра)

<inputmap version="52" id="1">
<config>
<param name="invert_steering_yaw" value="false"/>
...
<param name="deadzone" value="25"/>
</config>
<!-- keyboard -->
<!-- input actions -->
<action id="INPUT_ACTION_TARGET_NEXT_ENEMY" source="INPUT_SOURCE_KEYBOARD" removed="true" sinceversion="3" />
...
в это место например
...
<action id="INPUT_ACTION_TARGET_NEXT_TARGET" source="INPUT_SOURCE_KEYBOARD" removed="true" sinceversion="3" />
...
</inputmap>

такую строку:
 Cкрытый текст   (кликните здесь для просмотра)
<action id="INPUT_ACTION_OPEN_PLAYER_AMB_JUMPDRIVE" source="INPUT_SOURCE_KEYBOARD" code="INPUT_KEYCODE_J_SHIFT" sinceversion="52" />
Где синсвершн указывает на текущую версию библиотеки из версии игры 4.0(Dat09)

должно получиться что-то типа:
 Cкрытый текст   (кликните здесь для просмотра)
<?xml version="1.0" encoding="utf-8"?>
<diff xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<add sel="/inputmap">
<action id="INPUT_ACTION_OPEN_PLAYER_AMB_JUMPDRIVE" source="INPUT_SOURCE_KEYBOARD" code="INPUT_KEYCODE_J_SHIFT" sinceversion="52" />
</add>
</diff>

Я правильно мыслю или нет?
    Добавлено: 20:34 14-08-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
с diff разобрался..
Написал скрипт, позволяющий прыгнуть (используя экспериментальный Дж.Драйв) не только к маяку и вратам, но и к станции и к любому кораблику.
Уже неделю ломаю голову как добавить "хоткей". На эгософтовском форуме не нашел ответов на эту тему. Одни только вопросы. (((
Предлагаю устроить "мозговой штурм" Улыбка
Вопросы:
1. Как добавить кнопку в меню "Управление -> Основное управление"?
2. Как отследить нажатие именно этой (добавленной) кнопки?
2.1 через XML
2.2 через LUA


Накопленный материал:
inputmap.xml - файл, содержит настройки клавиш для определения действия. По умолчанию берется из C:\Users\..\Documents\Egosoft\X Rebirth\..\
Если его стерли, то из DAT09\libraries\
Например открыть инвентарь игрока выглядит так:
<action id="INPUT_ACTION_OPEN_PLAYER_INVENTORY_MENU" source="INPUT_SOURCE_KEYBOARD" code="INPUT_KEYCODE_I_SHIFT" sinceversion="26" />
Есть предположение, что ID этих ACTION(s) где-то жёстко привязаны к циферкам, по-тому, что вызовы action происходят не по буквенному ID!

gameoptions.lua - меню настроек управления.
здесь можно определить связь action/state/range с текстовыми кодовыми страницами (t)
 Cкрытый текст   (кликните здесь для просмотра)
menu.controls = { ["actions"] = GetInputActionMap(), ["states"] = GetInputStateMap(), ["ranges"] = GetInputRangeMap() }
menu.controltextpage = { ["actions"] = 1005, ["states"] = 1006, ["ranges"] = 1007 }
menu.forbiddenKeys = { [1] = true, [211] = true }
menu.forbiddenMouseButtons = { [1] = true, [2] = true, [4] = true, [6] = true, [8] = true, [10] = true }
menu.cheatControls = { ["actions"] = { [127] = true }, ["states"] = {}, ["ranges"] = {}, ["functions"] = {} }

-- Define input functions here (serveral actions, states or ranges which can only be changed at the same time)
-- entry: [keycode] = { ["actions"] = { action1, action2, ... }, ["states"] = {}, ["name"] = name for display }

Пример меню настройки блока клавиш в подменю "Разное"
 Cкрытый текст   (кликните здесь для просмотра)
{
["title"] = ReadText(1001, 2664), --Разное
["mapable"] = true,
{ "functions", 10 },
{ "actions", 167 },
{ "actions", 168, nil, ReadText(1026, 2604) }, --Выбрать ближайший объект в качестве цели.
{ "actions", 169 },
{ "actions", 170 },
{ "actions", 213 },
{ "actions", 214 },
{ "actions", 177, nil, ReadText(1026, 2608) }, --Вкл./выкл. режима наложения данных радара.
{ "actions", 178, nil, ReadText(1026, 2609) }, --Переключение радара между режимами навигации и боя.
{ "functions", 9 }, -- Автопилот Вкл./выкл.
{ "actions", 225, nil, ReadText(1026, 2610) }, --Вкл./выкл. СУВ. При включении СУВ время течет намного быстрее.
{ "actions", 223, nil, ReadText(1026, 2611) }, --Скрывает или показывает элементы HUD.
{ "actions", 117 }, -- Пауза
{ "actions", 120 }, -- Снимок Экрана
{ "actions", 219 }, -- включить/выкл звук
{ "states", 80, nil, ReadText(1026, 2612) } --Активирует контейнер-магнит, притягивающий имеющиеся поблизости контейнеры к вашему кораблю.
},
в данном случае { "actions", 219 } это не просто ссылка на кодовую страницу 1005,219, а что-то большее (тут я пока не догоняю) Иначе можно было просто написать ReadText(1005,219)

Возможно нужно будет менять t-файлы эгософта (страница 1005), что не очень разумно, так как после выхода нового патча все сместится! Расстроен
Еще пример вызова меню карты по хоткей (menu_map.lua) Тут используются текстовые ID из inputmap.xml
 Cкрытый текст   (кликните здесь для просмотра)
function menu.hotkey(action)
local rowdata = Helper.currentTableRowData
if rowdata ~= "back" then
if action == "INPUT_ACTION_ADDON_DETAILMONITOR_G" then
if rowdata and rowdata ~= "back" then
if menu.componenttype == "galaxy" then
local sectors = GetSectors(rowdata[2])
if sectors[1] then
local zones = GetZones(sectors[1])
MovePlayerToZone(zones[1])
end
elseif menu.componenttype == "cluster" then
local zones = GetZones(rowdata[2])
MovePlayerToZone(zones[1])
elseif menu.componenttype == "sector" then
MovePlayerToZone(rowdata[2])
elseif menu.componenttype == "zone" then
MovePlayerToZone(ConvertStringTo64Bit(tostring(menu.component)))
end
...

В общем буду оч. признателен тем кто откликнется!
    Добавлено: 12:53 18-08-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
Я попробовал добавить какую-нибудь строчку-кнопку в меню настроек хоткей, аналогично добавлению кнопки в мэйн меню, но ничего не получилось.
Попробовал сделать через новые 10.cat / dat заменой всего файла - тоже болт.
На форуме эгософта UniTrader пишет, что добавление хоткеев не возможно в Хребте.

Но почему, если с другим файлом изменения прокатывают, а тут вообще никак не подступишься!?

... Ладно, если не получается кнопку в меню добавить, может кто знает как отловить событие нажатия определенной клавиши (не прописаной в меню управления)


...Хм, не сработало даже когда я полностью заменил файл gameoptions.lua прямо в 09.dat (перепаковав весь архив целиком)

Последний раз редактировалось: Andy_MB (16:08 21-08-2016), всего редактировалось 1 раз
    Добавлено: 15:27 21-08-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
Нашел другое решение. (через существующую хоткей - "открыть карту сектора")
Со скриптом сейчас можно экстренно прыгнуть по комбинации Shift+J -> 4 -> 4
(пока при условии, что в конечной зоне есть видимый объект (маяк/врата/станция или корабль)
Теперь чувствую себя как в X3TC с нормальным ПржДвиг. )
Кому надо, могу дать потестить.
А пока займусь прыжком в координаты x,y,z
    Добавлено: 16:07 23-08-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
Кто знает где найти список и описание функций движка! используемых в LUA?
Например:
InitPlayerPrimaryShipJump(ConvertIDTo64Bit(component.object))

выполняет прыжок корабля игрока к объекту (object)

ConvertIDTo64Bit преобразует "16-ти ричный" формат в "лонг флоат"
Нашел список функций - кому надо тут
Мод доделал прыгает в любую XYZ известных игроку секторов.
Без читов, на основе эксп.ПД и со списанием хладогента (если срочно надо прыгнуть)
Пока в процессе тестирования...

Последний раз редактировалось: Andy_MB (17:40 31-08-2016), всего редактировалось 2 раз(а)
    Добавлено: 17:46 27-08-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
Как достать переменные, относящиеся к станции или менеджеру?
stock limit / can sell / can buy / для каждого ware .

...
1. я наковырял список товаров в трюме станции:
this.station.cargo.list
или список товаров станции для торговли
this.station.tradewares.list

2. как получить количество на складе тоже нашел:
this.station.cargo.{$current_ware}.count

3. как получить, что товар может быть куплен или продан? 'can sell'/ 'can buy' (пока сделал через оферов, будет работать если нет на складе одновременно выставленных оферов на покупку и продажу)
5. как узнать объем, места отведенного под конкретный товар 'stock limit' ? решил через target

Последний раз редактировалось: Andy_MB (22:44 02-10-2016), всего редактировалось 3 раз(а)
    Добавлено: 17:40 01-10-2016   
Andy_MB
 128 EGP


Рейтинг канала: 4(83)
Репутация: 10
Сообщения: 523
Откуда: Край вселенной, Квазар-1
Зарегистрирован: 13.07.2015
Задачу по трансферу ставлю следующую:
1. выбрать транспорт из своих свободных и дать ему задачу трансфер со склада1 на склад2. (сделано)
2. создать списки товара (какие товары нужно забрать с 1/2 склада и что нужно привезти на 1/2 склад) с учетом свободного места /резервов и т.п. (ч/з склад сделать не получается, пробую ч/з оферов)
3. анализ списков и создание шопинглистов трансфера (не приступал, алгоритм анализа в голове пока грубо прикинул, с шопинглистами проблемм нет)
4 дальше запуск trade.performplayertraderun на выполнение шопинга туда и обратно. (сделано)
    Добавлено: 21:32 01-10-2016   
TailerD
 50 EGP

Репутация: 0
Сообщения: 3

Зарегистрирован: 13.02.2017
Может кто помочь нубу (только начал разбираться с моддингом)
Скачал ребес тулс, попробовал распаковать даты, не вышло (вылезла ошибка) потом нашел прогу XRCatExtract, распаковал таки все файлы, попробовал с помощью XRConvertersMain переделать units_size_l_kit_carrier_03.xml в dae формат, вылезла ошибка.
Обьясните нубу что не так делаю (есть подозрение что выбрал не тот файл).
    Добавлено: 12:33 13-02-2017   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
Цитата:
Может кто помочь нубу (только начал разбираться с моддингом)
Скачал ребес тулс, попробовал распаковать даты, не вышло (вылезла ошибка) потом нашел прогу XRCatExtract, распаковал таки все файлы, попробовал с помощью XRConvertersMain переделать units_size_l_kit_carrier_03.xml в dae формат, вылезла ошибка.
Обьясните нубу что не так делаю (есть подозрение что выбрал не тот файл).


X Rebirth Tools - https://yadi.sk/d/l6-uq2Hdc337X

очень просто и всегда распаковывает за пару секунд. Главное понять как с ним работать
1) выбираешь рабочую папку
2) выбираешь cat файл
3) открываешь содержимое и распаковываешь

проще не бывает

 Cкрытый текст   (кликните здесь для просмотра)










Ждете окончания распаковки





Цитата:
переделать units_size_l_kit_carrier_03.xml в dae формат


для чего ?

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

как работать с утилитой и для чего она - http://forum.egosoft.com/viewtopic.php?t=360045
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (13:01 13-02-2017), всего редактировалось 4 раз(а)
    Добавлено: 12:42 13-02-2017   
TailerD
 50 EGP

Репутация: 0
Сообщения: 3

Зарегистрирован: 13.02.2017
[quote="alexalsp"]
Цитата:
Может кто помочь нубу (только начал разбираться с моддингом)
Скачал ребес тулс, попробовал распаковать даты, не вышло (вылезла ошибка) потом нашел прогу XRCatExtract, распаковал таки все файлы, попробовал с помощью XRConvertersMain переделать units_size_l_kit_carrier_03.xml в dae формат, вылезла ошибка.
Обьясните нубу что не так делаю (есть подозрение что выбрал не тот файл).


X Rebirth Tools - https://yadi.sk/d/l6-uq2Hdc337X

очень просто и всегда распаковывает за пару секунд. Главное понять как с ним работать
1) выбираешь рабочую папку
2) выбираешь cat файл
3) открываешь содержимое и распаковываешь

проще не бывает

Да в том то и дело что с катами я разобрался более менее, почитав форумы в том числе и по проге конвертеру (ссылка на форум егософт, незнаю как ее добавить). Я понял что для работы с моделями нужны дат файлы, сначала нужно распаковать все файлы игры, затем найти какой то основной файл xml который (то ли сшивает части моделей то ли ссылается на них) и запихнуть его в XRConvertersMain через командную строку (пример XRConvertersMain.exe importxmf "D: \ X Rebirth файлы" "D: \ X Rebirth файлы \ активы \ интерьеры \ ящики \ interiors_crates_size_l.xml"), запустить, он сконвертит файлы в формат dae (Преобразователь преобразует все .xmf-х, на которую ссылается .xml и поместить их в файл .dae рядом с .xml. машинный перевод)потом я смогу все это добро загрузить в 3ds Max 2017 - English.
Что по идее должно дать возможность изменять игровые модели.
Для чего мне это нужно - для начала хочу попробовать сделать административный модуль станции в котором будет сидеть управляющий персонал (дальше если получится абордаж станций и при желании полное уничтожение фракции - рассы). Мне кажется бредовым неубиваемость станций с инженером, поэтому я хочу запихнуть его в административный блок при уничтожении (абордаже) которого все внутри помрут или станции капец (при том полный) или она окажется под контролем игрока.
Ну и так, еще есть несколько десятков идей.
    Добавлено: 21:09 13-02-2017   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
Был мод который позваляет уничтожать станции , поищи в стиме , автор VanFin вроде . В ребезе нет смысла уничтожать станции , так как не с кем будет торговать Улыбка
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 22:42 13-02-2017   
TailerD
 50 EGP

Репутация: 0
Сообщения: 3

Зарегистрирован: 13.02.2017
alexalsp :
Был мод который позваляет уничтожать станции , поищи в стиме , автор VanFin вроде . В ребезе нет смысла уничтожать станции , так как не с кем будет торговать Улыбка

Еще одна серьезная проблема игры, нужна жизнеспособная экономика для всей игры, в том числе и для ксенонов. Играю сейчас в свободный старт, словами не описать как это уныло, словами нельзя передать разочарование от сюжетки. Мне не хватает серьезной войны с ксенонами как минимум.
При том что я вижу со своей точки "обзора" опыта и знаний, потенциал у этой болванки более чем хороший.
Со времен старых иксов накопилось более чем достаточно идей для создания глобал мода с сюжеткой, только для этого сначала нужно познать азы и принципы работы системы, попробую разобраться, может из этих идей и получится что стоящее.

Последний раз редактировалось: TailerD (23:07 13-02-2017), всего редактировалось 2 раз(а)
    Добавлено: 22:57 13-02-2017   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
Хочешь войнв , вот тебе война . http://forum.egosoft.com/viewtopic.php?t=381043
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 00:40 14-02-2017   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
Кто знает , команды офицеру обороны типа
Код:

<start_script object="$DefenceNPC" name="'fight.attack.object.capital'"/>


нужна АТАКУЕТ ПРОТИВНИКА.
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (23:28 02-03-2017), всего редактировалось 1 раз
    Добавлено: 23:17 02-03-2017   
alexalsp
 303 EGP


Рейтинг канала: 5(110)
Репутация: 32
Сообщения: 2112

Зарегистрирован: 12.08.2014
По ходу ни кто сюда не ходит ))

Но все же вопрос задам .))

К примеру , есть 2 мода , которые используют одинаковые файлы с одинаковым скриптом .

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

Хы...

Кто , как , где , покажите , напишите пример .

Если вообще такое можно .
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 16:47 15-03-2017   
Канал X Rebirth -> Модовый и скриптовый отсек X Rebirth: «Ковыряем новый движок (моддинг)»
На страницу: Пред.  1, 2, 3 ... 28, 29, 30, 31  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Только что вернулись из Новгорода ... шашлыки - опасны... (вывод Осьмы)

  » Ковыряем новый движок (моддинг) | страница 29
Каналы: Новости | 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