|
|
|
Канал X2: The Threat: «FAQ: Скриптописание» |
|
|
Malcolm
|
|
Я установил набор скриптов "all in one", скрипт "Глобальный поиск товара по всей вселеной", "Small Optimisation Mod", а теперь хочу установить скрипт "корабль-склад", однако после копирования скрипта в соответсвующую директорию должного результата не происходит. В ридми написано, что в случае несовместимости нужно что-то подправить в самом скрипте. Я в скриптинге для X2 полный ноль, потому прошу помощи, скажите, что б там надо подправить и как, чтобы этот скрипт заработал?
|
|
|
-VITEC-
54 EGP
 Рейтинг канала: 1(3) Репутация: 0 Сообщения: 22
Зарегистрирован: 20.09.2008
 |
|
Malcolm Открываешь редактор, находишь команду типа: COMMAND_TYPE_CUSTOM_16 и в xml <t id="716">COMMAND_TYPE_CUSTOM_16</t> меняешь на свой.
Помогите со скриптом - неполучается заставить карабли (все в галактике) кушать батарейки и соответствено ими затовариватся, как топливо на передвижение. Вес попытки приводят к зависанию или игнорированию скрипта. Help Плиз!!!
|
|
|
Gward
310 EGP
  Рейтинг канала: 2(21) Репутация: 75 Сообщения: 1307 Откуда: Ставрополь Зарегистрирован: 11.06.2004
 |
|
Хм. А как можно помочь не видя всех пакетов скриптов и принципов реализации? Не говоря уже о нагрузке на движок, которая запросто в завис уведет.
|
|
|
-VITEC-
54 EGP
 Рейтинг канала: 1(3) Репутация: 0 Сообщения: 22
Зарегистрирован: 20.09.2008
 |
|
Принцеп
Каждый корабль в галактике закупает в трюм батареи, с трюма корабля идет потребление их. Когда батареи доходят до опред. уровня, корабль вновь летит заправляется. Если батарей в трюме =0 то и скорость тоже 0
|
|
|
Non
802 EGP
       Рейтинг канала: 6(362) Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Это ГОРАЗДО сложнее чем кажется. Тут нужно на низком уровне писать. Потому что так внешне цеплять - тонна строк получится.. Представь себе сколько кораблей, нужно собрать базу данных, обновлять батареичные массивы, кто где и что должен делать, кучу условий и проверок на наличие батареек, потом посыл за батарейками.. Прерывания своих заданий и смена оных на закупку батарей, апосля возвращение к заданию. Для игрока то норм, но для непися - ад. Можно конечно на служебные скрипты прицепить, но мне что-то даже в голову не приходит что можно с этим сделать.
|
|
|
Evgenius
|
|
Помогите неумеющему. Вот связался с модами, которые flaggship добавляют.(FlaggschffV2.0beta4, thalon_flagship, yogismod) Вроде установил, вроде распаковал и поставил правильно, вручную. В моде thalon_flagship есть скрипт, который добавляет три новых корабля в продажу на разные верфи. Захожу в игру, запускаю скрипт, но кораблей нет нигде. Дописал по образу и подобию, чтобы флагшип на верфь аргон прайм добавился. Дохлый номер. Подскажите, как должен выглядеть скрипт, который добавляет корабль в продажу на верфь. Или тупо добавляет его рядом с моим, где-нибудь в космосе. Конечно читерство, но уж очень хочется обкатать.
|
|
|
Zeron-MK7
343 EGP
    Рейтинг канала: 9(1004) Репутация: 46 Сообщения: 590 Откуда: Latvia Зарегистрирован: 14.09.2008
 |
|
Вопрос - с помощью скриптоф можна изменить в Jumpdrive потребляемй ресурс что бы он потреблял любой другой ресурс a не Energy Cells ?
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
Zeron-MK7 : |
с помощью скриптоф можна изменить в Jumpdrive потребляемй ресурс
|
Нет.
|
|
|
vetal_inside
70 EGP
  Рейтинг канала: 1(1) Репутация: 5 Сообщения: 56 Откуда: Днепропетровск Зарегистрирован: 13.08.2009
 |
