ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» Добавляем новые команды в скрипт редактор | |
|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Добавляем новые команды в скрипт редактор» |
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
X3-Protector wrote: |
я создал МОД в котором сделал совместимость "Хаакского" оружия с "Аргонскими" кораблями и "Гиперионом", загрузил игру, установил "Хаакское" оружие на свой "Гиперион", сохранился и вышел из игры, убрал МОД, загрузился - вуаля, "Хаакские" стволы остались на своих местах без единого глюка.
|
То, что они остались на своих местах - это и есть глюк. Который в свою очередь спровоцирует серию багов в дальнейшем с полной и неминуемой смертью сохранёнок.
Движок иксов - это не игрушка, которую можно обманывать когда хочешь и сколько хочешь. Это как капризный ребёнок, который тебе устроит громкий скандал и неожиданность по самому малейшему поводу Ты даже повода такого придумать не сможешь сам, а он уже устроит неожиданность.
Поэтому речи о каких-то "обманах" движка быть не может никакой.
Либо всё делается по правилам, либо не делается никак.
X3-Protector wrote: |
Я лично видел как он стрехнул
|
Чего-чего сделал?
|
|
|
X3-Protector
180 EGP
   Рейтинг канала: 5(166) : 20 Posts: 634 Location: Новосибирск Joined: 26 Jul 2008
 |
|
Да короче, чё с вами спорить, всеравно вам лень, да так же лень в этом признаться - я сам всё сделаю  ...
_________________ Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...
Last edited by X3-Protector on 19:28 01-11-2008; edited 3 times in total |
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Собрал 2.5Ext_beta1 такой, какая есть на данный момент.
Имейте в виду, что Mission Director в ней не поддерживается!
Т.е. пишите миссии, используя возможности патча (коих на порядок больше, нежели в мишн директоре).
Изменился немного порядок установки - теперь новые команды и текстовики вручную никуда прописывать не надо, *0001.xml править так же не надо, что дало совместимость с любыми версиями переводов.
Так же напоминаю, что левый минимонитор по умолчанию отключён, т.е. он не будет автоматом открываться при выборе цели, он будет всегда свёрнут в полоску. Включить обратно можно опцией в настройках мониторов.
x3patch_2.5_to_2.5ext_b1.7z |
Description: |
Патч для X3R с версии 2.5 по версию 2.5Ext (b1) |
|
Filename: |
x3patch_2.5_to_2.5ext_b1.7z |
Filesize: |
530.67 KB |
Downloaded: |
2778 Time(s) |
|
|
|
Ark
50 EGP
 Рейтинг канала: 2(18) : 0 Posts: 25 Location: Омск Joined: 08 Apr 2010
 |
|
Хотелось бы респавнить убитого Игрока.
Зачем: с глупым AI биться не особо интересно, а AI, являющийся достойным соперником, обязан более-менее регулярно Игрока мочить. Но если смерть Игрока = GameOver-у, то играть придётся не в войну, а в Save-Load. То есть "делать достойный AI" смысла никакого )
Как: перехватом события "смерть корабля, в котором находится Игрок", ДО проверки на то, надо ли инициацизировать событие "GameOver".
Желательно подобно как в Ext с влётом-вылетом из сектора сделано - предварительным запуском некого скрипта с фиксированным именем, если такой найдётся, потом проверкой, является ли этот корабль до сих пор PLAYERSHIP-ом, и если да, то GameOver, а если нет, то обычная отработка SIGNAL_KILLED. Тогда скриптёр сможет выдернуть Игрока из сбитого корабля командой "change player ship to (скорее всего - свежесозданный create ship-ом Скафандр)" и , вероятно, потом будет "PlSilentJump" + "dock player ship to".
Если метод с запуском скрипта-спецобработчика сложен, то хотя б чтоб просто можно было сперва обработчик SIGNAL_KILLED для корабля прокрутить с тем же вытаскиванием Игрока, и GameOver так же только если Игрок остался в этом корабле.
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
LM wrote: |
А исходники на хс выложить?
|
Не планируется. Чтобы несовместимых клонов патчей не появлялось.
LM wrote: |
а xa2c fatal error выдает
|
Разобрать патч способов нет (100% рабочих).
LM wrote: |
кое что поправить под себя респаун там заткнуть где надо еще кое что сделать.
|
Сюда пишем пожелания для патча и надеемся, что эти нововведения появятся в следующей версии
Сроки выхода новой версии пропорциональны кол-ву заинтересованных.
|
|
|
loy
54 EGP
 Рейтинг канала: 1(6) : 1 Posts: 41 Location: Россия Joined: 07 Sep 2008
 |
