|
|
|
Канал X2: The Threat: «Скриптовые миссии» |
|
|
Gor
220 EGP
   Репутация: 45 Сообщения: 680 Откуда: Московский филиал клана [OEG] Зарегистрирован: 23.06.2004
 |
|
2akm
Цитата: |
В данном случае проблемку с сall script: $missionХХХ я собирался решить тупо в лоб:
if MissionID==0 call script: 'mission.000'
else if MissionID==1 call script: 'mission.001'
else if MissionID==2 call script: 'mission.002'
...
И набирать несколько сотен строк (сколько там у нас миссий будет?) я вручную не собираюсь. Я элементарно могу сгенерировать codearray на основании того факта, что все строки в этом массиве одинаковые "else if...".
ИМХО такой вариант будет нагружать проц меньше предложенного тобой выше. И можно пойти еще дальше в плане минимизации количества исполняемых команд:
Код:
if MissionID < 500
if MissionID < 250
...
else
if MissionID < 750
...
end
|
Если все миссии имеют название вида 'mission.ХХХ', то проше сделать XML файло на одной странице которого строками будут название файлов миссий, номером миссии идентификатор строки. На другой странице два параметра:
1 - начальный номер миссий;
2 - конечный номер миссий;
В итоге считали начало-конец номеров миссий, и к примеру случайным образом выбрали номер строки на странице файлов миссий из заданного диапазона.
И не надо ни каких трехэтажноматерных конструкций.
В твоем разборе скрипта было же преобразование типов...
_________________ Аргон ксенону не товарищ |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
и к примеру случайным образом выбрали номер строки на странице файлов миссий
|
А вот это по-подробней. Как можно вообще выбрать номер строки согласно какой-то там переменной, если нету такой команды как "GOTO Переменная"? Есть только "GOTO Константа", т.е. по жесткой метке.
И в команде Call script 'ИмяСкрипта'
ИмяСкрипта не может быть переменной впринципе!
|
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
я в теме про мод
http://www.elite-games.ru/conference/viewtopic.php?p=603588#603588
выложил первоначальный вариант комплекта скриптов.
2 АКМ: погляди, интересно твое мнение. И пора наверное, определяться с миссиями, по крайней мере сделать рыбу скриптов и хоть одну миссию для почина
Твои вычисления рейтингов игрока я убрал, если будет нужда, мона их вставить обратно. Но пока такой нужды не видно ...
_________________ Быстро выпитая рюмка не считается налитой |
|
|
Gor
220 EGP
   Репутация: 45 Сообщения: 680 Откуда: Московский филиал клана [OEG] Зарегистрирован: 23.06.2004
 |
|
Цитата: |
А я не правлю codearray для задания тегов форматирования. Намного удобнее набирать все тексты в xml и затем пользоваться командой:
write to player logbook: sprintf: pageid=<Var/Number> textid=<Var/Number>,<Value>,<Value>,<Value>,<Value>,<Value>
Сразу можно сделать поддержку нескольких языков
А еще можно делать выборку нужного сообщения по переменной textid там где понадобилось бы городить целый огород с конструкциями типа:
IF что-то ПЕЧАТАТЬ то-то
ELSE IF что-то ПЕЧАТАТЬ то-то
и т.д.
Т.е. textid можно "вычислять"
|
2akm
Признаю себя ослом. Каюсь, ибо ЛАМЕР.
Я вообще про енту команду говорил, но счас просмотрел и понял не прокатит, работает тока с логбуком и на выаод.
Да и в вызовах скриптов используется конктретное имя, уже проверил.
Эх, а нет ли какойнить команды, наподобии ентой самой, тока чтобы значения из ХML прчитать?
Если такое дело организовать и считывать параметры из textid c конкретным pageid, то жисть облегчилась бы необыкновенно, Был бы XML типа ini файла и все дела, но обламывает невозможность задать в качестве имени скрипта строковую переменную
Типа нашел уже команду
<RetVar>=read text: page=<Var/Number> id=<Var/Number>
По ней читаем параметры граничных номеров миссий
Кто-нить разбирался что есть такое <Var/Script Data Type>
Если это аналог процедурного типа в Паскале и Дельфях можна попробовать это как-то использовать для подключения миссий
_________________ Аргон ксенону не товарищ |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
Типа нашел уже команду
<RetVar>=read text: page=<Var/Number> id=<Var/Number>
По ней читаем параметры граничных номеров миссий
|
Да, я сам этой командой уже давно пользуюсь в своих скриптах. Оччень удобная весч. Вполне можно использовать для задания параметров миссий, таких как версия скрипта-миссии, мин/макс сложность, тип миссии, необходимые рейтинги и т.д. Т.е. в "setup.plugin.missionXXX" можно заполнять массивы с параметрами миссий не константами, а данными из XML. В этом случае можно обойтись одним единственным setup.plugin-скриптом и не делать индивудуальные для каждой миссии
Цитата: |
Кто-нить разбирался что есть такое <Var/Script Data Type>
Если это аналог процедурного типа в Паскале и Дельфях можна попробовать это как-то использовать для подключения миссий
|
Процедурного типа в ScE нет. Единственный способ запустить доп. скрипт, это воспользоваться командами:
start task with script
interrupt task with script
call script
interrupt with script
interrupt with script
Я расковырял их Codearray и могу заверить, что для имени скрипта используется специальное поле, в котором имя скрипта прямо вписывается туда и нигде нет доп. поля задающего тип поля "Имя скрипта", в отличие от любых других полей, где можно указать переменная ли это или константа и т.д.
Но я еще не проверил соманду start command. Чего-то я ее отбросил сначала, т.к. количество команд жестко ограничено и десятую часть миссий точно не хватит. Но сейчас у меня появилась гениальная мысля...
|
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Обломс
В командах
[THIS] -> connect ship command/signal COMMAND_TYPE_CUSTOM_0 to script
и
global script map: set: key=COMMAND_TYPE_CUSTOM_0, class=null, race=null, script=
тоже нельзя указать имя скрипта как переменную и в Codearray нет задания типа для этого поля
|
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
2 АКМ: вопрос: сколько миссий предположительно будет написано? что-то мне подсказывает, что десяток, в лучшем случае 2 десятка. А твое мнение какое?
_________________ Быстро выпитая рюмка не считается налитой |
|
|
Tnax
270 EGP
    Рейтинг канала: 1(3) Репутация: 52 Сообщения: 930 Откуда: Russia, Voronezh Зарегистрирован: 20.01.2004
 |
