|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Справочник по скриптовым командам (X3)|v. 0.3.54|05.07.2008» |
|
Что нужно добавить в справочник в первую очередь ? |
Описания файлов из каталога types. |
|
25% |
[ 2 ] |
Статьи, написанные выдающимися скриптерами. |
|
37% |
[ 3 ] |
Задачи, и лучшие решения скрипт-школы. |
|
37% |
[ 3 ] |
Свой вариант (просьба описать кратко, но емко). |
|
0% |
[ 0 ] |
|
Всего проголосовало : 8 |
|
|
|
AlexYar 1876 EGP
Рейтинг канала: 13(2096) Репутация: 324 Сообщения: 32031
Зарегистрирован: 26.10.2003 |
|
RAMI : |
данной комманды нет в справочнике
|
По 2.0.02 включительно версию эта команда и схожие с ней не работали. С 2.5 надо смотреть код.
зыж Все команды set pos работают именно как set safe pos.
Другими словами - то-ли специально, то-ли неумышленно, при переходе с х2 на х3 егософт сломал эту команду (поменял код set pos и set safe pos), а все команды работы с секторным объектом отключили.
Последний раз редактировалось: AlexYar (13:41 12-09-2008), всего редактировалось 1 раз |
|
|
Арманкессилон 1729 EGP
Рейтинг канала: 9(1184) Репутация: 344 Сообщения: 13104 Откуда: Ставрополь Зарегистрирован: 16.08.2007 |
|
Команды find station не работают для поиска врат. Мне казалось, что должно. Всё-таки ближе к станции, ИМХО. Может кто проверить, может это я туплю? У меня null возвращает. Причем запрос максимально упрощал, ошибиться негде.
_________________ Все астероиды не пересчитать! |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
Арманкессилон : |
Мне казалось, что должно.
|
Неа.
Ты бы посмотрел в теме препарирования внутренностей - я постил дерево классов, так вот - Врата и любые станции - две совсем разные ветки на этом дереве.
В общем - нет. Не ищутся. Т.е. перебором возможных идентификаторов врат в секторе.
_________________ Умножим энтропию на 0 :-) |
|
|
X3-Protector 180 EGP
Рейтинг канала: 5(166) Репутация: 20 Сообщения: 634 Откуда: Новосибирск Зарегистрирован: 26.07.2008 |
|
Chem : |
В общем - нет. Не ищутся. Т.е. перебором возможных идентификаторов врат в секторе.
|
Ну ладно врата, их хоть как-то можно найти, а как быть с обломками от взорванных станций?
...
Кстати, когда респавнятся НПСишные станции, они как избавляются от обломков? На такие обломки для этого должен быть какой-то указатель, а значит есть способ как-то найти этот указатель. Подумайте плиз, я уверен что это пригодится многим скриптерам. Может быть эта возможность тупо нереализована в скрипт движке, что напрашиается обсудить в другой теме(гм, та тема уже закрыта)...
_________________ Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...
Последний раз редактировалось: X3-Protector (18:18 14-09-2008), всего редактировалось 3 раз(а) |
|
|
RAMI 330 EGP
Рейтинг канала: 5(241) Репутация: 82 Сообщения: 2538 Откуда: Центральная Россия Зарегистрирован: 16.11.2005 |
|
X3-Protector : |
Кстати, когда респавнятся НПСишные станции, они как избавляются от обломков?
|
Эмм... А разве после взрыва станции остаются обломки? Вчера взрывал и никаких следов её наличия в этом месте не осталось.
вот еще есть неточность, мне так кажется:
<RetVar> = <RefObj> is hired
· Команда возвращает значение [TRUE], если корабль <RefObj> нанят игроком, или [FALSE], если нет.
На самом деле возвращается не [FALSE], а null (по крайней мере в сообщениях так выглядит). [TRUE] - в сообщении вообще никак не отображается.
Хотя может [FALSE] и null одно и то же?
_________________ В действительности всё иначе, чем на самом деле... |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
RAMI : |
Хотя может [FALSE] и null одно и то же?
|
Именно.
_________________ Умножим энтропию на 0 :-) |
|
|
X3-Protector 180 EGP
Рейтинг канала: 5(166) Репутация: 20 Сообщения: 634 Откуда: Новосибирск Зарегистрирован: 26.07.2008 |
|
Значит можно для запуска скрипта в глобальный стэк использовать такой приём:
@ START [FALSE] -> call script "MyScript": null
По идее это будет равносильно этому:
. $Autopilot = null
@ START $Autopilot -> call script "MyScript": null
Я правильно сообразил?
_________________ Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...
Последний раз редактировалось: X3-Protector (23:00 15-09-2008), всего редактировалось 3 раз(а) |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
X3-Protector : |
Значит можно для запуска скрипта в глобальный стэк использовать такой приём:
@ START [FALSE] -> call script "MyScript": null
По идее это будет равносильно этому:
. $Autopilot = null
@ START $Autopilot -> call script "MyScript": null
Я правильно сообразил?
|
Логично. Осталось проверить практикой.
_________________ Умножим энтропию на 0 :-) |
|
|
X3-Protector 180 EGP
Рейтинг канала: 5(166) Репутация: 20 Сообщения: 634 Откуда: Новосибирск Зарегистрирован: 26.07.2008 |
|
Справочник по скриптовым командам игры X3:Reunion - engine v.32 : |
<RefObj> switch laser in turret <Var/Number> gun <Var/Number> to <Var/Ware>
* Команда осуществляет замену орудия, установленного в слоте gun <Var/Number> турели in turret <Var/Number>.
* Устанавливаемое орудие должно находиться в грузовом отсеке и быть совместимыми с турелью (имеется в виду техническая возможность установки). В противном случае изменения не будут произведены.
* Так же не будет произведено изменений, если в качестве <Var/Ware> будет передано значение null, т.е. будет произведена попытка снять установленное орудие.
|
Толи я тупой, толи действительно написано не правильно:
На самом деле при указании в параметре <Var/Ware> не происходит ни каких действий, как бы я не выпидрючивался, всеравно оружие из слота не вынемается, а остаётся там буд-то и ни какой попытки снять его не совершалось - возможно это глюк движка, подтвердите мои догадки...
_________________ Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...
Последний раз редактировалось: X3-Protector (11:42 21-09-2008), всего редактировалось 1 раз |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
Написно правильно. Хотя может редакторская правка и требуется .
Chem : |
* Так же не будет произведено изменений, если в качестве <Var/Ware> будет передано значение null, т.е. будет произведена попытка снять установленное орудие.
|
Давай перефразирую:
Chem : |
* При попытке снять орудие, передав в качестве параметра <Var/Ware> значения null, никаких действий произведено не будет. Т.е. орудие не будет удалено из слота.
|
_________________ Умножим энтропию на 0 :-) |
|
|
X3-Protector 180 EGP
Рейтинг канала: 5(166) Репутация: 20 Сообщения: 634 Откуда: Новосибирск Зарегистрирован: 26.07.2008 |
|
Chem : |
* При попытке снять орудие, передав в качестве параметра <Var/Ware> значения null, никаких действий произведено не будет. Т.е. орудие не будет удалено из слота.
|
Тоже верно, но скверно.
Не с первого раза понятно, даже иакому понимающему как я ...
_________________ Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот... |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
Сочувствую.
_________________ Умножим энтропию на 0 :-) |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
X3-Protector : |
Обязательно проверяйте содержимое параметра <Var/Ware>
|
Это в принципе надо проверять. Ты должен понимать, какой диапазон значений ты потенциально используешь в каждой команде.
Просто поясни, с какого интересе я вдруг буду пытаться добавить пустоту ?
Я ж обязательно проверю - если товара нет - то и не буду его пытаться добавить.
Поэтому надо исправлять не скрипт-движок .
_________________ Умножим энтропию на 0 :-) |
|
|
Xenon J 966 EGP
Рейтинг канала: 11(1674) Репутация: 161 Сообщения: 3376 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007 |
|
Команда
Код: |
<RetVar/IF><RefObj> is <Var/Ship/Station> in firing range of turret <Var/Number> |
При проверке и наличии цели в зоне поражения основных турелей почему-то возвращает 2. (если TRUE, то это 1, когда пишешь в бортжурнал).
А команда
Код: |
<RetVar> = create ship: type=<Var/Ship Type> owner=<Var/Race> addto=<Value> x=<Var/Number> y=<Var/Number> z=<Var/Number> |
при указании расы Пират создает корабль, принадлежащий к основным 5-ти расам, но он не вскрывается при сканировании, а при уничтожении падает рейтинг расы-владельца .
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
Chem 780 EGP
Рейтинг канала: 15(2610) Репутация: 248 Сообщения: 4751 Откуда: Киев Зарегистрирован: 08.01.2007 |
|
Xenon J : |
При проверке и наличии цели в зоне поражения основных турелей почему-то возвращает 2
|
Т.е. если доступно для неосновных турелей - возвращает 1?
А для основных - 2 ?
_________________ Умножим энтропию на 0 :-) |
|
|
Xenon J 966 EGP
Рейтинг канала: 11(1674) Репутация: 161 Сообщения: 3376 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007 |
|
Chem : |
Т.е. если доступно для неосновных турелей - возвращает 1?
А для основных - 2 ?
|
Это не проверял . Только с фронтовыми лазерами. Но проверить остальные ведь несложно
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
-AL- 65 EGP
Рейтинг канала: 1(7) Репутация: 8 Сообщения: 55 Откуда: РЕАЛ Зарегистрирован: 17.01.2007 |
|
<RetVar/IF> find station: sector=<Var/Sector> class or type=<Value> race=<Var/Race> flags=<Var/Number> refobj=<Value> maxdist=<Var/Number>
maxnum=<Var/Number> refpos=<Var/Array>
...
• Сфера поиска задается ... .
• Дополнительные параметры, ... .
мое предложение:
• Сфера поиска задается ... в качестве центра сферы используется refpos=<Var/Array>, если refpos=null то используются координаты объекта refobj=<Value>, refobj служит для использования флагов поиска.
• Дополнительные параметры ... Флаги поиска (Find)», флаги типа [Find.Friend],[Find.DockingAllowed],[Find.Visible] относятся к refobj, флаги типа [Find.Nearest],[Find.ForceUsePos] относятся к центру сферы поиска.
предложение относится ко всем командам семейства find с refobj=<Value> и refpos=<Var/Array>
почему предлагаю: вот пример из скрипта выложенного в базе:
Код: |
$Flags = [Find.Friend] | [Find.Neutral] | [Find.Nearest]
$TargetStation = find station: sector= $TargetSector class or type= null race= null flags= $Flags refobj= $TargetGate maxdist= null maxnum= null refpos= null |
идет поиск станции, куда должен бежать корабль, от опасности;
вроде бы все верно, правильные флаги заданы, но иногда корабль пытается сесть на вражеские станции - потому что refobj= $TargetGate, а гейтам все равно какие с кем у игрока отношения,
скорее всего ввела в заблуждение фраза: "в качестве центра сферы может быть задан либо объект refobj=<Value>, либо точка в пространстве с координатами refpos=<Var/Array> (не используемый должен быть установлен как null)",
работает
Код: |
$GatePos = $TargetGate -> get position as array
$Flags = [Find.Friend] | [Find.Neutral] | [Find.Nearest]
$TargetStation = find station: sector= $TargetSector class or type= null race= null flags= $Flags refobj= [THIS] maxdist= null maxnum= null refpos= $GatePos |
понятия refobj= и refpos= в справочнике нужно разнести четче.
_________________ забей на игры :) |
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Справочник по скриптовым командам (X3)|v. 0.3.54|05.07.2008» |
|