Поиск кораблей в галактике с отображением морали пилотов | 11.09.2010 18:41:21 Алан
Репутация: 940 Сообщений: 77 Регистрация: 26.08.2010 | Если очень хочется захватить какой-то редкий истребитель, а тот никак не сдается, имеет смысл сначала найти подобный корабль с самой низкой моралью пилота. Привожу текст скрипта, который я сделал для себя ( в виде "как есть" и без комментариев - даже начинающий скриптописатель, к которым я причисляю и себя, разберется). Сразу оговорюсь, что скрипт наверняка можно оптимизировать, сообщения выдавать на русском, подключить "горячую клавишу". Можно даже заранее сформировать список существующих в игре кораблей, и предлагать выбирать только из них (не включать в список для выбора Вотан и прочие корабли, которых нет в игре). Можно включать в поиск только захватываемые без абордажа классы кораблей (M5, M4, M3, M8, TS, TP). Все это могут сделать желающие, которых заинтересует эта тема. Может быть, я и сам займусь, только не в ближайшее время. Только один комментарий: | Код:- $cr= read text: page=8551 id=50
|
| |
Эта строка загружает в переменную $cr символ перевода строки. Используется файл 8551-L007.xml (из скрипта Vudu Pilot Info v2.0) - у вас его может и не быть. Наверняка можно сделать проще, но у меня во встроенном редакторе пока не получилось вбить \n или как-то еще. Делать свой текстовый ресурс пока не стал, да из-за одного символа перевода строки как-то и не рационально. Подскажите, пожалуйста, кто знает. Как только узнаю, отредактирую этот текст. | Код:- 001 if$type == null
- 002 |return null
- 003 end
- 004 $cr= read text: page=8551 id=50
- 005 $found=0
- 006 $text='Found: %s' + $cr
- 007 $race=Аргон
- 008 gosub checkrace
- 009 $race=Борон
- 010 gosub checkrace
- 011 $race=Сплит
- 012 gosub checkrace
- 013 $race=Паранид
- 014 gosub checkrace
- 015 $race=Телади
- 016 gosub checkrace
- 017 $race=Ксенон
- 018 gosub checkrace
- 019 $race=Хаак
- 020 gosub checkrace
- 021 $race=Пират
- 022 gosub checkrace
- 023 $race=Гонер
- 024 gosub checkrace
- 025 $race=Player
- 026 gosub checkrace
- 027 $race=АОГ
- 028 gosub checkrace
- 029 $race=Земляне
- 030 gosub checkrace
- 031 $race=Яки
- 032 gosub checkrace
- 033 $race=Неизвестно
- 034 gosub checkrace
- 035 $text=sprintf: fmt=$text, $found, null, null, null, null
- 036 *write to player logbook $text
- 037 @ =wait 200 ms
- 038 send incoming message $text to player: display it=[TRUE]
- 039 return null
- 040
- 041 checkrace:
- 042 $ship.array= get ship array: of race $race class/type=$type
- 043 $n= size of array $ship.array
- 044 $count=0
- 045 while$n
- 046 |$ship=$ship.array[$count]
- 047 |inc $count=
- 048 |dec $n=
- 049 |$sector=$ship -> get sector
- 050 |$x=$sector -> get universe x index
- 051 |$y=$sector -> get universe y index
- 052 |$race=$ship -> get owner race
- 053 |$name=$ship -> get name
- 054 |$morale=$ship -> get pilot morale
- 055 |$temp=sprintf: fmt='(%s, %s)', $x, $y, null, null, null
- 056 |$msg=sprintf: fmt='%s %s, pilot morale %s, sector %s %s', $race, $name, $morale, $sector, $temp
- 057 |$text=$text + $msg + $cr
- 058 |inc $found=
- 059 end
- 060 endsub
|
| |
Несколько слов по применению скрипта на практике. Можно поискать Хаакский истребитель с наиболее низкой моралью и попробовать захватить именно его. В моем случае захват получился без всяких проблем при морали пилота 13 (см. тут). У большинства мораль оказалась далеко за 20 - у многих даже 30. Проверял также на истребителях Яки, которые обычно сдаются не слишком часто - тактика также работает. Однако не стоит надеяться захватить ряд кораблей, которые создаются в сюжетных миссиях (например, Фенриры в Альдрине, Эвр в Аргонском секторе M148 и т.д.). Насколько я смог понять, они не захватываются в принципе, независимо от морали пилота. Это уже ставится в Mission Director'е (флаг capturable), и как его наличие проверить в Script Editor, пока понять не удалось. Буду рад принять любые поправки, уточнения. |
Редактировалось 1 раз (а). Последний раз 11.09.2010 18:53:41. |
| | 11.09.2010 18:49:24 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | | 11.09.2010 19:07:24 Алан
Репутация: 940 Сообщений: 77 Регистрация: 26.08.2010 | На основном форуме по X3 Terran conflict есть тема "Честное получение Хаакского M3". Там обсуждается, как его захватить. В частности, многие утверждали, что найти корабль с низкой моралью пилота можно только в секторах хааков. Я также поделился своим опытом. При этом искать цель для экспериментов мне помог скрипт, который я и представил в данной теме. На мой взгляд, тема представляет интерес, а цель ее можно сформулировать так: разработка на базе моего черновика готового скрипта, который можно было бы использовать всем желающим. Malstrime, Вы, как уже опытный скриптотворец, не хотели бы сделать что-то в этом роде? Кстати, по поводу флага capturable я недавно задавал вопрос в вопроснице форума. |
Редактировалось 1 раз (а). Последний раз 11.09.2010 19:16:13. |
| | 11.09.2010 19:16:34 Garm
Репутация: 157 Сообщений: 757 Регистрация: 01.09.2010 | Я так понял, человек просит помочь с написанием скрипта. А тема - пока интересно, может посмотрим чего еще скажут? Мне интересно - меняется ли мораль в процессе и как? |
Редактировалось 1 раз (а). Последний раз 11.09.2010 19:19:07. |
| | 11.09.2010 19:22:50 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Я могу оформить и сделать дуракоустойчивость. Также доработать непосредственно сам алгоритм. Можно ввести MD в это дело.
Меня мучает вопрос: Смысл делать то, что по-любому испачкает игру, так как в следствие последнего можно тупо создать нужный корабль, отговорившись использованием этого (да и любого другого неподписанного) скрипта? |
|
| | 11.09.2010 19:31:51 Sed
Репутация: 1068 Сообщений: 8949 Регистрация: 04.06.2009 | Так скрипт уже существует, называется "Find Ships in Galaxy" он полностью переведён и прост в использовании, Америку открывать незачем, Создатель скрипта "Andrei [<>Ace]"("обитает" на Каму надо могу ссылку найти!  |
Редактировалось 6 раз (а). Последний раз 11.09.2010 19:35:39. |
| | 11.09.2010 19:39:21 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | Sed писал(а):Так скрипт уже существует, называется "Find Ships in Galaxy" он полностью переведён и прост в использовании, Америку открывать незачем, Создатель скрипта "Andrei [<>Ace]"("обитает" на Каму надо могу ссылку найти! |
| |
Дело не просто в поиске кораблей, а в поиске кораблей ''по морали''. |
|
| | 11.09.2010 19:40:22 Sed
Репутация: 1068 Сообщений: 8949 Регистрация: 04.06.2009 | | Malstrime писал(а): Дело не просто в поиске кораблей, а в поиске кораблей ''по морали''. |
| |
И такая бяка есть в НПС?? |
|
| | 11.09.2010 19:40:51 Алан
Репутация: 940 Сообщений: 77 Регистрация: 26.08.2010 | | Garm писал(а):Мне интересно - меняется ли мораль в процессе и как? |
| |
В каком процессе? Этот скрипт только выдает текущие значения морали пилотов (get pilot morale), но никак их не меняет. Хотя поменять мораль в скрипте как раз не проблема, но я это тут и не предлагаю. | Malstrime писал(а):Меня мучает вопрос: Смысл делать то, что по-любому испачкает игру, так как в следствие последнего можно тупо создать нужный корабль, отговорившись использованием этого (да и любого другого неподписанного) скрипта? |
| |
Я бы разделил скрипты на две принципиально разные группы: 1. Чит-скрипты (например, добавить корабль, который в чистой игре не получить или не купить - между прочим, в уроках скриптописания это описывалось). 2. Скрипты, облегчающие игру в плане затрат времени, но не дающие ничего "незаконного". Вот об этом и речь. К примеру, я могу тупо перебрать все хаакские истребители в игре, каждый подолбить, загружаясь 20 раз, и наконец захватить один. Урааа! Но если из 20-30 в галактике только у одного мораль ниже 25, а захватить такой ого-го как непросто? Сколько времени я на это угроблю, особенно если игра загружается минимум 5 минут? Это время можно было бы провести с гораздо большей пользой. Просто на определенном уровне, когда уже знаешь, какие корабли есть, а каких нет, где можно найти какой корабль, когда везде спутники висят, когда зачищены все ксенонские и хаакские секторы по 10 раз, на счету 2 млрд. и т.д. и т.п., уже неинтересно часами выслеживать и долбить жертву, да еще не факт, что она сдастся. Существуют скрипты на поиск кораблей, здесь же предлагается вариация на эту тему - полезная для многих. Она всего лишь экономит время на то, что и так возможно в чистой игре. Я могу себе "наколдовать" хаака и кионки, но вот это как раз мне неинтересно  Декка есть, а КЛ-3 пока только один - и размножать не буду. | Sed писал(а):Так скрипт уже существует, называется "Find Ships in Galaxy" он полностью переведён и прост в использовании, Америку открывать незачем |
| |
У меня стоит этот скрипт. Скрипт хороший, и оформлен хорошо. Но по своему опыту могу утверждать, что он находит не все на самом деле имеющиеся в галактике корабли (если нужно, попозже выложу скрины). По меньшей мере, это относится к "гражданским кораблям" - TL "стадион", "больничный корабль" и т.п. На карте удаленного сектора по спутнику я кораблик вижу, а поиск скриптом "Find Ships in Galaxy" не всегда показывает. Почему - в этом пока не разбирался. Да и про мораль в этом скрипте ничего нет. |
Редактировалось 2 раз (а). Последний раз 11.09.2010 20:19:20. |
| | 11.09.2010 19:50:02 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Это безусловно так, но как же тогда отличить первый тип от второго и разоблачить читера? Знаешь, хоть у меня и много модов, но играю я тем не менее на чистой игре. Руки очень сильно чешутся на грязной залезть в ScE и добавить себе чуть деньжат на покупку чего-нибудь. В лучшем случае. Чистая игра отлично спасает от этого и я ничуть не жалею...  К тому же полная совместимость сейвов. Кстати, где то читал, что 3.0 восьмого октября появится, но пруфа не дам ибо сам не помню... |
|
| | 11.09.2010 19:53:02 Garm
Репутация: 157 Сообщений: 757 Регистрация: 01.09.2010 | в процессе игры и драки - падает ли мораль НПС, когда его бьют. |
|
| | 11.09.2010 19:56:44 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | Garm писал(а):в процессе игры и драки - падает ли мораль НПС, когда его бьют. |
| |
Нет. ЧСВ остается прежним. |
|
| | 11.09.2010 20:10:13 Алан
Репутация: 940 Сообщений: 77 Регистрация: 26.08.2010 | | Malstrime писал(а):Это безусловно так, но как же тогда отличить первый тип от второго и разоблачить читера? Знаешь, хоть у меня и много модов, но играю я тем не менее на чистой игре. |
| |
Я не вижу, почему поиск кораблей в галактике с учетом морали намного хуже скрипта "Find ships in Galaxy", который выложен на сайте Egosoft (хотя он, разумеется, тоже не подписан). А насчет чистой игры, откровенного читерства или облегчения рутины - каждый пилот решает для себя сам. Кстати, Malstrime, не ты ли автор скрипта на верфь с уникальными кораблями, фабриками кионок и т.п.?  Это, значит, не читерство? Себе не ставишь, но другим предлагаешь, так чем плох поиск кораблей по морали? |
Редактировалось 1 раз (а). Последний раз 11.09.2010 20:11:53. |
| | 11.09.2010 20:17:50 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Я не говорю, что это плохо. Но есть такая вещь как КПД... А кроме душевного профита мы не получаем ровным счетом ничего... P.S. Да, это мой скрипт. Задумывал я его как фабрики оружия, потом начал расширяться. Правда он глючен, судя по отзывам. Но опять же та же мобильная ремонтная мастерская...  |
|
| | 11.09.2010 20:23:47 Сова
Репутация: 2710 Сообщений: 2140 Регистрация: 03.07.2009 | Ребята, ну все поняли уже, что сколько людей, столько и мнений. А то как бы ненароком из мелкой дискуссии, чего плохого не вышло. Вам захотелось просто обосновать свою идею и не заметите, как получится ,как всегда...... |
|
| | 11.09.2010 20:28:16 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | | Алан писал(а): У меня стоит этот скрипт. Скрипт хороший, и оформлен хорошо. Но по своему опыту могу утверждать, что он находит не все на самом деле имеющиеся в галактике корабли (если нужно, попозже выложу скрины). По меньшей мере, это относится к "гражданским кораблям" - TL "стадион", "больничный корабль" и т.п. На карте удаленного сектора по спутнику я кораблик вижу, а поиск скриптом "Find Ships in Galaxy" не всегда показывает. Почему - в этом пока не разбирался. |
| |
Дело в том, что эти корабли, становясь гражданскими, утрачивают свою ''классовую'' принадлежность, обретая общий для всех гражданских класс CV (точка). Остается от них только ТТХ и корпус. Поэтому поиск игнорирует их. Пожалуй один из вытекающих фейлов - невозможность найти Прототип Скорпиона (он как раз встречается среди гражданских). Sad but true |
|
| | 11.09.2010 20:31:30 Алан
Репутация: 940 Сообщений: 77 Регистрация: 26.08.2010 | | Malstrime писал(а):А кроме душевного профита мы не получаем ровным счетом ничего... |
| |
Так это и хорошо, что ничего нечестного не получаем, а вот что время и нервы экономим на тупых повторениях - это огромный плюс, по-моему. А если ты о том, какое удовлетворение принесет работа над скриптом - мне кажется, благодарность многих пилотов должна последовать и того стоит  Я пользуюсь своим "тяп-ляп" вариантом, на большее пока нет ни времени, ни опыта, но польза (для себя) и от такого тяп-ляпа огромная. Вот до сих пор из истребителей Яки был только один Фуджин, хотя угробил их (всяких, от M5 до M3+) многие десятки, и захватить пытался не раз. А поискал скриптом - и сразу же удалось найти и захватить Сусаноо с моралью 11. Пусть конкретно Сусаноо я могу и на верфи Яки купить, ну а Сусаноо Рейдер и прочие нестандартные модификации кораблей Яки? Не говоря уже о захваченном Хаакском M3. | Malstrime писал(а):Пожалуй один из вытекающих фейлов - невозможность найти Прототип Скорпиона (он как раз встречается среди гражданских). Sad but true |
| |
Не совсем так. Скорпион Прототип встречается и среди торговцев (у меня - 2 шт. Спл. Торговец техникой - не CV, а именно M4), а потому обнаруживается скриптами. |
Редактировалось 2 раз (а). Последний раз 11.09.2010 23:27:59. |
| | 12.09.2010 09:00:14 Наварро
Репутация: 24 Сообщений: 10 Регистрация: 16.12.2009 | Ну,раз уважаемый Malstrime аки Макс,*считает* слишком простым делом добавить сей любопытный девайс,назовем его Моральный сканер,простым скриптом,не замутить ли ему сюжетку с такой плюшкой в качестве награды?Надеюсь это возможно и по силам,или ........))) |
|
| | 12.09.2010 10:38:54 Malstrime
Репутация: 3611 Сообщений: 5699 Регистрация: 19.01.2009 | Ну, лести не надо. Я впринципе планировал вторую фазу. Посмотрим  И, да, я считаю, что это сделать не так уж просто... |
Редактировалось 1 раз (а). Последний раз 12.09.2010 10:45:33. |
| | 12.09.2010 17:44:12 Алан
Репутация: 940 Сообщений: 77 Регистрация: 26.08.2010 | Наверное, по затратам времени проще всего было бы доработать скрипт "Find Ships in Galaxy" - заручившись согласием автора, конечно. Только у него там список выводится ограниченный (до 25 штук, а бывает и больше). Туда можно было бы добавить вывод морали и сортировку по ней, а также выдачу ID кораблей - для тех случаев, когда в секторе много одинаковых. И еще мысль: хорошо бы сделать скрипт, выдающий типы всех гражданских кораблей хотя бы в текущем секторе. Поскольку когда на таком нажимаешь "Информация", голос рассказывает о конкретном типе корабля, эту информацию, я полагаю, можно добыть. Раз уж среди них встречаются редкости, такой скрипт тоже, думаю, многим бы пригодился. |
Редактировалось 1 раз (а). Последний раз 12.09.2010 17:48:24. |
|
|