|
А помощь в оформлении не требуется?
_________________ Люблю когда прицел... вдруг синевеет! :) |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
вопрос: сколько миссий предположительно будет написано? что-то мне подсказывает, что десяток, в лучшем случае 2 десятка. А твое мнение какое?
|
Ну я же не просто так выделил 3 цифры под номер. Так что как минимум 101!
Учти такой факт, что может быть ряд подмиссий, как например в предложениях от RAider для супер-лайнера.
Тут все конечно зависит от количества участвующего народа и удобности создания этих миссий. Т.е. надо делать удобные шаблоны, а от Dimaxxa нужен человеческий внешний редактор скриптов. Я полагаю, что до нового года у нас всего пару десятков миссий будет А там доп. народ постепенно подключится и до выхода аддона сотня миссий в нашем глобальном моде вполне реальна
От меня большой помощи не ждите, может несколько миссий сделаю.
Цитата: |
А помощь в оформлении не требуется?
|
Ты имеешь ввиду литературно написать и красиво оформить текстик задания к миссии в XML? Конечно надо! Кроме того, у нас у самих хоть и много идей мисиий (тридцатник наверное уже есть), но хорошие идеи всегда нужны. Особенно если эти идеи при своей интересности не предполагают сложных скриптов. Мы ведь тоже люди (читай лентяи)
|
|
|
Lazy Cat
405 EGP
  Рейтинг канала: 1(4) Репутация: 145 Сообщения: 2148 Откуда: Украина, Тернополь Зарегистрирован: 16.04.2004
 |
|
Будет редактор - подключусь и я Опыт пока небольшой (редактор достал, терпения не хватило ), но идеи найдутся ... Да и желание их реализовывать появится ...
|
|
|
Пассажир
|
|
Да да, вот с оформлением у меня полная задница АКМ правил как-то мой английский в скриптовых сообщениях А ведь миссии предполагают не тока скрипты, а еще и тексты разные, которые пилоту скрипт будет кидать. Надо же их литературно написать! А скрипты не позволяют писать на русском
Вот пример миссии, которую я хочу сделать.
Хааки готовят массированное вторжение в галактику и уничтожение всего, что шевелится. Все их текущие появления - не более, чем эксперименты с гиперпространственными перемещениями.
Тем временем ученые Аргона ставят свои эксперименты с пространством и пытаются воспрепятствовать этому нашествию. Однако для экспериментов и для работы блокираторов хаакских секторов им нужен нивидиум. Пилоту периодически поступают сообщения с просьбами привезти на Терракорп HQ некоторое кол-во нивидиума. Если пилот привезет - жизнь продолжается, а пилоту разные пряники и благодарности. Если же пилот на эти просьбы забьет, то через некоторое время начнется постепенно нарастающее вторжение хааков, с участием дестроеров и кэриеров.
Как именно организовать это вторжение, если уж до него действительно дело дойдет - можно еще обдумать.
Нивидиум очень быстро кончится в неизвестном секторе, и после пилоту придется ковырять астеры в гостях у хааков
Вот тут и пригодится флот, который счас продвинутые пилоты не знают, куда применить
|
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
Пассажир выше - это я, почему-то разлогинился ...
_________________ Быстро выпитая рюмка не считается налитой |
|
|
Tnax
270 EGP
    Рейтинг канала: 1(3) Репутация: 52 Сообщения: 930 Откуда: Russia, Voronezh Зарегистрирован: 20.01.2004
 |