|
АlexYar:
Включи в патч 2.5Ext возможность расширения складов (ДО и ТС). Для большей совместимости то этот параметр сделай опционально, т.е. вкл/выкл.(а то вдруг не всем это надо, по умолчанию выключено.)
Last edited by loy on 12:31 14-05-2010; edited 1 time in total |
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
LM wrote: |
есть вопросы кстати непосредственно по теме. А как собственно добавлять команды в скрипт редактор? В теме это нигде не описано.
|
В этой теме обсуждается только патч 2.5Ext и старые версии патчей от Шадди и ДартРевана (если будет новая версия Ext-патча, я наверное новую тему создам, чтобы со старыми версиями не путалось).
Вопросы "как сделать то-то и то-то" в этой теме считаются оффтопом.
Информации по добавлению команд и прочему - нет никакой и никто её не даст (очень много писанины непонятно для кого и чего, с учётом того, что обжи досконально знают всего 1-2 человека на ЕГе ожидать мануалов не приходится). Единственный способ научиться кодить в обжах - зайти в эту тему, разобрать стандартный обж до исходника на хс и самостоятельно его изучить. Т.е. нужен исходник - в той теме подробно описано, как его получить.
Если что-то нужно изменить/добавить, опять же два выхода:
1. Сделать собственный патч (с нуля).
2. Попросить внести изменения в Ext-патч.
Во втором случае если нововведение сделать легко, то оно будет сделано с большой вероятностью, а если сложно, то вероятность зависит от кол-ва людей, поддерживающих данное нововведение.
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Подключил модуль с конфигурационным файлом. Теперь возник вопрос, как лучше его грузить. Есть два варианта:
1. Грузить только 1 раз в начале новой игры.
2. Грузить так же, как и setup-скрипты, т.е. во время каждого сейв/лоада.
Первый способ относительно античитерский, второй более тестерский (конфигуратор можно менять в любое время, это текстовый файл, при загрузке/сейве игры данные в игре сразу обновятся).
В конфигураторе задаются такие параметры как множители складов доков/фабрик, отключение респавна и подобные.
Какой способ загрузки сделать?
|
|
|
loy
54 EGP
 Рейтинг канала: 1(6) : 1 Posts: 41 Location: Россия Joined: 07 Sep 2008
 |
|
AlexYar wrote: |
Какой способ загрузки сделать?
|
Второй вариант предпочтительней,каждый выберет сам необходимые настройки(если понадобится), и не надо новую игру начинать.
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
loy wrote: |
каждый выберет сам необходимые настройки(если понадобится), и не надо новую игру начинать.
|
В том и дело, что эти настройки не для "каждого", а только для авторов модов.
|
|
|
X3-Protector
180 EGP
   Рейтинг канала: 5(166) : 20 Posts: 634 Location: Новосибирск Joined: 26 Jul 2008
 |
