Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » [ДИСКУС]: Скриптописание. Проблемы и их решение. | страница 55
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 55 из 61
На страницу: Пред.  1, 2, 3 ... 54, 55, 56 ... 59, 60, 61  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X3: Terran Conflict » Модовый и скриптовый отсек X3: Terran Conflict: «[ДИСКУС]: Скриптописание. Проблемы и их решение.»
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Можно ли скриптами без MD создать всплывающее окошко Да/Нет с вопросом и соответственно чтоб выдавало True/False?
_________________
Пираты - наше всё!
    Добавлено: 09:54 04-11-2018   
DNA78
 420 EGP


Рейтинг канала: 9(1060)
Репутация: 70
Сообщения: 1180
Откуда: Кыргызстан
Зарегистрирован: 12.11.2008
za4ot :
Можно ли скриптами без MD создать всплывающее окошко Да/Нет с вопросом и соответственно чтоб выдавало True/False?

Конечно, это можно сделать ещё со времён X3 Reunion.
_________________
Очевидное-невероятное
    Добавлено: 13:24 04-11-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Блин, а как? Хочу чтоб при стыковке корабля к станции всплывало окошко и спрашивало отдать корабль или нет? В принципе заминка только с этим окошком.
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (15:31 04-11-2018), всего редактировалось 1 раз
    Добавлено: 15:30 04-11-2018   
DNA78
 420 EGP


Рейтинг канала: 9(1060)
Репутация: 70
Сообщения: 1180
Откуда: Кыргызстан
Зарегистрирован: 12.11.2008
za4ot :
В принципе заминка только с этим окошком.

Код:
send incoming question <Var/String> to player: callback=<Script Name>

- эта команда имеется ещё со времён X3 Reunion
Код:
<RetVar/IF> open custom menu: title=<Var/String> description=<Var/String> option array=<Var/Array>

- а эта добавлена в X3 Terran Conflict
___________________
а можно и просто вот так
Код:
<RetVar/IF><RefObj> get user input: type=<Script Reference Type>, title=<Var/String>

_________________
Очевидное-невероятное
    Добавлено: 17:10 04-11-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Посмотрел команды, попробовал так и этак - не нравиться, не то. Думаю прикручу просто хоткей и скрипт, который сам отдаст нужный корабль в нужном месте, и будет мне счастье. Хы...
_________________
Пираты - наше всё!
    Добавлено: 22:26 07-11-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Переписал с нуля свою сюжетку и вот там использовал такой финт:
$array1=ищем корабли на станции
$array2=ищем корабли в радиусе 5 км от станции
$array->array alloc size=0
append to $array value $array1
append to $array value $array2
вот думаю прокатит такая конструкция объединения двух массивов в один или придется переписать.

Еще попутно написал скрипт тумана войны. Каждый игровой день скрипт проверяет наличие в секторах кораблей или станций игрока и если их нет, то помечает сектор как неизвестный (с карты он естественно исчезает).
+++
Дополнительный стимул размещения спутников, орбитальных платформ и патрулей. Так-то я играл вообще без спутников и патрулей, а это целый кусок геймплея выпадает. Стимул исследовать вселенную и наращивать свое присутствие во всех секторах. А то я после запуска скрипта обнаружил, что играю всего в пяти секторах из 231.
---
Секторные и прочие торговцы без спутниковой сети никуда не полетят. У меня было трое, после запуска скрипта завершили сделки и сели на станциях намертво, ибо не видят куда лететь.

Ну как бы логичное обоснование происходящему, что вселенная огромная и динамичная, и данные, собранные хз когда протухают и не соответствуют действительности, а значит должны быть удалены с бортового компьютера.
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (00:17 10-12-2018), всего редактировалось 1 раз
    Добавлено: 21:55 09-12-2018   
Petrovytsh
 62 EGP

Репутация: 4
Сообщения: 62

Зарегистрирован: 05.02.2016
za4ot :
Ну как бы логичное обоснование происходящему, что вселенная огромная и динамичная, и данные, собранные хз когда протухают и не соответствуют действительности, а значит должны быть удалены с бортового компьютера.

У меня один вопрос: зачем и нах..?
В смысле, кому может придти в голову удалять навигационную информацию, пусть даже она устарела? Ведь "хоть какая-то" информация лучше, чем никакой. Ради "тумана войны"? Так он и так присутствует - есть спктники/корабли - все видно. Нет спутников/кораблей - есть только устаревшие данные о навигационной информации, типа врат, крупных астероидов, неподвижных станций.
Да и вообще:
za4ot :
Секторные и прочие торговцы без спутниковой сети никуда не полетят.