|
akm
С оформдением могу помочь, благо язык подвешен неплохо, учитель, как ни как .
Идеи можно придумать, знать бы, что уже есть... Плюс я в любом случае буду обрабатывать текст миссий, дабы свести к единому для ЕГ расцвечиванию.
Кстати, теперишний вариант нормальный?
Grey Wolf
Цитата: |
А скрипты не позволяют писать на русском
|
Это опгано...очень... Единственная мысль-это картинками текст русский писать.
Латиницей-погано будет.
По поводу миссии... Т.к. каждая расса имеет центр-нужно бить в него, чтобы дестабилизировать. Но в данном случае-это нападения массированные на окраинные сектора... Блин-да это же КР получается!!! Клисане vs. Галактика = Хааки vs. Вселенная Х.
Линия фронта-это не листок, поделенный пополам, а она везде. Пилот-штурмовик, пилот-курьер, пилот-истребитель, охраник торговых путей, шпион, разведчик.... Сектора выносятся, отвоёвываются, со временем карта галактики становится непохожей на первоначальную, границы рас стёрлись-все против врага. Ксеноны против хааков....
Ух! Такого можно нафантазировать...
Вот и пригодится мой пилот Макс Торнтон, переживший Ксеноновское нашествие... см. новости.
Сводки с места событий и т.д.
Народ, а никак у ЕгоСофт не узнать принцип создания миссий? Или никого с 5-м уровнем нету у нас...
Дайте мне рыбку какой-то миссии, я на неё попробую мясо натянуть.
_________________ Люблю когда прицел... вдруг синевеет! :) |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
А скрипты не позволяют писать на русском
|
Это что имеется ввиду?
Нельзя выводить русский текст в лог или сообщения игроку только если игра английская (что правда не факт, я не пробовал в 44xxxx.xml ставить language=7)
Но у владельцев русифицированного Х2 все будет по-русски.
Т.е. будем делать сразу 2 набора файлов локализации: английский и русский
Цитата: |
Идеи можно придумать, знать бы, что уже есть...
|
Grey Wolf, ты мне как-то в личку высылал список планируемых миссий. Может опубликуешь от своего имени? (у меня то это письмо до сих пор хранится, там правда идеи миссий еще не совсем конкретизированы)
И надо бы перелопатить темку «Есть предложение по созданию мода Х-2». Там тьма идей, но далеко не все реально воплотить в жизнь.
|
|
|
mouse_male
230 EGP
  Рейтинг канала: 1(7) Репутация: 64 Сообщения: 822 Откуда: St-Petersburg Зарегистрирован: 23.07.2004
 |
|
akm : |
Цитата: |
А скрипты не позволяют писать на русском
|
Это что имеется ввиду?
Нельзя выводить русский текст в лог или сообщения игроку только если игра английская (что правда не факт, я не пробовал в 44xxxx.xml ставить language=7)
|
Я пробовал - работает...игра - штатовская, я тока файлы 44хххх переделал немного...
у меня так братец играет - все сообщения по-русски, а звуки на англицком...
не глючит после 14-20 дней игры...
...
_________________ -Желаю, чтобы все!
-И вам того же! (С) |
|
|
Пассажир
|
|
Цитата: |
Я пробовал - работает...игра - штатовская, я тока файлы 44хххх переделал немного...
у меня так братец играет - все сообщения по-русски, а звуки на англицком...
не глючит после 14-20 дней игры...
|
Прошу прощения что вмешиваюсь.
Но, на мой взгляд, главное, что-бы на компе кириличные шрифты стояли, а какая языковая локализация - неважно.
|
|
|
Dimaxx
1016 EGP
      Рейтинг канала: 1(5) Репутация: 204 Сообщения: 5812 Откуда: Северодвинск Зарегистрирован: 26.06.2002
 |
|
Шрифты у игры тоже свои, растровые, а не ttf. Так что от этого ничего не зависит. Причем русский шрифт изначально есть даже в англ. версии.
_________________ "Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс |
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
В продолжение идеи сделать возможность в може выбрать карьеру пирата, на ум пришло, что надо бы и миссии от имени пиратов сделать. Например привезти бухла и травы, замочить корабли НПС, а также их станции! Или сопроводить конвой с бухлом до пиратской базы.
_________________ Быстро выпитая рюмка не считается налитой |
|
|
MADViC
64 EGP
 Репутация: 0 Сообщения: 83 Откуда: Украина Зарегистрирован: 11.08.2004
 |
|
Да, кстате - почему нет миссий по уничтожению станцый ? Это ведь очень актуально, когда ты уже сильный, здоровый чувак! Очень было бы здорово!
_________________ Жизнь сияет в звездах в любимом PC и мрачнеет в реальном мире! |
|
|
Dimaxx
1016 EGP
      Рейтинг канала: 1(5) Репутация: 204 Сообщения: 5812 Откуда: Северодвинск Зарегистрирован: 26.06.2002
 |
|
От гроханья станции сильно падает рейтинг, да и не стоят того последствия от уничтожения станции.
_________________ "Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс |
|
|
|
|
|
Канал X2: The Threat: «Скриптовые миссии» |
|