Уроки танцев на СКРИПТАХ от MistR (От чайника для чайника) | 28.02.2011 07:16:07 MistR
Репутация: 1710 Сообщений: 2121 Регистрация: 17.11.2008 | А ты его туда привези, тогда будет не ноль....) |
|
| | 06.03.2011 11:09:32 OBrSpN
Репутация: 5 Сообщений: 2 Регистрация: 06.03.2011 | Доброго времени суток, уважаемые скриптеры. Не могли бы вы подсказать решение одной проблемки. В читменю сайкроу есть команда "добавить станцию в TL". Не могли бы вы подогнать скриптик , чтобы можно было выбрать количество добавляемых в TL станций? Ну или иодернезировать сайкровский... А то решил начать новую игру дабы побороть тормоза но строить заново 5 к фаб вручную даже с клинером тяжко... И не столько строить, сколько их покупать на верфи по одной) Так же хотелось бы узнать где записаны параметры станций отвечающие за объем их склада... |
|
| | 08.04.2011 07:50:29 MistR
Репутация: 1710 Сообщений: 2121 Регистрация: 17.11.2008 | Ты не в той теме просьбы публикуешь.... |
|
| | 04.07.2011 23:19:52 X-Vegas
Репутация: 0 Сообщений: 4 Регистрация: 27.06.2011 | Зарание извиняюсь, если не туда пишу. Не могу понять, почему так тупо работает комманда C0MMAND_ATTACK В общем в скрипте есть строчка, дословно не помню, начинаеться на START command и т.д. Иногда работает так как нужно, иногда нет. Ну например: Залетел в фортуну елены, через скрипт выбрал несколько военных кораблей, выбрал станцию в сплитском огне, - выбранные корабли ПРЫГНУЛИ и уничтожили станцию, как и было задумано. ТОЖЕ самое сделал: выбрал арг.Цербер, послал на боронскую фабрику в соседнем секторе - 0 реакции.
Почему иногда работает а иногда нет? |
|
| | 05.07.2011 09:18:42 MistR
Репутация: 1710 Сообщений: 2121 Регистрация: 17.11.2008 | | X-Vegas писал(а):Иногда работает так как нужно, иногда нет. Ну например: Залетел в фортуну елены, через скрипт выбрал несколько военных кораблей, выбрал станцию в сплитском огне, - выбранные корабли ПРЫГНУЛИ и уничтожили станцию, как и было задумано. ТОЖЕ самое сделал: выбрал арг.Цербер, послал на боронскую фабрику в соседнем секторе - 0 реакции.
Почему иногда работает а иногда нет? |
| |
Скрипт в студию... посмотрим... А ты в курсе что команды звеньям и команды одиночным кораблям выдаются по разному...? |
|
| | 05.07.2011 09:33:01 X-Vegas
Репутация: 0 Сообщений: 4 Регистрация: 27.06.2011 | | MistR писал(а):Скрипт в студию... посмотрим... А ты в курсе что команды звеньям и команды одиночным кораблям выдаются по разному...? |
| |
В скрипте пока всего одна комманда START $ship -> command COMMAND_ATTACK : arg1 = $station, arg2 = null, arg3 = null, arg4 = null return null При одинаковых условиях, иногда корабли выполняют поставленую задачу, иногда нет, а иногда просто тупят (например один вобще вокруг врат летать начал :D) |
Редактировалось 1 раз (а). Последний раз 05.07.2011 09:33:43. |
| | 05.07.2011 10:46:49 X-Vegas
Репутация: 0 Сообщений: 4 Регистрация: 27.06.2011 | Хехехх, кажись тут всё дело в тупости ии. Когда в скрипт добавил комманды на добавление джамп драйва и батареек - сразу все начали работать как надо. |
Редактировалось 2 раз (а). Последний раз 05.07.2011 10:48:11. |
| | 05.07.2011 12:31:41 MistR
Репутация: 1710 Сообщений: 2121 Регистрация: 17.11.2008 | как пишутся команды я и так знаю... ВЕСЬ скрипт в студию |
|
| | 07.07.2011 15:57:07 X-Vegas
Репутация: 0 Сообщений: 4 Регистрация: 27.06.2011 | Обьясните пожайлуста: На сколько я знаю - при уничтожении любого обьекта идёт сигнал "SIGNAL_KILLED" И где-то появляються переменные с данными о том, кто и кого убили. Как получить эти данные?
Будет вообще шикарно, если обьясните, как написать скрипт, который будет присылать СМС со всей информацией, когда, например, убьют любой хаакский обьект. З.ы. Если всё получиться - обещаю выложить своё "творение" на этом сайте ))) |
|
| | 31.01.2012 10:29:02 Асдиан24
Репутация: 0 Сообщений: 10 Регистрация: 08.01.2012 | Умоляю научите сканировать сектор с помошью скрипта ато мне уже надоело слонятся по сектору в поисках прыжковых маяков. Их надо найти в секторе Маяк Акилы их там 7 я 4 нашол весь сектор облазил оставшиеся 3 не нашол. |
Редактировалось 1 раз (а). Последний раз 31.01.2012 11:17:49. |
| | 01.02.2012 11:42:14 XXXL
Репутация: 130 Сообщений: 580 Регистрация: 01.05.2010 | | Асдиан24 писал(а):Умоляю научите сканировать сектор с помошью скрипта ато мне уже надоело слонятся по сектору в поисках прыжковых маяков. Их надо найти в секторе Маяк Акилы их там 7 я 4 нашол весь сектор облазил оставшиеся 3 не нашол. |
| |
Всё есть в игре. Сканер С3 + Исследовательский модуль. 1. Летим в центр сектора(координаты 0,0,0). Сохраняемся. 2. Команда "Навигация\Нанести на карту сектора\От корабля игрока\~100(км). Нажимаем СУВ. Отдыхаем. 3.Если ничего нет. -> Загружаемся. Идем наверх(0,35,0) или вниз(0,-35,0). Пункт 2. И т.д. Обязательно найдёте. |
|
| | 24.08.2012 15:09:30 Crudus
Репутация: 31 Сообщений: 81 Регистрация: 17.06.2010 | Пользуясь уроком с первой страницы пытался добавить товар на станцию (для примера взял Орбитальную станцию защиты в секторе Пояс астероидов), но почему-то ничего не выходит. Т.е. я смог добавить разные модификации для корабля (прыжкой двигатель, ТМП-3 и т.п.) и они даже появились в меню продажи, но их нельзя купить! Бортовой ВИ говорит, что этот товар не для продажи. Почему и как это исправить ? Спасибо. |
|
| | 24.08.2012 16:13:13 Мирный
Репутация: 4 Сообщений: 54 Регистрация: 17.04.2012 | | Crudus писал(а):Пользуясь уроком с первой страницы пытался добавить товар на станцию (для примера взял Орбитальную станцию защиты в секторе Пояс астероидов), но почему-то ничего не выходит. Т.е. я смог добавить разные модификации для корабля (прыжкой двигатель, ТМП-3 и т.п.) и они даже появились в меню продажи, но их нельзя купить! Бортовой ВИ говорит, что этот товар не для продажи. Почему и как это исправить ? Спасибо. |
| |
код - <Возвр/IF><Выражение> Возвр/IF - Item(товар)=тпм-3(для примера) Получаем такую строку: $Item=ТПМ-3 (точно не помню, тк пишу по памяти, но помоему так) <РеферОбьект>add product to factory or dock:<Переем/Товар> Должна принять такой вид: $Station(или любая ваша переменная, обозначающая станцию) add product to factory or dock: $Item Далее:в торговых командах для станций должна быть строка примерно такого вида: Перем/что-то add Перем/число units of перем/товар Добавляем эту строку. В первой переменной указываем station, во второй пишем число - 1, третьей даем значение Item. Получаем код примерно такого вида: 001 Команда поиска станции 002 003 $Item=ТПМ-3004 $station add product to factory or dock: $Item005 $station add 1 units of $Item006 007 *Тут уже можно добавлять следующий товар по такому же принципу* |
|
| | 24.08.2012 16:46:34 Crudus
Репутация: 31 Сообщений: 81 Регистрация: 17.06.2010 | Понял, вся загвоздка была в том, что такого товара не было на станции :) Благодарю ! Жаль, только, что придется прописывать для каждого айтема (полкилометра текста  93 строки...ппц) свою переменную и описывать кол-во. Как-то можно сократить список, типа: лист->товары а,b,c...z; добавить весь лист на верфь; задать кол-во для листа -1; return null ? |
Редактировалось 1 раз (а). Последний раз 24.08.2012 19:27:26. |
| | 24.08.2012 17:02:11 Мирный
Репутация: 4 Сообщений: 54 Регистрация: 17.04.2012 | | Crudus писал(а):Понял, вся загвоздка была в том, что такого товара не было на станции :) Благодарю ! Жаль, только, что придется прописывать для каждого айтема свою переменную и описывать кол-во. Как-то можно сократить список, типа: лист->товары а,b,c...z; добавить весь лист на верфь; задать кол-во для листа -1; return null ? |
| |
Добавление товара только в три строчки для каждого, может и есть другие способы, но я пользуюсь только этим. Впринципе, можно написать скрипт, который при запуске откроет окно с выбором товара для добавления. Для этого надо будет создать параметр Item, который будет вызывать команду "Выбрать товар". Точно так же можно ввести параметр для станции, чтобы выбирать куда добавить товар. В таком случае можно будет обойтись примерно четырьмя-пятью строчками. | Crudus писал(а):Все получилось, но ппц пришлось с бубном танцевать и километры текста писать по 3 раза. Сначала написал скрипт в игре - отлично все работает. Проверочный выход-вход в игру и скрипта нету... дубль два... скрипт не сохраняется  Сел писать через Exscriptor. В итоге вот результат  Мне кажется ему не нравилось, что там 30 переменных, вот и не сохранял  |
| |
Так ведь можно обойтись и одной переменной. Все это пишется при помощи встроенного редактора и кнопок C и V (как ctrl + V и ctrl + C) Ты вроде как называл переменные по номерам, этого делать не надо. Добавление происходит в три строки, расписывать чересчур не буду, т.к. сделал это постом выше, но поясню вот что: Опускаем поиск/создание станции, Строка первая: Ввод переменной item, указание ее значения (оборудование/товар, в нашем случае) Строка вторая: собсна, добавление на станцию Строка третья: добавление в продажу кол-ва (в случае с апгрейдами неизменно добавляем 1шт) Строка четвертая: пробел, дабы разграничить добавление айтема Строка пятая: Снова ввод переменной Item, указываем ее, а не создаем новую, однако здесь присваеваем ей уже значение следующего нужного оборудования. Строка шесть - дублирует строку два Строка семь - дублирует строку три Строка восемь - пропуск Строка девять - Третий вид товара/оборудования таким же способом что и в строках один и пять. Вот, вобщем так. Новую переменную мы не вводим потому, что ставим пробел между тремя строками, которыми добавляем товар. Это позволяет нам использовать одну и ту же $Item хоть 100 раз. | Crudus писал(а):Дык, я так с самого начала и сделал. Но добавлялся почему-то только последний айтем. Т.е. у меня было
| Код:- 001 $station = find station: sector=Heretic's End class or type=Terran Orbital Defence Station race=Terran flags=null refobj=null maxdist=null maxnum=null refpos=null
- 002 $gear = Bioscanner
- 003 $gear = Carrier Command Software
- 004 $station -> add product to factory or dock: $gear
- 005 = $station -> add 1 units of $gear
|
| |
В данном примере, у меня, неизменно, добавлялся только Программный Модуль Авианосца. |
| |
*переходит на учительский тон* Во первых, между строками 001 и 002 обязан быть пробел (во встроенном редакторе жамкаем insert) Во вторых, я же писал про разграничение айтемов этими же пробелами, то есть в вашем скрипте ошибка в том, что строка 002 не имеет за собой строк 003 и 004 которые бы добавляли биосканер в продажу. 003 и 004 должны выглядеть в точности как выглядят у вас 004 и 005 соответственно. В строке 006 должен быть пробел, в общем я лучше напишу, как должно быть, смотрим: | Код:- 001 $station = find station: sector=Heretic's End class or type=Terran Orbital Defence Station race=Terran flags=null refobj=null maxdist=null maxnum=null refpos=null
- 002
- 003 $gear = Bioscanner
- 004 $station -> add product to factory or dock: $gear
- 005 = $station -> add 1 units of $gear
- 006
- 007 $gear = Carrier Command Software
- 008 $station -> add product to factory or dock: $gear
- 009 = $station -> add 1 units of $gear
|
| | Скоро уже сам смогу написать гайд по скриптам  | Crudus писал(а):Хе-хе-хе, спасибо, сенсей, понял в чем была ошибка :) Дерзайте! :) Вдруг именно вы напишите мод на добавление нормандии в Х3 :rolleyes: |
| |
Да не за что, обращайтесь если что  Нормандию еще до меня добавили в каком-то шип паке. И кстати, я всего месяц или два назад открыл для себя редактор скриптов, и большинство из того что я тут писал, я почерпнул из чужих творений, а именно скачивал маленькие скрипты, открывал их и с помощью знаний, полученных из уроков MistR и Malstrime (за что им огромное спасибо) и знания английского изучал используемые команды, соотнося, например такие факты что корабль и станция добавляются в продажу по одному алгоритму уже смог создавать свои скрипты. Кстати могу еще посоветовать создать свой собственный док для продажи оборудования вашим кораблям. Образец можете вытащить отсюда, только уберите в своем скрипте приставку "setup", т.к. в моем скрипте это вызвало создание тучи доков после каждой загрузки сейва, потому что я забыл добавить строку if not found (как то так) в скрипт, а исправить руки не доходят. Скрипт называется setup.aDO Спать уже хочется, если что в скайп лучше - kino09876 |
Редактировалось 4 раз (а). Последний раз 24.08.2012 22:56:15. |
| | 24.08.2012 19:38:21 Crudus
Репутация: 31 Сообщений: 81 Регистрация: 17.06.2010 | Все получилось, но ппц пришлось с бубном танцевать и километры текста писать по 3 раза. Сначала написал скрипт в игре - отлично все работает. Проверочный выход-вход в игру и скрипта нету... дубль два... скрипт не сохраняется  Сел писать через Exscriptor. В итоге вот результат  Мне кажется ему не нравилось, что там 30 переменных, вот и не сохранял  Дык, я так с самого начала и сделал. Но добавлялся почему-то только последний айтем. Т.е. у меня было | Код:- 001 $station = find station: sector=Heretic's End class or type=Terran Orbital Defence Station race=Terran flags=null refobj=null maxdist=null maxnum=null refpos=null
- 002 $gear = Bioscanner
- 003 $gear = Carrier Command Software
- 004 $station -> add product to factory or dock: $gear
- 005 = $station -> add 1 units of $gear
|
| |
В данном примере, у меня, неизменно, добавлялся только Программный Модуль Авианосца. | Мирный писал(а):Скоро уже сам смогу написать гайд по скриптам  |
| |
Хе-хе-хе, спасибо, сенсей, понял в чем была ошибка :) Дерзайте! :) Вдруг именно вы напишите мод на добавление нормандии в Х 3 :rolleyes: | Мирный писал(а):Кстати могу еще посоветовать создать свой собственный док для продажи оборудования вашим кораблям. Образец можете вытащить отсюда, только уберите в своем скрипте приставку "setup", т.к. в моем скрипте это вызвало создание тучи доков после каждой загрузки сейва, потому что я забыл добавить строку if not found (как то так) в скрипт, а исправить руки не доходят. Скрипт называется setup.aDO |
| |
А смысл ? Достаточно доиграться до штаб-квартиры в своем секторе и уже туда загрузить всяких скриптом-модов по самые уши :) Кстати, да, подобная проблема с доками меня тоже одолела, из-за скрипта ув.товарища Малстрима Прыжок Точка-в-точку для X-Шатла. Я пару лет назад (сейчас я переигрываю, после перерыва) общался с ним, он как-то показал, как убрать уже имеющийся доки, вот только забыл как... И соглашусь, самому копаться в чужих скриптах, разбирать их и понимать - самое интересное :) p.s. и может в аську ? |
Редактировалось 7 раз (а). Последний раз 24.08.2012 22:28:28. |
| | 30.08.2012 03:50:39 Ugarich
Репутация: 0 Сообщений: 16 Регистрация: 05.02.2011 | Думаю, многим был бы интересен урок по использованию команды | Код:- START <object> command <Object Command>: arg1=<Value1>, arg2=<Value2>, arg3=<Value3>, arg4=<Value4>
- *Выполняет команду, как если бы игрок выбрал ее в командном меню. Возможность указать четыре аргумента, если они требуются.
|
| |
Описания <Object Command> можно найти тут http://dragonp.narod.ru/tutotial/InformCommand.htm, а вот какой какие аргументы нужны - тут непонятно Гуглеж результата не дал, поиск по форуму тоже. (может, я искать не умею?)Может, где готовые описания есть? |
|
| | 22.10.2012 15:08:14 NECKROMANT
Репутация: 0 Сообщений: 4 Регистрация: 18.02.2012 | Подскажите плиз где в редакторе находится команда return null. |
|
| | 22.10.2012 17:48:48 MaksOS023
Репутация: 309 Сообщений: 459 Регистрация: 27.07.2011 | | NECKROMANT писал(а):Подскажите плиз где в редакторе находится команда return null. |
| | https://x3tc.net/x3_forum/message.php?mid=14019Цитата из вышеуказанного сообщения: | MistR писал(а):Для закрытия скрипта нам остается указать последнюю команду: Открываем «Новая строка», «Общие команды», «Вызовы скриптов», выбираем команду «return<Значение>», значение указываем «null»... эта команда закроет скрипт после его выполнения. |
| |
|
|
| | 23.10.2012 08:48:04 NECKROMANT
Репутация: 0 Сообщений: 4 Регистрация: 18.02.2012 | Благодарю господа офицеры  |
|
|
|