|
|
|
Канал X3: Terran Conflict »
Модовый и скриптовый отсек X3: Terran Conflict: «[ДИСКУС]: Скриптописание. Проблемы и их решение.» |
|
|
by.@ztek 315 EGP
Рейтинг канала: 5(218) Репутация: 50 Сообщения: 795 Откуда: Минск, Беларусь Зарегистрирован: 21.04.2010 |
|
Thug : |
Я не сказал, извиняюсь - игра Х3.
|
А чего тут тогда (в этой теме)? Нет у меня под руками Х3 Reunion, и сказать не могу ничего..
_________________ Совершенству нет предела... |
|
|
Thug 67 EGP
Рейтинг канала: 3(26) Репутация: 4 Сообщения: 111 Откуда: Новороссийск Зарегистрирован: 11.11.2013 |
|
by.@ztek : |
А чего тут тогда (в этой теме)?
|
Так там нет некого и спросить не у кого, а скриптописание, на мой взгляд, процесс одинаковый (почти)
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Crazy Diamond 205 EGP
Рейтинг канала: 5(126) Репутация: 42 Сообщения: 437 Откуда: Уфа Зарегистрирован: 01.07.2009 |
|
Thug : |
117 * Сбросить энергию лазеров до нуля.
118 $MinSaryad=0
119 if$gate == null
120 $Saryad=$MinSaryad
|
Уважаемые Тюк и Байзатык (простите, лень альт-шифт базлать ), здесь, похоже есть недопонимание смысла команды.
То, что помню точно:
скрипты не могут изменить энергию выстрела определенного оружия.
То, что помню смутно:
команда "карент лазер стренгс" помогает выбрать не силу оружия, а подходящее по силе оружие.
_________________ Shine on your Crazy Diamond
Последний раз редактировалось: Crazy Diamond (21:23 22-03-2016), всего редактировалось 2 раз(а) |
|
|
Thug 67 EGP
Рейтинг канала: 3(26) Репутация: 4 Сообщения: 111 Откуда: Новороссийск Зарегистрирован: 11.11.2013 |
|
Crazy Diamond : |
Уважаемые Тюк и Байзатык
|
Точно КрайДиамон, не могут изменить. Пришлось сие безобразие компенсировать "батами" и "шилсами". Тут уж скрипты во власти... Мир не совершенен
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Thug 67 EGP
Рейтинг канала: 3(26) Репутация: 4 Сообщения: 111 Откуда: Новороссийск Зарегистрирован: 11.11.2013 |
|
Когда корабль подлетает к планете, его начинает трясти, падают щиты и приходит сообщение: Опасность - вход в атмосферу.
Подскажите пожалуйста, какой скрипт делает всё это?
В частности интересуют команды:
Команда, которая реагирует на близость с планетой и отправляет голосовое сообщение: Опасность - вход в атмосферу.
И команда, которая трясёт корабль.
Если таковые есть в скрипт-редакторе, разумеется. Спасибо)
_________________ На фоне космоса - человечество, всего лишь пыль!
Последний раз редактировалось: Thug (01:45 04-04-2016), всего редактировалось 1 раз |
|
|
SpiritOffice 55 EGP
Рейтинг канала: 1(6) Репутация: 3 Сообщения: 40
Зарегистрирован: 01.03.2014 |
|
Я конечно могу и ошибаться, но это не в скриптах, и даже не в обже, а напрямую в ехе.
В обже есть функция NotifyPlanetCollision, которая включает голосовое предупреждение, НО никто эту функцию не вызывает. Значит вызывается она прямо из ехе.
|
|
|
Thug 67 EGP
Рейтинг канала: 3(26) Репутация: 4 Сообщения: 111 Откуда: Новороссийск Зарегистрирован: 11.11.2013 |
|
SpiritOffice : |
Значит вызывается она прямо из ехе.
|
Координаты расположения планет на карте и реальные координаты видео-картинки планеты, ту что мы видим на экране - у некоторых планет отличаются. Если подлететь к планете, посмотреть положение и сравнить с картой, порой на тысячу километров. Получается скриптом не возможно задать точку подлёта? Корабль прилетит где то в стороне. Тогда что же взять за ориентир? Лететь к планете, пока шилсы не начнут падать? Так это и враги могут проказничать... А борт-комп будет кричать: ура прилетели! Может у кого мысль есть? Делитесь братья
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Crazy Diamond 205 EGP
Рейтинг канала: 5(126) Репутация: 42 Сообщения: 437 Откуда: Уфа Зарегистрирован: 01.07.2009 |
|
Скриптами ни планеты, ни их размеры не устанавливаются. Дизайн сектора, так сказать. Прошито в игре глухо, и реакция корабля, видимо, тоже (в скриптах этого точно нет (зуб даю )).
_________________ Shine on your Crazy Diamond |
|
|
XXXL 77 EGP
Рейтинг канала: 4(67) Репутация: 7 Сообщения: 271
Зарегистрирован: 12.12.2010 |
|
Crazy Diamond : |
Скриптами ни планеты, ни их размеры не устанавливаются. Дизайн сектора, так сказать. ...
|
У меня планеты в секторах устанавливаются скриптом, да ещё рандомно.
|
|
|
DNA78 423 EGP
Рейтинг канала: 9(1060) Репутация: 71 Сообщения: 1229 Откуда: Кыргызстан Зарегистрирован: 12.11.2008 |
|
Thug : |
Получается скриптом не возможно задать точку подлёта? Корабль прилетит где то в стороне.
|
Попробуй планете и подлетающему к ней кораблю прописать ignore collisions: [TRUE]. Может тогда получится к ней подлететь.
_________________ Очевидное-невероятное |
|
|
bi0nik 423 EGP
Рейтинг канала: 5(147) Репутация: 102 Сообщения: 728
Зарегистрирован: 07.11.2006 |
|
Отвечаю в этой теме на вопрос из другой, т.к. считаю здесь самое место.
za4ot : |
Пытаюсь починить экранирование грузового отсека. Нашел скрипт переписал, не работает - вроде и команды нужные и вставляю в нужных местах (сам фрагмент кода работает), а в скрипт вставляю не работает даже команда записи в бортовой журнал. ЧЯДНТ? Я уже всю голову сломал. Прилагаю скрипт. Строки с 66 по 76. Идея проста, если после начала сканирования полицией у игрока в трюме есть Экранирование грузового отсека, то полицейскому дается команда отдыхать, если нет, то родной скрипт продолжает выполнение без изменений. Помогите!!!
http://www.elite-games.ru/conference/viewtopic.php?p=3450733#3450733
|
Моё решение... (кликните здесь для просмотра)
Проводил манипуляции с оригинальным скриптом. Изменял только секцию
В начало этой секции вставил следующие строки
Код: |
068 if$target -> get amount of ware Экранирование грузового отсека in cargo bay
069 [THIS] -> send audio message [Comm.DLG_POL_LEGAL_GOODS] to player
070 break
071 end |
Далее следует оригинальный скрипт.
Тестировал следующим образом: В оригинальном скрипте закомментировал строки отвечающие за определение наличие нелегального груза и включил проверку по отсутствию экранирования корпуса (не хотелось возиться с добавлением этого оборудование на корабль).
Код: |
...
067 * first warning
068 if not$target -> get amount of ware Экранирование грузового отсека in cargo bay
069 [THIS] -> send audio message [Comm.DLG_POL_LEGAL_GOODS] to player
070 break
071 end
072 * if not$target -> has illegal ware onboard: race=$race
073 * [THIS] -> send audio message [Comm.DLG_POL_LEGAL_GOODS] to player
074 * break
075 * end
... |
Ввиду древности своего компа, он тяжело вывозит X3TC (особенно загрузки сейвоф), поэтому тестов много не делал. Замучился ждать от секторных сил правопорядка, когда же соизволят просканировать мой корабль
|
|
|
|
za4ot 480 EGP
Рейтинг канала: 5(187) Репутация: 15 Сообщения: 3281 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012 |
|
bi0nik : |
Отвечаю в этой теме на вопрос
|
Ну хоть кто-то откликнулся. Я уже стал надежду терять. Попробую проверить. По результатам отпишусь.
_________________ Пираты - наше всё! |
|
|
za4ot 480 EGP
Рейтинг канала: 5(187) Репутация: 15 Сообщения: 3281 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012 |
|
Не работает. Все одно находят контрабанду и злятся. Попробовал еще и так:
https://drive.google.com/file/d/0B7KeCjIHDo45cUg2czk3bDVWZkU/view?usp=sharing
Все равно не работает. ХЗ может он оригинальный скрипт в сейве сохраняет? Как только не пробовал не хочет работать.
Ничего не понимаю.
_________________ Пираты - наше всё!
Последний раз редактировалось: za4ot (19:04 08-08-2016), всего редактировалось 2 раз(а) |
|
|
bi0nik 423 EGP
Рейтинг канала: 5(147) Репутация: 102 Сообщения: 728
Зарегистрирован: 07.11.2006 |
|
za4ot
1. Если ты правил во внутреннем скрипт-редакторе игры, то необходимо обратно переименовать move.scanpatrol.xml -> !move.scanpatrol.xml (в самом файле тоже, в двух местах). Данный скрипт запускается из !job.police.patrol, а в нём прописано имя скрипта со знаком "!".
2. Оригинальный скрипт !move.scanpatrol.pck необходимо убрать из папки или сменить расширение файла (например !move.scanpatrol.pck.back)
Другой вариант проверки, лишь на время тестов. Создать расовый кораблик и запустить в ручную на нем скрипт move.scanpatrol.xml (чтобы не парится с переименованиями и работать во внутреигровом редакторе). Тогда в стеке нашего блюстителя порядка (если посмотреть информацию о цели) будет выполнятся нужный скрипт. Рабочий вариант скрипта (готовый для использования) должен быть !move.scanpatrol.xml, чтобы сохранить все связи.
|
|
|
za4ot 480 EGP
Рейтинг канала: 5(187) Репутация: 15 Сообщения: 3281 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012 |
|
bi0nik : |
1. Если ты правил во внутреннем скрипт-редакторе игры, то необходимо обратно переименовать move.scanpatrol.xml -> !move.scanpatrol.xml (в самом файле тоже, в двух местах). Данный скрипт запускается из !job.police.patrol, а в нём прописано имя скрипта со знаком "!".
2. Оригинальный скрипт !move.scanpatrol.pck необходимо убрать из папки или сменить расширение файла (например !move.scanpatrol.pck.back)
|
Все знаю, все делал как надо. Переименовал, исправил, переименовал обратно, проверил. Поэтому и голову всю сломал. Пытался вариант с переменной сделать, куда заносилось количество девайсов в трюме, но переменной даже значение не присваивалось. А если писал фрагмент кода отдельным скриптом, то все работало. Такое чувство, что оригинальный скрипт мой код просто игнорирует.
_________________ Пираты - наше всё! |
|
|
bi0nik 423 EGP
Рейтинг канала: 5(147) Репутация: 102 Сообщения: 728
Зарегистрирован: 07.11.2006 |
|
Прыгая по секторам в поисках вожделенного скана (не шибко-то и спешили меня отсканировать ), пришел к следующему выводу. Сразу скрипт не обновиться на всех кораблях, это будет происходить постепенно по истечению времени жизни скрипта. У вновь создаваемых кораблях будет новая версия, а у существующих будет выполнятся старая версия, а при перезапуске скрипта уже загрузится исправленная версия. Еще, на всякий случай, исправил версию скрипта на большее значение. Но есть сомнения, что это на что-то повлияет.
В общем код рабочий, и думаю любая версия (что твоя первоначальная, что другие), просто нужно набраться терпения и со временем все патрули будут оставаться с носом. С другой стороны это даже интересней - авось сработает .
|
|
|
za4ot 480 EGP
Рейтинг канала: 5(187) Репутация: 15 Сообщения: 3281 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012 |
|
bi0nik : |
Сразу скрипт не обновиться на всех кораблях, это будет происходить постепенно по истечению времени жизни скрипта.
|
А как проверить-то? Т. е., я так понял, что нужно исправить скрипт, сохраниться, загрузиться, улететь в неизвестный сектор, сменить корабль, сохраниться, загрузиться, лететь с контрабандой к полиции. Или как?
И если я летаю постоянно на одном корабле, то скрипт на нем обновится если я пересяду на другой, а потом вернусь обратно? Или новая копия скрипта запускается только на вновь созданном корабле?
if$target -> get amount of ware Экранирование грузового отсека in cargo bay
Функция выдает количество девайсов в трюме - число, сработает ли if заточенное под true, false? Или любое число отличное от нуля будет true, а нуль будет false?
_________________ Пираты - наше всё!
Последний раз редактировалось: za4ot (23:40 08-08-2016), всего редактировалось 2 раз(а) |
|
|
bi0nik 423 EGP
Рейтинг канала: 5(147) Репутация: 102 Сообщения: 728
Зарегистрирован: 07.11.2006 |
|
za4ot : |
А как проверить-то? Т. е., я так понял, что нужно исправить скрипт, сохраниться, загрузиться, улететь в неизвестный сектор, сменить корабль, сохраниться, загрузиться, лететь с контрабандой к полиции. Или как?
|
Я проверял так. Отредактировал скрипт во встроенном редакторе, где в секции first warning оставил только проверку наличие на борту корабля "Экранирование грузового отсека", а вверсию скрипта сделал 201. Сохранил скрипт, вышел из игры совсем (игру я не сохранял). Произвел необходимые манипуляции с переименованием файла и внутри файла. Запустил игру, загрузил старый сейв и стал прыгать по секторам и летать возле патрульных. Пару кругов в каждом секторе. В одном из секторов меня тормозит патруль и т.к. у меня нет экранки корпуса мне заявляют, что у вас нашлись нелегальные товары. Конечно же этих товаров у меня не было, т.к. скрипт не найдя "Экранирование грузового отсека" перешел к выбиванию нелегальщины. Но т.к. это была всего лишь вторая стадия, а третья стадия (второе китайское предупреждение) осталась в неизменном виде, патруль от меня отстал - не было у меня нелегальных товаров.
za4ot : |
И если я летаю постоянно на одном корабле, то скрипт на нем обновится если я пересяду на другой, а потом вернусь обратно? Или новая копия скрипта запускается только на вновь созданном корабле?
|
Скрипт запускается не на корабле игрока, а на кораблях NPC у которых прописан !job.police.patrol. Соответственно на каком корабле игрок скрипту всё равно, но не всё равно что на борту корабля игрока .
za4ot : |
if$target -> get amount of ware Экранирование грузового отсека in cargo bay
Функция выдает количество девайсов в трюме - число, сработает ли if заточенное под true, false? Или любое число отличное от нуля будет true, а нуль будет false?
|
IF будет работать... true - если оборудование будет на борту, false - если не будет. Количество не имеет значение (для if), учитывается само наличие такого товара в трюме или установленное.
MSCI Reference : |
IF will check to see if the ware exists in the cargobay and return True / False.
Use this command to check how much of an item is present in the cargobay or if it present at all. This command will find wares that are 'Installed' on a ship, eg: guns or shields.
http://forum.egosoft.com/viewtopic.php?t=290594
|
|
|
|
za4ot 480 EGP
Рейтинг канала: 5(187) Репутация: 15 Сообщения: 3281 Откуда: Яма Изобилия Зарегистрирован: 08.08.2012 |
|
bi0nik : |
Скрипт запускается не на корабле игрока, а на кораблях NPC у которых прописан !job.police.patrol. Соответственно на каком корабле игрок скрипту всё равно, но не всё равно что на борту корабля игрока.
|
Я так понимаю, что для того, чтобы скрипт заработал нужно найти маленький сектор с одним или двумя полицейскими патрулями, грохнуть их по тихому, извиниться и ждать когда прилетят новые с обновленным скриптом. Или же они сами уничтожаются создаются через определенный промежуток времени и нужно просто подождать?
_________________ Пираты - наше всё! |
|
|
bi0nik 423 EGP
Рейтинг канала: 5(147) Репутация: 102 Сообщения: 728
Зарегистрирован: 07.11.2006 |
|
za4ot : |
Я так понимаю, что для того, чтобы скрипт заработал нужно найти маленький сектор с одним или двумя полицейскими патрулями, грохнуть их по тихому, извиниться и ждать когда прилетят новые с обновленным скриптом. Или же они сами уничтожаются создаются через определенный промежуток времени и нужно просто подождать?
|
Я ни чего не грохал, просто загрузился уже с правленой версией скрипта, летал по секторам и ждал. Первый же скан отработал согласно задумке. Сектора как раз выбирал центральные (большие), чтобы побольше было полиции/налоговиков/таможни. Что касается обновления патрулей, всей механики я не знаю (не вдавался в подробности), но у них точно есть ротация. Можно и грохнуть патруль, наверняка пришлют замену.
|
|
|
|
|
|
Канал X3: Terran Conflict ->
Модовый и скриптовый отсек X3: Terran Conflict: «[ДИСКУС]: Скриптописание. Проблемы и их решение.» |
|