|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы» |
|
|
Crazy Diamond
205 EGP
    Репутация: 42 Сообщения: 437 Откуда: Уфа Зарегистрирован: 01.07.2009
 |
|
А в форме
if...and if...
не получится?
И что-то генетическая память пытается мне старательно про вертикальный слэш нашептывать. А я стараюсь ей не поверить.
_________________ Shine on your Crazy Diamond |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Crazy Diamond : |
И что-то генетическая память пытается мне старательно про вертикальный слэш нашептывать
|
"вертикальный слэш", видимо подразумевается это:
if...
else if...
else if...
Думал над этим, но 100 наименований - баЛшой скрипт получится)
Или может я что не так понял?
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Xenon J
1007 EGP
       Рейтинг канала: 11(1675) Репутация: 160 Сообщения: 3390 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007
 |
|
Thug : |
Я хочу добавить ещё.. от 131 до 144. Подскажите пожалуйста как правильно сделать
|
Куда добавить? в игру? или на карту галактики? В первом случае это не скрипт, это в TPlanets надо редактировать.
Thug : |
Но ставить можно всего: 12 значений. Ставишь больше - скрипт не работает, а если надо больше?
|
else if в помощь.
Цитата: |
if$st >= 51 OR $st <= 65 OR $st == 131 OR $st == 132 OR $st == 133
|
Если правильно тебя понимаю, то можно так:
Код: |
if$st >= 51 АND(наверно АND, если хочешь значение между этими двумя?) $st <= 65
---Делаем че надо при этом условии
else if $st >= 131 АND $st <= 133
---Делаем че надо при этом условии
и т. д.
end |
Но если тебе нужно делать разные операции для какого-то конкретного значения, то тогда только перебор.
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Xenon J : |
Куда добавить? в игру? или на карту галактики?
|
Привет XenonJ! По сути я колдую над модом посадки на планеты(дюже он глючный). А добавить надо суптипы планет для посадки( 23 изначальных маловато). Но в Х3 не все планеты правильные(мягко выражаясь), нужен выбор! От сюда и заморочки...
Проблема в том, что после условия: if$st >=... идёт целый набор кодов с разгоном, прыжком, сообщениями и приземлением(типа). Это в моём варианте... Всё это сопровождается "танцами и цветомузыкой". Сложно это условие разбить на части.
Я пытался сделать как ты написал в коде, но скрипт видит только последнее "else if $st >=" и не реагирует на предыдущие строки.
Вот эта строка работает: "if$st >= 51 OR $st <= 65 OR $st == 131 OR $st == 132 OR $st == 133 и т.д."
Но стоит поменять знаки на >= или =< и скрипт молчит. Может что не правильно делаю? Пока получилось переносить на другой такой же скрипт, но с другими номерами планет, а тот на другой и т.д. Но я то за компактность
Будет время, ещё по колдую, что бы одной строкой...
_________________ На фоне космоса - человечество, всего лишь пыль!
Последний раз редактировалось: Thug (02:03 26-04-2016), всего редактировалось 1 раз |
|
|
Xenon J
1007 EGP
       Рейтинг канала: 11(1675) Репутация: 160 Сообщения: 3390 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007
 |
|
Thug : |
Друзья, какое условие можно использовать на такой случай?
|
Сравниваем координаты? Достиг точки - вырубаем, не достиг - оставляем как есть.
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Xenon J : |
Сравниваем координаты?
|
Спасибо, всё получилось.
Всё гениальное просто...
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Привет всем ещё раз!
Команда:
<RefObj> ignore ship command/signal <Object Command/Signal>
Отключает конкретную команду.
А какая команда отключает весь текущий скрипт?
Возможно эта:
set script command: <Object Command/Signal>
Команда устанавливает для текущего скрипта команду <Object Command/Signal>.
Если подставить: "COMMAND_NONE"
То есть, если летим не туда, куда надо - делаем что нужно и стоп скрипт:
set script command: COMMAND_NONE
Или есть другая возможность прервать работу скрипта?
_________________ На фоне космоса - человечество, всего лишь пыль!
Последний раз редактировалось: Thug (17:22 05-05-2016), всего редактировалось 1 раз |
|
|
AlexYar
1916 EGP
               Рейтинг канала: 13(2096) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