|
AlexYar wrote: |
В том и дело, что эти настройки не для "каждого", а только для авторов модов.
|
Ну сделай фильтр - если активирован скрипт-редактор, то загружать модуль, а если нет то и загружать не потребности.
_________________ Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот... |
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Попробую ещё раз объяснить
К примеру, допустим, появится опция "отключить падение скорости при повреждении корпуса", и автор мода, в котором используется данный патч, не захочет, чтобы кто-то трогал эту настройку, так как если зависимость отключить (скорости от корпуса) - игра станет легче (т.е. по факту отключение есть чит).
Хоть вариант с единственной загрузкой опций в начале игры и не блокирует читинг целиком, но по крайней мере снижает его вероятность (пока кто-то догадается что и где менять, да и вообще узнает, что это можно поменять, пройдёт время, и он не захочет начинать с начала).
Плюс ко всему не все опции допускают изменение на текущей игре, например, нельзя уменьшать множитель складов (увеличивать можно), так как проверки на уже имеющийся на складе товар в ней нет, и в лучшем случае товар просто пропадёт.
По большей части из античитерских соображений я предлагаю сделать всего одно считывание конфига в начале новой игры. Моддеру-тестеру по-любому приходится игру начинать по 100 раз, поэтому ему не составит труда выставить все опции сразу перед тестом.
На самый крайний случай сделаю спец.скриптовую команду принудительного обновления настроек (моддер может вручную запустить спец.скрипт, и настройки обновятся).
Так же можно в сетап-скрипте патча к моду её использовать, если моддер по каким-то причинам решил изменить какую-либо настройку в новой версии мода. Только блокировку повторного запуска делать не забываем..
Last edited by AlexYar on 12:06 19-05-2010; edited 1 time in total |
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Дампер состояния, если он появится, не будет восстанавливать все имеющиеся у игрока корабли после перехода на новую версию патча. Вместо этого он вернёт игроку стоимость этих кораблей и их груза (по ценам на момент загрузки новой версии, т.е. если моддер вместе с новой версией патча решит поменять цену на корабли, то деньги будут игроку возвращаться уже по новым ценам). Единственное, что восстановится на своих местах из кораблей - это спутники.
Станции, скорее всего, дампер состояния вернёт. Комплексы, возможно, тоже. Но скриптовые команды запускать на них не будет (в разных модах команды разные, может игрок захочет часть сторонних скриптов снести при переходе на новую версию, и т.д.), т.е. для максимального удобства при переходе на новую версию патча запуска скриптов не будет (кроме инит и сетап-скриптов, которые будут в папке скриптов на момент загрузки дампа). Таким образом игрок может смело переустановить игру полностью, если захочет, а так же может удалить лишние скрипты, которыми раньше пользовался, а теперь не хочет ими пользоваться.
Возможности гораздо шире, чем со стандартной системой сохранений в иксах, где сохранёнки можно "запороть", тут же такая вероятность сведена к нулю
Корабли не вернутся (кроме корабля игрока и к нему пристыкованных) по разным причинам, во-первых очень много данных (очень много времени на снятие дампа и его восстановление), во-вторых невозможность идентификации объектов при дампе (они хранятся в виде субтайпов, поэтому запустить обратно скрипты по охране, патрулированию или обслуживанию станций не представляется возможным, будет куча висящих без дела кораблей, игрок замучается всем команды заново раздавать), поэтому лучше и проще вернуть игроку деньги за корабли.
Да, кстати, ограничение на счёте игрока в 2 млрд. будет расширено до двух квинтильонов, т.е. 2.000.000.000.000.000.000 или 2*10^18, замучаетесь максить
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
AlexYar wrote: |
Корабли не вернутся (кроме корабля игрока и к нему пристыкованных)
|
Хотя нет, передумал. Для большей совместимости все корабли не вернутся, и даже тот, на котором игрок сидел, когда сбрасывал дамп.
Это делается для того, чтобы игрок не наделал копий уникальных модовых кораблей (например, взял один корабль, снял дамп, восстановил дамп, и на карте опять появился новый уникальный корабль, который игрок сможет вторично захватить, и так до бесконечности).
Вместо этого игроку вернутся деньги за все корабли, а сам он окажется в скафандре в том же секторе и том же месте, где снимал дамп.
Так как снимается запись только о собственности игрока, а остальная вселенная вернётся к исходному виду (как в начале игры) - не рекомендуется при снятии дампа находиться во вражеском секторе, который был до этого зачищен , потому что после восстановления игрок окажется в скафандре в куче врагов.
Так же не рекомендуется оставлять свои станции во вражеских секторах, так как они при восстановлении все будут уничтожены врагами (если в модах есть возможность станции разобрать, то надо это сделать, погрузив на свои ТЛ, тогда деньги за них при восстановлении будут возвращены).
Рассчёт возврата стоимости за корабли зависит от статуса корабля. Если он куплен на стандартной х3верфи (через меню покупки на верфи) - цена полная, в противном случае - 10% от цены (как при продаже на верфи, чтобы исключить чит с обогащением на захваченных кораблях при редампинге). Если в модах используется скриптовой метод "продажи" кораблей - авторам модов необходимо будет это учитывать и апгрейдить скрипты покупки соответствующим образом (выставляя кораблю флаг, что он куплен на верфи).
Чтобы сохранить товары с кораблей (пушки, щиты и прочее) - игроку нужно сгрузить их на склады своих фабрик, комплексов и HQ.
Станции класса "док" (ДО,ТС, пирбазы, ксеностанции и т.д.) и верфи (первые субтайпы в TFactories) восстановлены не будут (для совместимости), вместо них так же будут возвращены деньги (за них и товар).
зыж Немного подумав, решил возвращать деньги по ценам на момент снятия дампа, а не на момент его загрузки. Всё же игрок тратил деньги по старым ценам, и в случае уменьшения цены в новой версии мода получится несправедливость
зыж2 Рейтинги игрока (расовые и прочие) будут возвращены, статистика тоже вся (всякие сюжетные примочки типа модулей данных - не будут, для совместимости). Время игры скорее всего не будет восстановлено (воизбежание конфликтов с сюжеткой и миссиями), вместо этого будут добавлены новые пункты в статистику типа "время игры до восстановления (суммарное по всем)" и "кол-во восстановлений".
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Омг, только сейчас увидал супер-метод программеров егософта по защите от переполнения буфера.
Оказывается, чтобы защитить буфер от переполнения и от всевозможных глюков, багов и утечек памяти,
нужно... - переполнить его!
А потом проверить, не переполнен-ли он (по аномальному изменению значения переменной)
Пол часа голову ломал над тем, зачем при сложении двух положительных значений проверять, не стала-ли сумма меньше, чем одно из слагаемых.
Да уж, мне расширению сознания у Егософта ещё учиться и учиться...
зыж Я надеюсь, они в х3тс таких методов не применяют..
Last edited by AlexYar on 23:34 21-05-2010; edited 1 time in total |
|
|
Ark
50 EGP
 Рейтинг канала: 2(18) : 0 Posts: 25 Location: Омск Joined: 08 Apr 2010
 |