|
Вопрос: как добавить команду на станцию, чтобы она высвечивалась в консоли станции.
Аналогия с кораблём не работает..может я что-то делаю неправильно?
$cmd=command_type_station_10...
global ship map: set: key=$cmd,clas=Фабрика,race=Player,script=takeware.pl(я думаю тут можно любой написать),prio=0
$factory=find station in galaxy: start sector = Пояс Руды class or type= Электростаниця(Пояс руды) flags=пусто refobj=пусто serial=пусто max.jumps=0
$factory-> connect ship command/signal to script takeware.pl with prio 0
return пусто
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
vetal_inside : |
Вопрос: как добавить команду на станцию, чтобы она высвечивалась в консоли станции.
|
Нужно добавить на одну какую-то станцию, или все такого типа?
vetal_inside : |
$factory=find station in galaxy: start sector = Пояс Руды class or type= Электростаниця(Пояс руды) flags=пусто refobj=пусто serial=пусто max.jumps=0
$factory-> connect ship command/signal to script takeware.pl with prio 0
|
Вот это лишнее. Команда подключается автоматически к классу/типа объекта (выделено красным), т.е. в данном примере подключится ко всем фабрикам игрока (например - к докам и торговым станциям она не подключится, потому что это не фабрики).
vetal_inside : |
$cmd=command_type_station_10...
global ship map: set: key=$cmd,clas=Фабрика,race=Player,script=takeware.pl(я думаю тут можно любой написать),prio=0
|
Чтобы эта команда сработала на объектах игрока - нужна ещё одна строчка:
Код: |
set script command upgrade: command=$cmd upgrade=TRUE |
|
|
|
vetal_inside
70 EGP
  Рейтинг канала: 1(1) Репутация: 5 Сообщения: 56 Откуда: Днепропетровск Зарегистрирован: 13.08.2009
 |
|
Спасибо, заработало.
А еще вопрос: можно как-то сделать(с помощью скриптив), что-бы про выборе данной команды в консоли станции вызывалась еще новая менюшка по типу консоли?..
Например добавили на станцию команду "Построить корабль..." и при выборе этого пунктика открывалось "Корабль М1","корабль М2", и т.д. .
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
vetal_inside : |
можно как-то сделать(с помощью скриптив), что-бы про выборе данной команды в консоли станции вызывалась еще новая менюшка
|
В стандартной х2 нельзя.
|
|
|
vetal_inside
70 EGP
  Рейтинг канала: 1(1) Репутация: 5 Сообщения: 56 Откуда: Днепропетровск Зарегистрирован: 13.08.2009
 |
|
И последний вопрос, на засыпку :
Можно ли скриптами мгновенно поместить корабль на станцию, или создать его прям пристыкованым к станции?
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
vetal_inside : |
или создать его прям пристыкованым к станции?
|
Создать можно, для этого в команде create ship в поле add to нужно указать не сектор, а нужную станцию.
vetal_inside : |
мгновенно поместить корабль на станцию
|
В удалённом секторе (где нет игрока) можно командой set environment. Ессно нужно сделать проверку на удалённость сектора (для станции GetSecObID, проверяет, в активном секторе станция находится или в удалённом (в удалённом вернёт Null)).
Без патченного обжа пристыковать корабль к станции в активном секторе нельзя.
|
|
|
vetal_inside
70 EGP
  Рейтинг канала: 1(1) Репутация: 5 Сообщения: 56 Откуда: Днепропетровск Зарегистрирован: 13.08.2009
 |
|
AlexYar : |
vetal_inside : |
или создать его прям пристыкованым к станции?
|
Создать можно, для этого в команде create ship в поле add to нужно указать не сектор, а нужную станцию.
|
Я вводил там и станцию, и станцию игрока. Корабль всёравно появляется в секторе, причём после загрузки сейва на месте станции, в параметрах, стоит сектор, в котором находится станция
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
vetal_inside : |
Корабль всёравно появляется в секторе
|
Может, начнём с того, что ты процитируешь то, что есть в твоём скрипте?
|
|
|
Gward
310 EGP
  Рейтинг канала: 2(21) Репутация: 75 Сообщения: 1307 Откуда: Ставрополь Зарегистрирован: 11.06.2004
 |
