Поиск кораблей в галактике с отображением морали пилотов
X3 Terran Conflict / X3 Земной конфликт
 
X3 Terran conflict  
 

На сайте онлайн (человек): 74



 



Поиск кораблей в галактике с отображением морали пилотов

Форумы: Terran Conflict (X3TC) / X3 Земной конфликт / Скрипты и моды для X3 Terran Conflict / Поиск кораблей в галактике с отображением морали пилотовВойти
Тема устарела

Количество: 22
12>»
Поиск кораблей в галактике с отображением морали пилотов
11.09.2010 18:41:21
Алан

Репутация: 940
Сообщений: 77
Регистрация: 26.08.2010
Если очень хочется захватить какой-то редкий истребитель, а тот никак не сдается, имеет смысл сначала найти подобный корабль с самой низкой моралью пилота. Привожу текст скрипта, который я сделал для себя (в виде "как есть" и без комментариев - даже начинающий скриптописатель, к которым я причисляю и себя, разберется).
Сразу оговорюсь, что скрипт наверняка можно оптимизировать, сообщения выдавать на русском, подключить "горячую клавишу". Можно даже заранее сформировать список существующих в игре кораблей, и предлагать выбирать только из них (не включать в список для выбора Вотан и прочие корабли, которых нет в игре). Можно включать в поиск только захватываемые без абордажа классы кораблей (M5, M4, M3, M8, TS, TP). Все это могут сделать желающие, которых заинтересует эта тема. Может быть, я и сам займусь, только не в ближайшее время.

Только один комментарий:
 Код:
  1. $cr= read text: page=8551 id=50
 
Эта строка загружает в переменную $cr символ перевода строки. Используется файл  8551-L007.xml (из скрипта Vudu Pilot Info v2.0) - у вас его может и не быть. Наверняка можно сделать проще, но у меня во встроенном редакторе пока не получилось вбить \n или как-то еще. Делать свой текстовый ресурс пока не стал, да из-за одного символа перевода строки как-то и не рационально. Подскажите, пожалуйста, кто знает. Как только узнаю, отредактирую этот текст.

 Код:
  1. 001   if$type == null
  2. 002   |return null
  3. 003   end
  4. 004   $cr= read text: page=8551 id=50
  5. 005   $found=0
  6. 006   $text='Found: %s' + $cr
  7. 007   $race=Аргон
  8. 008   gosub checkrace
  9. 009   $race=Борон
  10. 010   gosub checkrace
  11. 011   $race=Сплит
  12. 012   gosub checkrace
  13. 013   $race=Паранид
  14. 014   gosub checkrace
  15. 015   $race=Телади
  16. 016   gosub checkrace
  17. 017   $race=Ксенон
  18. 018   gosub checkrace
  19. 019   $race=Хаак
  20. 020   gosub checkrace
  21. 021   $race=Пират
  22. 022   gosub checkrace
  23. 023   $race=Гонер
  24. 024   gosub checkrace
  25. 025   $race=Player
  26. 026   gosub checkrace
  27. 027   $race=АОГ
  28. 028   gosub checkrace
  29. 029   $race=Земляне
  30. 030   gosub checkrace
  31. 031   $race=Яки
  32. 032   gosub checkrace
  33. 033   $race=Неизвестно
  34. 034   gosub checkrace
  35. 035   $text=sprintf: fmt=$text, $found, null, null, null, null
  36. 036   *write to player logbook $text
  37. 037 @ =wait 200 ms
  38. 038   send incoming message $text to player: display it=[TRUE]
  39. 039   return null
  40. 040   
  41. 041   checkrace:
  42. 042   $ship.array= get ship array: of race $race class/type=$type
  43. 043   $n= size of array $ship.array
  44. 044   $count=0
  45. 045   while$n
  46. 046   |$ship=$ship.array[$count]
  47. 047   |inc $count=
  48. 048   |dec $n=
  49. 049   |$sector=$ship -> get sector
  50. 050   |$x=$sector -> get universe x index
  51. 051   |$y=$sector -> get universe y index
  52. 052   |$race=$ship -> get owner race
  53. 053   |$name=$ship -> get name
  54. 054   |$morale=$ship -> get pilot morale
  55. 055   |$temp=sprintf: fmt='(%s, %s)', $x, $y, null, null, null
  56. 056   |$msg=sprintf: fmt='%s %s, pilot morale %s, sector %s %s', $race, $name, $morale, $sector, $temp
  57. 057   |$text=$text + $msg + $cr
  58. 058   |inc $found=
  59. 059   end
  60. 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
 Malstrime писал(а):
К чему тема?
 

На основном форуме по 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
 Malstrime писал(а):
К чему тема?
 
Я так понял, человек просит помочь с написанием скрипта. А тема - пока интересно, может посмотрим чего еще скажут?
Мне интересно - меняется ли мораль в процессе и как?

Редактировалось 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.

12>»


Список игр