|
Тогда ещё мелкое пожелание - по рейтингам Игрока. Хотелось бы иметь возможность для любого рейтинга, то есть не только Experience, но и Боевого и Торгового тоже, узнавать и изменять значение рейтинга. В очках.
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Ark wrote: |
но и Боевого и Торгового тоже, узнавать и изменять значение рейтинга.
|
Вроде в каких-то древних версиях это было, а сейчас куда-то делось
Сделаю.
|
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Желающих реализовать в своих модах мегареальную экономику нет?
Можно было бы неписей (расы) деньгами наделить... Или пофиг?
|
|
|
Xenon J
1033 EGP
       Рейтинг канала: 11(1675) : 160 Posts: 3390 Location: Ксенонский сектор 472 Joined: 30 Mar 2007
 |
|
Имхо пофиг. Тут хоть бы нормальный оборот товаров реализовать...
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
AlexYar
1945 EGP
               Рейтинг канала: 13(2096) : 325 Posts: 33144
Joined: 26 Oct 2003
 |
|
Xenon J wrote: |
Тут хоть бы нормальный оборот товаров реализовать
|
А в чём трудность?
|
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Добавляем новые команды в скрипт редактор» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Вам смешно всем, а я мокрый весь был тут от перенапряга! (Tomahavk)
|
» Добавляем новые команды в скрипт редактор | |
|