|
vetal_inside : |
Можно ли скриптами мгновенно поместить корабль на станцию
|
<object>put into environment <environment>
Раздел General object commands
Поместить корабль в определенное окружение <environment>. Не путайте эту команду с навигационной командой fly to, т.к. эта инструкция просто перемещает объект в указанную среду. Средой для перемещения может являться сектор или станция, а объектом корабль. Будьте осторожны при работе с большими кораблями, их при помощи этой команды можно перемещать только в сектор, т.к. перемещаемый корабль помещается непосредственно в стыковочный док, а не в шлюз (то есть, внутрь станции). Если вы все таки попробуете переместить большой корабль на станцию, то перемещение произойдет, но корабль никогда не сможет взлететь со станции. При перемещении объекта в сектор, он появиться по координатам в которых он находился в предыдущем секторе.
Обратите внимание на то, что эта команда не запускает механизма создания секторальных объектов (генерации 3D-объектов), из чего следует – нельзя применять эту команду к кораблю игрока, т.к. теоретически перемещение произойдет и все внутренние ссылки на Playership будут изменены, а визуальные 3D-модели сектора-назначения и всех находящихся в нем объектов созданы не будут (вокруг будет чернота, но на карте сектора ваш корабль будет присутствовать – и соответственно может быть убит кем нибудь), то есть ScE считает, что корабль игрока находиться внутри сектора, а сектор система будет считать удаленным.
____________________________
Справочник DragonP читать приветствуется.
От себя могу добавить. Вроде и без патченья обжа эта команда работала в лохматые годы в активном секторе когда обжей патченных не было. Утверждать не буду. Пробуйте.
Последний раз редактировалось: Gward (19:53 01-09-2009), всего редактировалось 1 раз |
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
Gward : |
Раздел General object commands
|
Информация устарела и некорректна. Ни в какой шлюз корабль не перемещается. Так же не указано, что помимо корабля игрока данную команду категорически запрещается использовать для "посадки" кораблей на станции и авианосцы в активном секторе, так как это может привести к убиванию сохранений (корабль потом не сможет никогда взлететь, а через N-ое обращение к меню ангара станции игра начнёт вылетать).
Вообще, если говорить прямо, пользоваться этой командой для посадки нельзя вообще, так как процедуры нормальной посадки и помещения в окружение различаются значительно (в обже). При помещении в окружении часть процедур не выполняется вовсе, при этом баги просто неизбежны.
В случае с удалённым сектором сходств в процедурах больше, но различия всё равно есть.
Лично я бы пользовался такой последовательностью:
1. set position в координаты станции.
2. fly to - на эту станция.
В удалёнке такая посадка происходит практически мгновенно.
|
|
|
Gward
310 EGP
  Рейтинг канала: 2(21) Репутация: 75 Сообщения: 1307 Откуда: Ставрополь Зарегистрирован: 11.06.2004
 |
|
AlexYar : |
Информация устарела и некорректна. Ни в какой шлюз корабль не перемещается.
|
Спорить не буду, хоть и нелогично. Аналог обжем 100% используется при стыковке. Почему он должен быть другим для put in enviroment? Глобально не тестил, не спорю.
Последний раз редактировалось: Gward (10:41 02-09-2009), всего редактировалось 1 раз |
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
Gward : |
Почему он должен быть другим для put in enviroment?
|
Потому что команда эта сделана не для стыковки
При стыковке проводится ряд процедур (fly to, запрос слота на стыковку, заход на дистанцию начала посадки, сам полёт к шлюзу, помещение в контейнер, убирание из окружения сектора, добавление в список кораблей станции и и.д.). Ничего этого при помещение в окружение не происходит.
зыж Проведи эксперимент. В своём секторе второй свой корабль помести в окружение станции в этом же секторе. Потом сохранись. Потом дай этому кораблю команду следовать за тобой.
Последний раз редактировалось: AlexYar (11:18 02-09-2009), всего редактировалось 1 раз |
|
|
|
|
|
Канал X2: The Threat: «FAQ: Скриптописание» |
|