Thug : |
set script command:
|
Насколько я помню, эта команда просто отображает _название_ текущей команды в свойствах корабля. Типа "летит туда-то".
Thug : |
Или есть другая возможность прервать работу скрипта?
|
В другом стеке запускай контрольный скрипт, который будет прибивать нужный скрипт в нулевом стеке при соблюдении нужных условий (или несоблюдении).
|
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Друзья, как правильно перенести информацию из скрипта в скрипт и обратно. Имеется ввиду не локаль-глобаль переменные, а вызов скрипта, call...
Может есть толмут, где можно познать истину?
Например:
102 $nav=$obj
103 end
107 * ========================================
109 $x=$nav -> get x position
110 $y=$nav -> get y position
111 $z=$nav -> get z position
133 * ========================================
Здесь выходим в другой скрипт и идёт перечисление 200 секторов, к примеру...
if$nav=$obj
=[THIS] -> call script ххххххххххх :
136 if$sector == Туманность Херрона
137 $x1=- 290000
138 $y1=270000
139 $z1=- 1400000
141 else if$sector == Три мира
142 $x1=1400000
143 $y1=- 40000
144 $z1=- 160000
175 end
После перечисления заходим обратно и идёт продолжение и концовка скрипта. Что то не получается у меня.
Если не поскупитесь на готовый пример данного действия, буду оч спасибо!
_________________ На фоне космоса - человечество, всего лишь пыль!
Последний раз редактировалось: Thug (17:00 07-05-2016), всего редактировалось 5 раз(а) |
|
|
AlexYar
1916 EGP
               Рейтинг канала: 13(2096) Репутация: 325 Сообщения: 32751
Зарегистрирован: 26.10.2003
 |
|
Thug : |
Может есть толмут, где можно познать истину?
|
http://dragonp.narod_ru/
Знак _ перед ru заменить на точку.
Thug : |
как правильно перенести информацию из скрипта в скрипт и обратно. Имеется ввиду не локаль-глобаль переменные, а вызов скрипта, call.
|
Данные между скриптами можно передать либо через локальные/глобальные переменные, либо через аргументы скрипта.
Отработавший скрипт возвращает значение через возвращаемую переменную.
Код: |
062 @ $BP = $hq -> call script 'ay.hqo.collect.info' :
|
В данном случае эта переменная $BP. В самом скрипте возвращаемое значение подставляешь в команду return.
Thug : |
136 if$sector == Туманность Херрона
|
Так сектор задавать некорректно. Нужно сектор получать через координаты.
Код: |
004 $sec = get sector from universe index: x=0, y=0
|
Последний раз редактировалось: AlexYar (13:03 16-05-2016), всего редактировалось 1 раз |
|
|
Crazy Diamond
205 EGP
    Репутация: 42 Сообщения: 437 Откуда: Уфа Зарегистрирован: 01.07.2009
 |
|
Thug : |
Если не поскупитесь на готовый пример данного действия, буду оч спасибо!
|
"Собрание скриптов пилотов"
Берешь скрипт на 3-4 файла и обсасываешь, как вишневую косточку.
Сам огромное эстетическое удовольствие получил от скриптов vudu.
Горжусь, что разобрался с дроидом от ULIX, но такого геморроя врагу не пожелаю. Там кроме объема много заморочек ( захотите файлы просто прочитать - обращайтесь).
Но! Скрипты Реюнион несут 99% полезной инфы для ТС, так же, как и мануалы к ним.
Собсно, хочешь писать скрипты, лезь в раздел X3R. Основная часть информации там.
добавлено спустя 5 минут:
Ох, народ, координаты попутал! Но убирать и менять не буду.
_________________ Shine on your Crazy Diamond
Последний раз редактировалось: Crazy Diamond (00:18 25-05-2016), всего редактировалось 2 раз(а) |
|
|
AntonBV
50 EGP Репутация: 0 Сообщения: 1
Зарегистрирован: 02.01.2017
 |
|
Друзья! Так как же все-таки переносить текст на новую строку в сообщении игроку?
Отправляю через send incoming message и другие команды из этой категории. Языковые файлы не использую.
Что только не испробовал, и разные тэги и спецсимволы и даже пытался запихнуть массив строк.
Что же я делаю не так? Помогите, пожалуйста!
Пробовал сделать так, как в примере у Chem
"И проще и правильнее"...
Не обрабатывается \n и все, а теперь вообще пустое сообщение выдает.
Версия X3R 2.5.
Последний раз редактировалось: AntonBV (20:40 02-01-2017), всего редактировалось 1 раз |
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы» |
|