Этого уже достаточно для того, чтобы стараться эту сеть расширять.
    Добавлено: 12:02 10-12-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Petrovytsh :
Этого уже достаточно для того, чтобы стараться эту сеть расширять.

Когда сектора открыты они летят и без спутников, в том-то и суть хочешь, чтоб торговцы работали, держи в секторе спутник.
Petrovytsh :
У меня один вопрос: зачем и нах..?

Еще одна причина, что при наличии прыг двигателя и скрипта прыжок в док выполнение миссий по доставке слишком читерное получается. А с туманом войны сильно не попрыгаешь по крайней мере сначала нужно будет прыгнуть в сектор, а потом в док, а не сразу в док.
Ну как бы скрипт был написан между делом, просто идея показалась интересной, но все равно спасибо за мнение. Хотя мне кажется, что он мог бы привнести в игру некоторое разнообразие. В принципе пока с ним не поиграешь трудно сказать в какую сторону он изменит геймплей в лучшую или худшую.
_________________
Пираты - наше всё!
    Добавлено: 13:08 10-12-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Что за на...! Неделю назад переписал сюжетку. Зашел на следующий день а там ничего из написанного нет. Думал по запарке забыл сохранить скрипт. Вчера переписал всё заново, в процессе сохранял скрипт раза четыре точно, сегодня зашел, а там опять ничего. Как такое может вообще быть? Другие скрипты пишу же всё сохраняет вроде. Опять заново всё писать Задница
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (20:01 10-12-2018), всего редактировалось 1 раз
    Добавлено: 20:01 10-12-2018   
Petrovytsh
 62 EGP

Репутация: 4
Сообщения: 62

Зарегистрирован: 05.02.2016
za4ot :
прыжок в док

Ты где такое взял? Прыжок только и исключительно на ворота и/или на прыжковый маяк. А вот возможность строить прыжковые маяки на своей верфи (штаб квартире) очень не хватает (хотя и решается простеньким MD скриптиком).
    Добавлено: 18:53 11-12-2018   
VNZ
 65 EGP

Рейтинг канала: 1(6)
Репутация: 2
Сообщения: 77
Откуда: Ukraine
Зарегистрирован: 04.11.2015
Petrovytsh :
прыжок в док


Gateless_jumpdrive(прыжок в точку,док).rar
 Описание:
 Имя файла:  Gateless_jumpdrive(прыжок в точку,док).rar
 Размер файла:  13.02 KB
 Скачано:  317 раз(а)
    Добавлено: 19:14 11-12-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Petrovytsh :
Ты где такое взял?

Мы так-то в модовом отсеке, а тут и не такие диковины найти можно. Хы...
_________________
Пираты - наше всё!
    Добавлено: 19:14 11-12-2018   
Petrovytsh
 62 EGP

Репутация: 4
Сообщения: 62

Зарегистрирован: 05.02.2016
za4ot :
тут и не такие диковины найти можно. Хы...

Лишь бы лорно и в балансе. А ставить мод, чтобы потом компенсировать другим модом его имбанутость... ну я хз )))
    Добавлено: 19:40 11-12-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Только что в очередной раз переписал сюжетку, сохранялся четыре раза, в редакторе после каждого сохранения делал копию скрипта, вышел из игры ни изменений в исходном файле, ни копий нет. Задница В редакторе есть какое-то ограничение на количество строк? У меня где-то под 300 было. Или может это у мну файл на диске подпорчен и нужно проверку диска сделать? Блин уже три вечера убиваю чтоб эти 300 строк набрать и всё зря. Задница Задница Задница Можно с нуля переписать, но в исходном файле уже строк 100 набрано, не хотелось бы их заново набирать. Вообще не понимаю в чем может быть дело?

добавлено спустя 5 минут:
Может есть ограничение на длину имени переменных - умну есть довольно длинные? ХЗ короче.
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (00:03 12-12-2018), всего редактировалось 2 раз(а)
    Добавлено: 00:03 12-12-2018   
DNA78
 420 EGP


Рейтинг канала: 9(1060)
Репутация: 70
Сообщения: 1180
Откуда: Кыргызстан
Зарегистрирован: 12.11.2008
za4ot :
Переписал с нуля свою сюжетку и вот там использовал такой финт:
$array1=ищем корабли на станции
$array2=ищем корабли в радиусе 5 км от станции
$array->array alloc size=0
append to $array value $array1
append to $array value $array2
вот думаю прокатит такая конструкция объединения двух массивов в один

