|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Скрипт-школа (Задачи для начинающих скриптописателей)» |
|
Нужна ли школа скриптописателей |
Да. чем нас больше, тем игра веселее |
|
95% |
[ 65 ] |
Нет, развелось вас. |
|
4% |
[ 3 ] |
|
Всего проголосовало : 68 |
|
|
|
AlexYar 1856 EGP
Рейтинг канала: 13(2096) Репутация: 324 Сообщения: 31707
Зарегистрирован: 26.10.2003 |
|
Вот ещё пища для размышления и тренировки смекалки
Что будет делать такой скрипт?
Код: |
001 $b = 1
002 while 1
003 @ = wait 1000 ms
004 if $b
005 write to player logbook $b
006 inc $b =
007
008 skip if $b
009
010 end
011 write to player logbook 'opa'
012 end
013 write to player logbook 'test'
014
015 return null
|
Попробуйте дать ответ (себе) до того, как испробуете скрипт в деле
Последний раз редактировалось: AlexYar (04:57 08-12-2007), всего редактировалось 1 раз |
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
Алекс может написать им ответ? А то школяры толи испугались толи повисли
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
Andrei [<>Ace] 303 EGP
Рейтинг канала: 6(416) Репутация: 108 Сообщения: 766 Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006 |
|
Чего приуныли? Где ответы на задания? Аль не интересны?
Предложу свое. Если желающих сделать не будет, а идея понравится, буду сам делать.
История:
. Жил один Телади, звали его Винтопопус V. Как и все Телади, он не ощущал всей полноты жизни, если не совершал грандиозной сделки. А как его убивала, морально, потеря какого-нибудь корабля или контейнера с бесценным товаром при пиратском нападении, трудно даже представить.
. Но Винтопопус V не обделен был умом и создал небольшое, но дорогое устройство - миносбрасыватель. Миносбрасыватель встраивается в турель и использует ее устройство в своей работе. В качестве боеприпаса применяется мина Сквош. В мине заменяется система инициирования: с сенсорной на таймерную. На время установки миносбрасывателя, другое вооружение из турели удаляется.
. Винтопопус V настолько приноровился к своему устройству, что на своем немного тюненгованном корабле «Shishvamdam» (Falconе Sentinel, форсирование двигателя – 20, оптимизация рулевого управления – 15) и небольшой группе поддержки, проводил свои конвои через пиратские секторы, а по неподтвержденным слухам и ксенонские) без потерь.
Но пираты, просто возмущенные такой дерзостью, а еще больше – потерями, устроили засаду. Чем закончился бой, толком никто не знает, но и Винтопопус V исчез вместе со своим конвоем. Некоторые пилоты рассказывали, что в секторе «Убежище Ми Тона», в восточной его части, среди мин Сквош, покоится полуразрушенный Falconе.
Задание:
1. В качестве устройства (Кто воображением не обделен – придумайте название) используем шаблон товара SS_WARE_SW_NEW15.
2. Для настройки таймера и активизации устройства - COMMAND_TYPE_SPECIAL_20
3. Пример и имя языкового файла - xx4000.xml
xx4000.xml (кликните здесь для просмотра)
Код: |
<?xml version="1.0" encoding="UTF-8"?>
<language id="7">
<!-- language id="7" – русский \ language id="44" – английский -->
<page id="300017" title="Boardcomp. objects" descr="" voice="yes">
<t id="5893">(do not speak) миносбрасыватель (SS_WARE_SW_NEW15)</t>
<t id="5894">Здесь можно разместить краткое описание устройства.</t>
</page>
<page id="2008" title="Script Object Commands" descr="0" voice="0">
<t id="520">Новая команда вместо (COMMAND_TYPE_SPECIAL_20)</t>
</page>
<page id="2010" title="Script Cmd Names" descr="Long version of commandos. These are the commandos assigned to ships using the commandconsole. Page 2010 and 2011 belong together and hold short and long versions of the same commands" voice="0">
<t id="520">Вид команды в меню консоли корабля. пример: (Настроить таймер и активировать миносбрасыватель.)</t>
</page>
<page id="2011" title="Script Cmd Shorts" descr="Short version of commandos. These are the commandos assigned to ships using the commandconsole. Page 2010 and 2011 belong together and hold short and long versions of the same commands" voice="0">
<t id="520">Сокращенный вид команды.</t>
</page>
<page id="2022" title="Command Info" descr="0" voice="0">
<t id="520"> Здесь можно разместить краткое описание команды.</t>
</page>
<page id="4000" title="Messages" descr="0" voice="0">
<t id="40001"> </t>
</page>
</language> |
|
4. Зарезервировать клавишу для выброса мин.
5. Реализовать и приукрасить задание .
Если есть вопросы, предложения – высказываем. Только не флудить.
Последний раз редактировалось: Andrei [<>Ace] (12:22 11-12-2007), всего редактировалось 2 раз(а) |
|
|
Else 140 EGP
Рейтинг канала: 3(26) Репутация: 29 Сообщения: 313 Откуда: Тверская обл. Зарегистрирован: 08.11.2007 |
|
Andrei(<>Ace), Можно немного поподробнее про языковые файлы и использование команд консоли, такими заданиями да сразу по башке , больно ведь. Теория, вещь нужная.
_________________ Интересно, а пить водку в полночь, считается после работы или до?
Последний раз редактировалось: Else (16:44 10-12-2007), всего редактировалось 2 раз(а) |
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
+ пример чегонибудь подобного если можно ( ну привык я разбиратся на примерах если не уверен в своих силах )
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
WhiteWolf 55 EGP
Рейтинг канала: 2(13) Репутация: 0 Сообщения: 53
Зарегистрирован: 24.10.2007 |
|
Извенясь, на выходные был отлучен от интернета Теперь по делу
AlexYar : |
Нет. Не строка 009 пропускается, а происходит выход из цикла по строке 010 Улыбка Первый значащий оператор - это IF. Только потом WHILE.
|
Я имел в виду, что пустая строка а также закомментированная не яляются значащими операторами а следующая за пустой строкой
Код: |
007 skip if $b
008
009 end |
строка 009 содержит end, т.е. значащий оператор процедурной скобки, вот он и будет выполнен/пропущен в соответствии с условием в строке 007 Вроде теперь понятно? NOP действительно в скрипт-языке нет, но во многих других языках высокого уровня содержится как оператор не выполняющий никаких действий....
бухой джедай : |
скрипт пишется так чтоб лог был с метками по типу тегов
ну а далее данному програмисту не шибко стоит усилий написать
просмотровшик к своему логу (кстати чем и является на 60% карта скорпа)
|
значит нужен обработчик во внешнем софте... А к скриптам Х3 это как относится?
AlexYar : |
Что будет делать такой скрипт?
|
В логе будет
и больше ничего....
2Andrei [<>Ace] сейчас почитаю, подумаю, а то пока читал/писал, смотрю и пост новый...
Andrei [<>Ace] : |
. Но Винтопопус V не обделен был умом и создал небольшое, но дорогое устройство - миносбрасыватель. Миносбрасыватель встраивается в турель и использует ее устройство в своей работе. В качестве боеприпаса применяется мина Сквош. В мине заменяется система инициирования: с сенсорной на таймерную.
|
а вот и вопросы:
1. встраиваемый в турель? тут не красиво, без модинга не появится миносбрасыватель в поддерживаемом типе вооружения для турели. (если же он чисто скриптовый, то смотрим п.2)
2. есть много дополнительных скриптов, которые на ходу меняют вооружение в турели и управляют ее поведением (даже стандартные типа атаковать врага, сбивать ракеты) как тогда это отслеживать?
3. И в чем всетаки секрет замены системы инициирования мины с сенсорной на таймерную? Не может быть все так просто как разрушить ее через паузу
Все остальное вроде решаемо и выполнимо
Последний раз редактировалось: WhiteWolf (17:14 10-12-2007), всего редактировалось 1 раз |
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
WhiteWolf : |
значит нужен обработчик во внешнем софте... А к скриптам Х3 это как относится?
|
а просто относится пишем скрип и программу скрипт в Х3 а программу в чем тебе удобно
именно по такому принципу работает например карта скорпа
так весьма удобно инфу из игры тырить
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...
Последний раз редактировалось: бухой джедай (16:56 10-12-2007), всего редактировалось 1 раз |
|
|
WhiteWolf 55 EGP
Рейтинг канала: 2(13) Репутация: 0 Сообщения: 53
Зарегистрирован: 24.10.2007 |
|
бухой джедай : |
а просто относится Улыбка пишем скрип и программу Улыбка скрипт в Х3 а программу в чем тебе удобно Улыбка
именно по такому принципу работает например карта скорпа
так весьма удобно инфу из игры тырить Улыбка
|
Согласен, просто при наличии внешнего обработчика, но в этой теме «Скрипт-школа (Задачи для начинающих скриптописателей)» это ИМХО флуд и непотребсто. Здесь вроде мы учимся скриптописанию, а не как написать обработчик файла на чем-либо...
|
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
WhiteWolf : |
Согласен, просто при наличии внешнего обработчика, но в этой теме «Скрипт-школа (Задачи для начинающих скриптописателей)» это ИМХО флуд и непотребсто. Здесь вроде мы учимся скриптописанию, а не как написать обработчик файла на чем-либо...
|
да мб флуд но без скрипта обработчик пустой звук а лог можно прочитать и без обработчика поэтому главная роль здесь скрипт а человек который сможет создать такой скрипт не будет иметь каких либо проблем с обработчиком
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
AlexYar 1856 EGP
Рейтинг канала: 13(2096) Репутация: 324 Сообщения: 31707
Зарегистрирован: 26.10.2003 |
|
WhiteWolf : |
строка 009 содержит end, т.е. значащий оператор процедурной скобки, вот он и будет выполнен/пропущен в соответствии с условием в строке 007
|
Я ж у же сказал, что это неправильно. Пропускается не 009 строка, а 010, т.е. выход из цикла
Если бы было, как ты говоришь, и пропускалась бы только строка 009, то выхода из цикла не было бы (строка 009 относится не к циклу, а к IF).
WhiteWolf : |
В логе будет
Код:
и больше ничего....
|
Неправильно
бухой джедай : |
Алекс может написать им ответ?
|
В данном случае полезнее понять и прочувствовать всё самому
|
|
|
WhiteWolf 55 EGP
Рейтинг канала: 2(13) Репутация: 0 Сообщения: 53
Зарегистрирован: 24.10.2007 |
|
AlexYar : |
Неправильно Улыбка
|
Все сдаюсь, а без Х3 под рукой не вкурю разжевывай, где собака порылась
|
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
Это я не вкуриваю как хоткей прилипить да и ненашел пока команду на катапультирование из грузового отсека
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист...
Последний раз редактировалось: бухой джедай (19:23 10-12-2007), всего редактировалось 1 раз |
|
|
WhiteWolf 55 EGP
Рейтинг канала: 2(13) Репутация: 0 Сообщения: 53
Зарегистрирован: 24.10.2007 |
|
бухой джедай : |
Это я не вкуриваю как хоткей прилипить
|
<RetVar> = register hotkey <Var/String> to call script <Script Name> не пробовал?
Последний раз редактировалось: WhiteWolf (20:33 10-12-2007), всего редактировалось 1 раз |
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
Пробывал ,но не заработало, может там какие нюансы есть
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
WhiteWolf 55 EGP
Рейтинг канала: 2(13) Репутация: 0 Сообщения: 53
Зарегистрирован: 24.10.2007 |
|
Нюансы? Все просто, данной командой ты столбишь хоткей для выполнения скрипта-обработчика, саму же клавишу назначаешь в игре в настройках (имя для хоткея указанное в <Var/String>). Да, и скрипт-обработчик должен быть уже создан и лежать в папке скриптов игры, иначе хоткей не застолбится
|
|
|
бухой джедай 182 EGP
Рейтинг канала: 5(141) Репутация: 70 Сообщения: 7906 Предупреждений: 1 Откуда: Одесса:) Зарегистрирован: 08.09.2007 |
|
Епт! Пасиба вот шо значит переучился я думал тама нада клавишу обозначить
_________________ Так Добрый вечер...Превед с большого Бодуна...
Магистр Непросыхаемость...
Злобный Рецедивист... |
|
|
AlexYar 1856 EGP
Рейтинг канала: 13(2096) Репутация: 324 Сообщения: 31707
Зарегистрирован: 26.10.2003 |
|
WhiteWolf : |
где собака порылась
|
Собака порылась в том, что действие команды skip будет непредсказуемым, если после неё будет пустая или закомментированная строка. Поэтому никогда не нужно этого допускать.
зыж Не стал расписывать особенности работы в каждом отдельно-взятом случае, чтобы ещё больше не запутать, поэтому написал так, как написал
зыыж Кому интересно - сами потетсируйте на игре различные комбинации.
|
|
|
Andrei [<>Ace] 303 EGP
Рейтинг канала: 6(416) Репутация: 108 Сообщения: 766 Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006 |
|
Else : |
Andrei(<>Ace), Можно немного поподробнее про языковые файлы и использование команд консоли, такими заданиями да сразу по башке , больно ведь. Теория, вещь нужная.
|
Несколько постов выше просил, чтобы посмотрели Справочник по скриптовым командам для Х2. Там очень хорошо расписано, что такое языковой файл. Как застолбить команду. Как привязать к команде скрипт. Просто настоятельно рекомендую почитать все в подлиннике. .
WhiteWolf : |
1. встраиваемый в турель? тут не красиво, без модинга не появится миносбрасыватель в поддерживаемом типе вооружения для турели. (если же он чисто скриптовый, то смотрим п.2)
|
Поэтому и встраиваемый в турель. Важно наличие самой турели, и обязательное отсутствие в ней какого либо вооружения. Поэтому ничего модить не будем. В тереле будет отображаться то, что отображается когда ничего не установлено.
WhiteWolf : |
2. есть много дополнительных скриптов, которые на ходу меняют вооружение в турели и управляют ее поведением (даже стандартные типа атаковать врага, сбивать ракеты) как тогда это отслеживать?
|
Так как устройство в единичном экземпляре, то естественно оно будет установлено на корабле игрока. Я бы не доверил неписям сбрасывать мины, я и ракеты им не даю, поубивают друг друга. Врятли на корабле игрока команды меняются без его ведома. Поэтому на время работы устройства, в стеке турели запускаем скрипт, имитируя установку. Срипт выгрузит орудие из турели, и будет проверять наличие самого устройства в трюме корабля. если игрок установит в слот турели орудие - скрипт завершится, имитируя отключение устройства. Пока скрипт присутствует в стеке турели - будет работать клавиша выброса мин, выгрузится - нажатие на клавишу будет сопровождаться сообщением - устройство не установлено.
WhiteWolf : |
3. И в чем всетаки секрет замены системы инициирования мины с сенсорной на таймерную? Не может быть все так просто как разрушить ее через паузу
|
Да нет секрета. Мину скриптом взорвать можно, а вот активировать, на монер стандартного режима, без скриптования этого режима, нельзя.
|
|
|
WhiteWolf 55 EGP
Рейтинг канала: 2(13) Репутация: 0 Сообщения: 53
Зарегистрирован: 24.10.2007 |
|
бухой джедай : |
чегото все равно не получается Расстроен
|
Конкретней, что не получается?
Andrei [<>Ace] : |
Врятли на корабле игрока команды меняются без его ведома
|
Команды то не меняются, но может присутствовать скрипт (и не в стеке турели) который активно может менять задачи для турели и ее вооружение (хотя в оригинальной игре таких скриптов нет) и тогда получим турель будет и стрелять и сбрасывать мины или при проверке наличия ствола в турели прекратит сброс мин
Andrei [<>Ace] : |
Поэтому на время работы устройства, в стеке турели запускаем скрипт, имитируя установку.
|
А вот тут сразу вопрос, как сделать команду, которая будет относится только к определенной турели (ну не хочу я пользовать раздел спец. команд), и не будет отображаться в командах для других турелей и в общей для всех турелей Хотя вроде задумка есть, но сейчас не могу проверить В остальном задание почти выполнено, но времени жутко не хватает
|
|
|
Andrei [<>Ace] 303 EGP
Рейтинг канала: 6(416) Репутация: 108 Сообщения: 766 Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006 |
|
бухой джедай : |
чегото все равно не получается
|
Да обратись ты с этим вопросом в тему Скриптописание - делимся опытом, задаем вопросы, если поиском лень воспользоваться.
Да не просто скажи: "Вай не получается ". Ты кусок из кода покажи, что ты набрал то там вообще. Поверь мне, помогут тебе и все у тебя получится.
WhiteWolf : |
А вот тут сразу вопрос, как сделать команду, которая будет относится только к определенной турели
|
Легко. Читай справочник, команд там много.
1. Проверяем наличие турелей у корабля, предпочитаем кормовую, если нет - сойдет любая.
2. В ее стеке запускаем и крутим скрипт.
Остальные турели ведут себя как положено.
Последний раз редактировалось: Andrei [<>Ace] (11:36 12-12-2007), всего редактировалось 4 раз(а) |
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Скрипт-школа (Задачи для начинающих скриптописателей)» |
|