|
|
|
Канал X2: The Threat: «Ultimate mod» |
|
Стоит ли делать мод на основе стандартной игры? |
Да |
|
87% |
[ 27 ] |
Нет |
|
12% |
[ 4 ] |
|
Всего проголосовало : 31 |
|
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
annown : |
Хмм, а кто знает где можно править % продажи корабля? Если в обжах, то досвидания Я в них пень...
|
Стоимость продажи захваченного корабля близка к стоимости покупки этого коробля, умноженной на % оставшегося Hull'а (корпуса).
Отсюда, без всякой правки обжей, можно легко уменьшить прибыльность захватов банально хорошенько покоцав корпус при сдаче корабля. Ну а главная прибыль с захватов - это на самом деле 25МВт щиты и дорогие пушки (HEPT, KE). Вероятность того, что они останутся тоже лего снизить скриптом.
А я бы совсем не так делал. А просто снизил бы % захвата при низком боевом рейтинге игрока Т.е. с ростом "матерости" игрока росла бы и вероятность захвата, причем на определенных рейтингах определенные классы кораблей, например от М3, (да и те же ксены и каки) не должны захватываться вовсе.
Вот вам и решение проблемы легкого пути заработка денег + стимул прокачивать боевой рейтинг.
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
akm : |
Вот вам и решение проблемы легкого пути заработка денег + стимул прокачивать боевой рейтинг.
|
Это достигается правкой signal.captured ?
Вообщем то мудро, но я собираюсь написать так, что бы допустим на бастере игрок не смог захватить Нову, на нове М6, на М6 М2.
Что бы захватываемый корабль был или равен или ниже класса корабля игрока У меня просто постепенное развитие будет, игроку будут давать на продажу корабли и станции (вооружения, защиты, ракет) в этом и будет вся фича мода!
Буду рад если вы подскажете как реализовать задуманное...
ЗЫ: Я кстати тоже сейчас занимаюсь правкой туманностей (убивание тормознутой анимации) если хотите, я когда закончу дам вам для вашего проэкта сценки
|
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
annown : |
Это достигается правкой signal.captured ?
|
Ага И с помощью новой команды "get fight ranking" от Shaddie.
annown : |
я собираюсь написать так, что бы допустим на бастере игрок не смог захватить Нову, на нове М6, на М6 М2.
|
Тоже запросто. Несколько строчек в обработчике SIGNAL_CAPTURED Например
@ = [THIS] -> call script '!ship.signal.captured' : //(это вызов стандартного обработчика SIGNAL_CAPTURED)
$pl.class = [PLAYERSHIP] -> get object class
$npc.class = [THIS] -> get object class
SKIP IF $npc.class > $pl.class
return null
[THIS] -> ignore ship command/signal SIGNAL_KILLED
[THIS] -> destruct: show no explosion=[FALSE]
return null
Единственное, я не помню, можно ли таким образом сравнить классы кораблей. Возможно придется использовать команду
<RetVar/IF> <RefObj> is of class <Var/Class>
Данный скрипт лучше подключить в каком-либо setup-скрипте мода:
global script map: set: key=SIGNAL_CAPTURED, class=Ship, race=null, script='имя.данного.скрипта', prio=300
annown : |
Я кстати тоже сейчас занимаюсь правкой туманностей (убивание тормознутой анимации) если хотите, я когда закончу дам вам для вашего проэкта сценки
|
Да, спасибо! Только давай в личке обсудим, и давай на ты
|
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
akm : |
$pl.class = [PLAYERSHIP] -> get object class
$npc.class = [THIS] -> get object class
SKIP IF $npc.class > $pl.class
...
Единственное, я не помню, можно ли таким образом сравнить классы кораблей.
|
Ага, так точно работать не будет, т.к. приведение типа "класс объекта" в тип integer не произойдет. Чтобы можно было сравнить классы, полученные командой "get object class", необходимо использовать такую конструкцию:
$pl.class = [PLAYERSHIP] -> get object class
$npc.class = [THIS] -> get object class
inc $pl.class
inc $npc.class
SKIP IF $npc.class > $pl.class
только команды inc и dec производят приведение большинства типов в integer, после чего не-integer значения можно сравнивать между собой Но в случае сравнения классов кораблей есть подвох. Вот что дает приведение типа корабля, возвращаемого функцией "get object class", в integer (без инкремента) :
2021 Battle Ship M1
2022 Destroyer M2
2023 Heavy Fighter M3
2024 Medium Fighter M4
2025 Light Fighter M5
2026 Cruiser M6
2030 Passenger Transport TP
2031 Small Transport TS
2032 Large Transport TL
2035 Pirate Transport TS
2039 Goner Ship
2131 Khaak Cluster
Так что маленьким изящным скриптом идею реализовать не получится, придется делать кучу проверок.
Скриптик конечно могу помочь набросать, только нужны ответы:
1) на каких кораблях разрешить захват TP, TS и Pirate TS?
2) должен ли отличаться чем-то захват каков и ксенов?
3) захват M1 и TL, насколько помню, в Х2 невозможен, а M2 - только ксеновские в миссиях?
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Набирай:
1) TS'ы захватываются только на М3 и выше
2) каки и ксеноны НЕ должны захватыватся вообще
3) М2 ксенонские ТОЛЬКО в миссиях...
Если игрок на М3, то он может захватывать М3, М4, М5.
Если игрок на М4, то он может захватывать М4, М5.
Если игрок на М5, то он может захватывать только М5
М6, М1, М2 незахватываются никакие, даже ксенонские.
Вот такой расклад, я думаю лучше не стоит ставить патч от Shaddie, потому что большинству юзверей, думаю будет впадлу его ставить А так можно...
|
|
|
Fordgt 55 EGP
Репутация: 10 Сообщения: 87 Откуда: г. Курган Зарегистрирован: 09.09.2005 |
|
Annown если ты убереш захват Хаакских шипов то, как ты их будешь добывать для прокачки Эксперементол шатл. Обьясни!
_________________ Все будет КРУТО We Like To Peace |
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Сюжет вообще другой будет, ты не смотри туда...
В этом сюжете вообще не будет прокачки, шаттл ты будешь делать сам с помощью черчежа добытого из Ап Ганнера...
Сюжет поменялся, потому что карта полностью изменена, следи за развитием событий, если что спрашивай .
2akm Не мог бы ты в Сигнал.Киллед зделать фишку что бы отлетали девайсы после подрыва корабля с вероятностью в 4%? Захват нужно зделать редким, где то 2%
Мне кажется выбивать себе оборудование будет интересно...
|
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
annown : |
я думаю лучше не стоит ставить патч от Shaddie, потому что большинству юзверей, думаю будет впадлу его ставить
|
1) без этого патча нормальных миссий не реализовать, хотя для модификации захвата он конечно не нужен
2) ставить его нужно не юзверям, тебе и распространять получившийся вариант x2story.obj в составе твоего мода. А x2story.obj сорее всего придется модифицировать по ряду других причин: если нужно добавить новые корабли или пушки или расы, или повысить производительность скрипт-движка (есть возможность снизить интенсивность обсчета экономики и запуска торговых скриптов для TS NPC)
annown : |
Захват нужно зделать редким, где то 2%
|
А зачем? Он и так редкий (в среднем) и теперь М3 на М4 игрок не захватит. Хотя можно и обрезать для низкого боевого рейтинга, как я ранее предлагал.
annown : |
Не мог бы ты в Сигнал.Киллед зделать фишку что бы отлетали девайсы после подрыва корабля с вероятностью в 4%?
|
Запросто. Только это халява куда бОльшая чем захват кораблей, т.к. пушки могут быть очень дорогие.
Есть идея вероятность отлета пушек сделать обратно пропорциональной мощности пушек игрока, т.е. чтобы от выстрела HEPT или PSG от кораблей оставалась только пыль, а IRE было бы орудием хирурга
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
akm : |
повысить производительность скрипт-движка
|
Это очень заманчиво
Нужно пропатчить, токо я в обжах как мясо фаршированное, вообще не бум бум
В моде обязательно нужно зделать выбивание пушек и щитов, т.к. без этого игрок просто повесится, ему ведь постепенно всё давать будут, и ему же надо будет покупать себе заводы по строительству пушек, щитов, ракет (они по чуть-чуть в продажу по плееинг тайму добавлятся будут...).
ЗЫ: Поковыряй сигнал киллед, но с тем же приколом что и захватом... т.е. если ты на М4, то ты у М3 пушку не выбъешь...
ЗЗЫ: Закончил ковырять туманности, все перековырял, как BORON FRIEND показывал, но что то особого поднятия ФПС я не заметил. Крутится вертится шар голубой, анимация осталось всё вертится Если это бесполезоно, то очень жаль, столько времени ушло
Может у него спросить как и что?
|
|
|
Boron Friend 830 EGP
Рейтинг канала: 5(203) Репутация: 263 Сообщения: 1222 Откуда: Kingdom End Зарегистрирован: 24.12.2004 |
|
annown : |
Если это бесполезоно
|
Нет, это не бесполезно, если знать что делать
Возьмём к примеру туманность №106 (в TNebula она идет как SS_NEBULA_107). Смотрим cut - 4743 Вотъ его содержимое:
04743.bod : |
/===============================================================
/ 3D Scene Information file F:\SRC\Xtract\Xtract\cut\04743.BOD
/ Automatically generated from F:\SRC\3DSMAX-Work\X2_The-Threat\szenen_nebel_new\new_scenes\04743_BlueHydroxygene_XL02.max
/===============================================================
/ EGOSOFT Bodyfile exporter version Sep 4 2003 00:37:38
VER: 3;
/ >> Mon Sep 29 05:17:30 2003
/ Animation time interval: 0..1120000
/ >> Mon Sep 29 05:17:30 2003
/ Staring Biped Key Reading/ >> Mon Sep 29 05:17:30 2003
/ finished Biped Key Reading
/ Mon Sep 29 05:17:30 2003
/ Node 10139b01 Class [Editable Mesh, GEOMOBJECT_CLASS_ID]
//Всё, что идёт выше - инфо файла, мы его не трогаем.
P 0; B 10139; N 10139b01;
: |
Итак, P - это порядковый номер боди файла; B - номер боди в папке v; N - имя боди файла, (любое, не имеет значения)
|
{ 0xa002; 258073; -194824; -202022; 0.499910; 0.005146; 0.999987; 0.000001; 0.000000;0.000000;0.000000;0.000000;0.000000; 103366; 1; } // 0
{ 0x8012; 0.499304; 0.000568; 0.000000; -1.000000; 0.000000;0.000000;0.000000;0.000000;0.000000; 117100; 2; } // 1
{ 0x8012; 0.499307; 0.000568; 0.000000; -1.000000; 0.000000;0.000000;0.000000;0.000000;0.000000; -1; -1; } // 2
|
.......................................................................................................
Итак, откуда копать?
Разберём P0 - { 0xa002 - ключ анимации. Показывает движку игры, какая именно используется анимация - вращение, перемещение и т.д.; 258073; -194824; -202022; - позиция мировых координат X Z Y (обратите внимание, именно XZY, а не XYZ!!!); 0.499910; 0.005146; 0.999987; 0.000001; - это TCB Rotation (Angle, a, b, g, соответственно); 0.000000;0.000000;0.000000;0.000000;0.000000; - неважно что это (потому что толком не знаю ); 103366; - длительность изменения анимации к следующему кадру; 1; - номер кадра. Обратите внимание, что в последнем кадре как длительность -1, так и номер кадра -1! Это очень важно!
Поэтому приходим к выводу, что нужно срезать два последних ключа анимации 0x8012;, а в первом кадре поставить в конце -1. То есть в итоге выглядеть должно вот так:
: |
{ 0xa002; 258073; -194824; -202022; 0.499910; 0.005146; 0.999987; 0.000001; 0.000000;0.000000;0.000000;0.000000;0.000000; -1; -1; } // 0
|
PS Надеюсь ты всё понял
|
|
|
akm 470 EGP
Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002 |
|
annown : |
akm : |
повысить производительность скрипт-движка
|
Это очень заманчиво
|
косвенно повысить, снизив интенсивность запуска скриптов NPC в удаленных секторах
annown : |
анимация осталось всё вертится
|
А проверял именно на той туманности, которую "подрезал"?
annown : |
Поковыряй сигнал киллед, но с тем же приколом что и захватом... т.е. если ты на М4, то ты у М3 пушку не выбъешь...
|
не хочется слишком нагружать данный скрипт, т.к. сигнал_киллед срабатывает в 100 раз чаще сигнала_кэпчюред, особенно в интенсивном бою, если игрок будет укладывать корабли пачками из PSG, будут лишние тормоза.
И еще, не логично как-то когда от пушек более мощного корабля будет больше запчастей оставаться на поле боя. Хотя легкая добыча на ранней стадии игры тоже ни к чему...
Ладно, чего-нибудь придумаю.
BORON FRIEND: Спасибо за подробную инфу! Только
BORON FRIEND : |
Поэтому приходим к выводу, что нужно срезать два последних ключа анимации 0x8012
|
не совсем очевидно почему срезать именно 2 последних анимации.
Есть ли где-то результаты исследований анимация каких типов быстрая, а каких тормозная? Почему режется именно 0x8012?
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
akm : |
А проверял именно на той туманности, которую "подрезал"?
|
Дело в том, что я подрезал все бодики
Но толку мало
akm : |
PS Надеюсь ты всё понял
|
Я то понял, а что все кадры так перегрызть?
akm : |
не хочется слишком нагружать данный скрипт
|
Ладно, ты ж у нас спец по скриптам не я Так шо буим ВОИМЯ ПРОИЗВОДИТЕЛЬНОСТИ!
ЗЫ: 2 BORON FRIEND AlexYar исправил твои пульки!
Пасибо ему башоее!
|
|
|
Boron Friend 830 EGP
Рейтинг канала: 5(203) Репутация: 263 Сообщения: 1222 Откуда: Kingdom End Зарегистрирован: 24.12.2004 |
|
akm : |
Почему режется именно 0x8012?
|
Просто в таком случае попалась именно такой ключ. Вовсе необязательно срезать именно его Если в анимации стоит только одна строка, любого ключа, то движения НЕ будет! Можно хоть так:
: |
{ 2; 258073; -194824; -202022; 0.499910; 0.005146; 0.999987; 0.000001; -1; -1; } // 0
|
Что я тут сделал: поменял ключ (или маркер, называйте как хотите) на 2 - это только перемещение и вращение. И убрал эти floating нули, чтобы не мешали, так как ключу 2 они не нужны.
ЗЫ Наверное вскоре дам списочек ключей, какой что делает
|
|
|
Boron Friend 830 EGP
Рейтинг канала: 5(203) Репутация: 263 Сообщения: 1222 Откуда: Kingdom End Зарегистрирован: 24.12.2004 |
|
Итак - вот списочек:
{ 2 - перемещение (XZY) с вращением (TCB);
{ 18 - только вращение (TCB);
{ 34 - только перемещение (XZY);
{ 2002 - то же, что 2, без анимации!
{ 0x0002; - то же, что 2
{ 0x0012; - то же, что 18
{ 8 - анимация Free камеры - перемещение (XZY), вращение (roll,dive,yaw или Euler) и FOV;
{ 104; - анимация Free камеры - только перемещение;
{ 72; - анимация Free камеры - только перемещение и FOV;
{ 40; - анимация Free камеры - только перемещение и вращение (Euler XZY);
{ 0x0808; - анимация Taget камеры - перемещение XZY, вращение (Bezier float) и FOV;
{ 512 - анимация Omni light - перемещение (XZY), вращение (Euler XZY);
{ 1536; - анимация Omni light - только перемещение (XZY)
{ 0x0082; - то же, что 2, используется при анимации шлюза (не проверял, можно ли использовать в других случаях );
{ 0x0092; - то же, что 18, используется при анимации шлюза;
{ 0x00a2; - то же, что 34, используется при анимации шлюза;
{ 0x2082; - то же, что 2;
Там полно ещё всяких ненужных маркеров, так что пока основные . Если я где-то ошибся - исправте пожалуйста
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
2 BORON FRIEND
Послушай, я чегойт не понял, я ведь убрал вот тогда кадры на серой сенсороглушащей туманности лишние кадры, она то ведь не двигалась, а всё равно глючит!
Так что срезай не срезай, туманности в Х2 все равно глючные, мне не приятно это говорить
|
|
|
Boron Friend 830 EGP
Рейтинг канала: 5(203) Репутация: 263 Сообщения: 1222 Откуда: Kingdom End Зарегистрирован: 24.12.2004 |
|
Ты Фрапсом мерял? Хоть что-нибудь изменилось (FPS в смысле)? Ну тоды надо не только анимацию удалять, но и количество спрайтов меньше делать, то есть меньше самих боди в файле сцены. Только это может плохо отразиться на внешнем виде туманности
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Да это всё туго, фрапс даёт прирост +1,2 фпс
ЗЫ: А может зделать как во фриле туманности, но это будет такой геморрой! Просто меняеццо фон, и несколько небольших облачков, и не глючит вообще!
ЗЗЫ: Движок фрила рулит!
|
|
|
Boron Friend 830 EGP
Рейтинг канала: 5(203) Репутация: 263 Сообщения: 1222 Откуда: Kingdom End Зарегистрирован: 24.12.2004 |
|
annown : |
Движок фрила рулит!
|
Я тебе об этом говорил давно . С новыми Darth Revan'овскими скрипт-командами можно это реализовать. Но у меня пока руки до X2 не доходят.
|
|
|
Non 802 EGP
Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006 |
|
Дык, нужно его скрипт команды поюзать, у меня тоже не доходит, Х3 пошёл
|
|
|
AlexYar 1856 EGP
Рейтинг канала: 6(442) Репутация: 324 Сообщения: 31695
Зарегистрирован: 26.10.2003 |
|
annown : |
А может зделать как во фриле туманности, но это будет такой геморрой!
|
На движке х2 это не помогут сделать никакие команды Тормозить будет страшно.
На движке х3 уже проще, но там другой минус - локальные туманности сделать нельзя, т.е. только на весь сектор сразу.
Правда возможности карты с 450 секторами это позволяют.
|
|
|
|
|
|
Канал X2: The Threat: «Ultimate mod» |
|