Нет не прокатит, на выходе получишь массив состоящий из двух массивов.
Вообще здесь можно много на фантазировать вариантов слития двух массивов и вот некоторые из них:
 Вариант 1. продолжение твоего кода и создание нового массива   (кликните здесь для просмотра)
Код:

$array1=ищем корабли на станции
skip if is datatype[$array1] == [DATATYPE_ARRAY]
 $array1 = array alloc: size=0

$array2=ищем корабли в радиусе 5 км от станции
skip if is datatype[$array2] == [DATATYPE_ARRAY]
 $array2 = array alloc: size=0

$array = array alloc: size=0
$array.temp = array alloc: size=0
append $array1 to array $array.temp
append $array2 to array $array.temp
$size.array.temp = size of array $array.temp
while $size.array.temp
 dec $size.array.temp
 $item = $array.temp [$size.array.temp]
 $size = size of array $item
 do if $size == 0
  continue

 while $size
  dec $size
  $obj = $item [$size]
  skip if find $obj in array: $array
   append $obj to array $array
 end
end

 Вариант 2. добавление в существующий массив   (кликните здесь для просмотра)
Код:

$array=ищем корабли на станции
skip if is datatype[$array] == [DATATYPE_ARRAY]
 $array = array alloc: size=0

$array.temp=ищем корабли в радиусе 5 км от станции
skip if is datatype[$array.temp] == [DATATYPE_ARRAY]
 $array.temp = array alloc: size=0

$size = size of array $array.temp
if $size > 0
 while $size
  dec $size
  $obj = $array.temp [$size]
  skip if find $obj in array: $array
   append $obj to array $array
 end
end

 Вариант 3. создание нового массива с использованием егосовтовской библиотеки !lib.array.join.pck которую можно взять в альбионе   (кликните здесь для просмотра)
Код:

$array=ищем корабли на станции
skip if is datatype[$array] == [DATATYPE_ARRAY]
 $array = array alloc: size=0

$array.temp=ищем корабли в радиусе 5 км от станции
skip if is datatype[$array.temp] == [DATATYPE_ARRAY]
 $array.temp = array alloc: size=0

$array = [THIS]-> call script '!lib.array.join' : a.arr1=$array a.arr2=$array.temp

 Вариант 4.   (кликните здесь для просмотра)

использование кода из !lib.array.join.pck

_________________
Очевидное-невероятное

Последний раз редактировалось: DNA78 (08:47 13-12-2018), всего редактировалось 1 раз
    Добавлено: 08:43 13-12-2018   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Свершилось. Наконец-то я нашел причину того, что скрипты не сохраняются. На скрине указал стрелкой.
https://drive.google.com/file/d/1mjGLECUXkOR1gJvCvkSbreu0XRMGsgmC/view?usp=sharing
Значение это выставляется через пункт "Выбрать станцию" и больше никак. Причем если финт прокатывает и скрипт сохраняется (были прецеденты на небольших скриптах), и даже работает как нужно сразу после написания, то гарантии что после перезапуска игры скрипт будет работать нет. Пытался записать станцию в переменную через Maintype - Subtype, get name, get class и прочие костыли - в лучшем случае команда поиска кораблей с такой переменной выдает ARRAY(), в худшем вешает игру еще на попытке записать станцию в переменную (это без таймаутов в циклах, с таймаутами скрипт просто не завершается).
Причем команда "найти корабль в секторе" нормально срабатывает при указании сектора Элизиум света и стандартным параметром refobj=Храм гонеров, выбираемом через "Выбрать тип станции". А вот команда "достать массив кораблей с объекта" при стандартном значении выдает ARRAY(), при выборе через "Выбрать станцию" работает, но недолго, пока не глюканет, через костыли ARRAY(). Короче, как я ни бился, а написать скрипт, который гарантировано доставал бы список пристыкованных кораблей к Храму гонеров так и не удалось. Глючная станция.
_________________
Пираты - наше всё!

Последний раз редактировалось: za4ot (22:41 15-12-2018), всего редактировалось 1 раз
    Добавлено: 22:39 15-12-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 4(60)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
Объясните кто то , как правильно в Х3 переносить текст со скриптов в текстовик и что бы текст отображался после переноса. А то ссылки не понятные везде, а поиск не работает по сайту, может кто расскажет или ссылку даст на почитать.

Пробовал подсмотреть по скриптам но что то у меня не срослось. Рыдания.
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 15:40 13-02-2020   
za4ot
 475 EGP


Рейтинг канала: 5(187)
Репутация: 15
Сообщения: 3237
Откуда: Яма Изобилия
Зарегистрирован: 08.08.2012
Изучаем раздел про текстовые файлы.

ScE.zip
 Описание:
Справочник Chem-а по скриптам.
 Имя файла:   ScE.zip
 Размер файла:  2.61 MB
 Скачано:  220 раз(а)

_________________
Пираты - наше всё!
    Добавлено: 17:11 13-02-2020   
DNA78
 420 EGP


Рейтинг канала: 9(1060)
Репутация: 70
Сообщения: 1180
Откуда: Кыргызстан
Зарегистрирован: 12.11.2008
alexalsp :
Объясните кто то , как правильно в Х3 переносить текст со скриптов в текстовик и что бы текст отображался после переноса.

Если честно, то я не понял суть вопроса. Что нужно конкретно сделать?
_________________
Очевидное-невероятное
    Добавлено: 18:34 13-02-2020   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 4(60)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
Конкретно взять со скрипта текст и кинуть в текстовик , как у тебя в литкубе.

Создал текстовик 10000-L007.xml (может в Х3 число имеет значение в отличие от ребеза и Х4)

В него накидал текста. при загрузке текст нет только идентификаторы.

Нужно ли вообще языковые файлы как то подключать или игра сама его подхватывает?

нужно ли в скрипте что либо прописывать что бы текст для конкретного скрипта брался из 10000 page id 1-2-3-4-5-6-7-8-9-10 к примеру.

Имеет ли значение $txt,$txt1,$txt2 или можно указать даже

Код:
$txt = read text: page=8007 id=6
append $txt to array $Values.WareGroup
$arg = read text: page=8007 id=7
$arg1 = read text: page=8007 id=8
$arg2 = read text: page=8007 id=9
$arg3 = read text: page=8007 id=10
$arg4 = read text: page=8007 id=11
$arg5 = read text: page=8007 id=12
$arg6 = read text: page=8007 id=13
$arg7 = read text: page=8007 id=14
$arg8 = read text: page=8007 id=15
$Values.WareGroupDisplay = create new array, arguments= $arg, $arg1, $arg2, $arg3, $arg4, $arg5, $arg6, $arg7, $arg8


таким макаром главное правильно страницу с идентификатором указать

Код:

$miska = read text: page=8007 id=6
append $miska to array $Values.WareGroup
$lenka = read text: page=8007 id=7
$maska = read text: page=8007 id=8
$vitek = read text: page=8007 id=9
$kofe = read text: page=8007 id=10
$ptichka = read text: page=8007 id=11
$trubadely = read text: page=8007 id=12
$trubadely1 = read text: page=8007 id=13
$trubadely2 = read text: page=8007 id=14
$trubadely3 = read text: page=8007 id=15
$Values.WareGroupDisplay = create new array, arguments= $lenka, $maska, $vitek, $kofe, $ptichka, $trubadely, $trubadely, $trubadely2, $trubadely3


Текстовик подключал setup.LUADDMODPACK.gametext.xml

Код:

$page.id = 1
load text: id=10000

return null


И вообще как лучше текст внутрях скрипта , если один язык или же в текстовики перекидывать ?

добавлено спустя 24 секунды:
za4ot :
Изучаем раздел про текстовые файлы.


Спасибо посмотрю.


Корче

Есть один новый текстовый файл , скажем 10000

В нем Page id для каждого скрипта откуда берется текст
скрипт 1 = page id 1
скрипт 2 = page id 2
скрипт 3 = page id 3
скрипт 4 = page id 4

как это все оформить?
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (21:22 13-02-2020), всего редактировалось 4 раз(а)
    Добавлено: 19:36 13-02-2020   
Канал X3: Terran Conflict -> Модовый и скриптовый отсек X3: Terran Conflict: «[ДИСКУС]: Скриптописание. Проблемы и их решение.»
На страницу: Пред.  1, 2, 3 ... 54, 55, 56 ... 59, 60, 61  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Блин. Иногда получается по клавиатуре попадать, а иногда такая ерунда выходит. (Romeo-must-die)

  » [ДИСКУС]: Скриптописание. Проблемы и их решение. | страница 55
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18