Стоит задача, выводить оперативную информацию на экран, в виде таблицы. Есть ли какие то способы это реализовать?

Вывод информации в таблице.

Лучший Ответ Sledo , 29 April 2015 - 14:04
По поводу таблиц: теоретически их можно и без GUI вывести (бонально в hint), но выглядеть это будет криво.
Арма же поддерживает структурированный текст. Нужен лишь двухмерный массив и цикл, который пройдется по нему и выведет текст с уже вставленными операторами куда надо
https://community.bi...Structured_Text
Приятно общаться с грамотным человеком.
Перейти к сообщению
#1
OFFLINE
Отправлено 28 April 2015 - 15:59
#2
OFFLINE
Отправлено 28 April 2015 - 18:44
Да, написать графический интерфейс для этого (GUI).
Сообщение отредактировал SteelRat: 28 April 2015 - 18:44
#3
OFFLINE
Отправлено 28 April 2015 - 22:57
Да, написать графический интерфейс для этого (GUI).
Ясно. Еще тогда вопрос, мне нужно вызвать скрипт первым для инициализации переменных. Насколько я понял первым загружается скрипт init и уже в нем можно вызывать нужные скрипты. Однако, у меня вызывается мой скрипт после этих скриптов, которые "вызываются" строчкми
call compile preprocessFile "scripts\=BTC=_revive\=BTC=_revive_init.sqf"; call compile preprocessFile "scripts\=BTC=_TK_punishment\=BTC=_tk_init.sqf";
Как мне вызывать свой скрипт, до этих скриптов?
#4
OFFLINE
Отправлено 28 April 2015 - 23:58
call compile preprocessFile "scripts\Имя_вашего_скрипта.sqf"; call compile preprocessFile "scripts\=BTC=_revive\=BTC=_revive_init.sqf"; call compile preprocessFile "scripts\=BTC=_TK_punishment\=BTC=_tk_init.sqf";
Это же логично! Если надо ДО, то и вызвать надо перед ними.
#5
OFFLINE
Отправлено 29 April 2015 - 00:48
call compile preprocessFile "scripts\Имя_вашего_скрипта.sqf"; call compile preprocessFile "scripts\=BTC=_revive\=BTC=_revive_init.sqf"; call compile preprocessFile "scripts\=BTC=_TK_punishment\=BTC=_tk_init.sqf";Это же логично! Если надо ДО, то и вызвать надо перед ними.
Ага, это ясно, у меня есть некоторый опыт написания программ. Но вот только он не вызывается строчкой call compile preprocessFile, а только [] execVM, и почему то только после =BTC=_revive_init.sqf и =BTC=_tk_init.sqf". Вопрос - почему?
#6
OFFLINE
Отправлено 29 April 2015 - 01:29
потому что руки кривые...
call compile preprocessFile
самый быстрый способ запуска скрипта.
Если не вызывается ваш скрипт, значит он не может работать в "главной среде", и для этого нужно создать "параллельную среду обитания", что и делает [] execVM или spawn.
Сообщение отредактировал Dimon UA: 29 April 2015 - 01:33
#7
OFFLINE
Отправлено 29 April 2015 - 01:31
потому что руки кривые...
call compile preprocessFileсамый быстрый способ запуска скрипта.
Чудненько. Не дадите ПРУФ почитать?
#8
OFFLINE
Отправлено 29 April 2015 - 01:34
потому что руки кривые...
call compile preprocessFileсамый быстрый способ запуска скрипта.
Чудненько. Не дадите ПРУФ почитать?
Мне за тебя набрать в гугле команды и посмотреть что они делают?
Сообщение отредактировал Dimon UA: 29 April 2015 - 01:36
#9
OFFLINE
Отправлено 29 April 2015 - 02:23
Для начала обязательно это
http://arma3.ru/foru...kriptopisaniiu/
а по ссылке выше остальные полезности.
Ваша проблема в том, что ваш скрипт, как пить дать, прокручивает в себе цикл, вполне вероятно безконечный, а это значит, если вы вызываете этот скрипт методом
call
всё остальное ниже ни когда не дождётся своей очереди на исполнение, пока не завершит свою работу ваш скрипт, или не ваш, что по сути не важно.
#10
OFFLINE
Отправлено 29 April 2015 - 02:48
Мне за тебя набрать в гугле команды и посмотреть что они делают?
Вы удивительно не воспитанный человек, постите пустую информацию и бросаете тень на весь форум в целом. Странно что админы вас тут терпят.
Я, как это для вас ни странно, перед тем как задать тут вопрос, посмотрел справку и видел что preprocessFile загружает файл в препроцессор. Но вот с чего вы взяли он быстрее? У меня вот не загружается файл, следовательно в моем случае, это не то что не быстрее, это вообще не работает (хотя нет. Вы как то писали с подтекстом - "ну у меня же работает!"). Возможно, я что то делаю не так, поскольку не знаю. И конечно, что бы восполнить свои пробелы в знании, я, (о боги!!111) спрашиваю об этом на форуме, в разделе "Вопросы написания скриптов" и своим незнанием надоедаю Вам, который уже просто окончательно устал от таких как я.
Что же, я выражаю вам глубочайшее сожаление и если вы будете так благосклонны, и не сочтете за труд попросить меня вам помочь, то я любезно дам вам номер телефона, хорошего психолога, который поможет вам, избавиться от моральной усталости, тяжелого, умственного труда ответов на форуме, что я уверен, пойдет только всем на пользу.
Для начала обязательно это
http://arma3.ru/foru...kriptopisaniiu/
а по ссылке выше остальные полезности.
Ваша проблема в том, что ваш скрипт, как пить дать, прокручивает в себе цикл, вполне вероятно безконечный, а это значит, если вы вызываете этот скрипт методом
callвсё остальное ниже ни когда не дождётся своей очереди на исполнение, пока не завершит свою работу ваш скрипт, или не ваш, что по сути не важно.
Именно то, что нужно. Спс. У меня действительно в нем сидит покадровый цикл. Тем не менее, как раз таки то что ниже запускается. Хотя, надо потестить.
Значит если я правильно понял, то препроцессор тут как раз и используется для инициализации переменных? К сожалению в ссылке на уроки, я не нашел подробной информации о препроцессоре в Арме. Может вы мне дадите ссылку на хороший пруф?
#12
OFFLINE
Отправлено 29 April 2015 - 08:08
Арма же поддерживает структурированный текст. Нужен лишь двухмерный массив и цикл, который пройдется по нему и выведет текст с уже вставленными операторами куда надо
Сообщение отредактировал vlad333000: 29 April 2015 - 08:09
#13
OFFLINE
Отправлено 29 April 2015 - 14:04 Лучший Ответ
По поводу таблиц: теоретически их можно и без GUI вывести (бонально в hint), но выглядеть это будет криво.
Арма же поддерживает структурированный текст. Нужен лишь двухмерный массив и цикл, который пройдется по нему и выведет текст с уже вставленными операторами куда надо
Приятно общаться с грамотным человеком.
#14
OFFLINE
Отправлено 29 April 2015 - 19:40
Значит если я правильно понял, то препроцессор тут как раз и используется для инициализации переменных? К сожалению в ссылке на уроки, я не нашел подробной информации о препроцессоре в Арме. Может вы мне дадите ссылку на хороший пруф?
Нет, вы не правильно поняли, но это не проблема, а вопрос времени, и практики
Большой разницы нет, как вызвать ваш скрипт
Через препроцессор или с помощью метода execVM, с разницей, execVM инициализирует исполнение кода находящегося в файле в отдельном процессе, то есть, код следующий за вызовом execVM начнёт исполнятся не зависимо от того завершил ли исполнение код вызванный методом execVM.
С помощью
preprocessFile
а лучше с помощью этого
_string = preprocessFileLineNumbers "myFunction.sqf"
Вы можете сделать тоже самое, отспавнить код, иногда выражаются так
_handler = _args spawn compile preprocessFileLineNumbers "myCode.sqf";
Этот файл с кодом может содержать в себе всё что угодно, определение глобальных переменных, просто любой исполняемый код, определение функций нескольких или одной, не важно
ptm_fnc_myFunction = call compile preprocessFileLineNumbers "fn_myFunction.sqf";
Если вы вызываете что то на исполнение методом
call
То всё что следует за таким вызовом будет ожидать завершения исполнения вызванного кода.
Сообщение отредактировал SteelRat: 29 April 2015 - 19:40
#15
OFFLINE
Отправлено 30 April 2015 - 03:45
Большой разницы нет, как вызвать ваш скрипт
Через препроцессор или с помощью метода execVM
Насколько я понял, команда execVM компилирует файл. Команда же preprocessFile, загружает файл в препроцессор, который читает файл и обычно, подготавливает файл к компиляции, что конечно быстрее чем полноценная компиляция, но накладывает некоторые ограничения на исполняемый файл.
Просто как конкретно все устроено в Арме, несколько не ясно. Из тестов получается, что происходит именно так как я описал - т.е. файлы загружаются в препроцессор, затем компилируются. То что компилировать не нужно, начинает работать раньше чем то, что нужно еще компилировать, что вполне логично и нужные мне переменные инициализируются раньше всех. Правда, почему то они не проходят в условии if, на проверну isNil, при том что в окно результат выводится корректно.
Спс за проведенный ликбез по функциям, надо бы это все обмозговать.
Сообщение отредактировал Sledo: 30 April 2015 - 03:46
#16
OFFLINE
Отправлено 30 April 2015 - 05:08
Насколько я понял, команда execVM компилирует файл.
Эта команда без лишних заморочек исполняет код из файла в отдельном процессе. Это скрипт, а не язык программирования, и здесь будет не совсем так как вы привыкли, вероятно.
Что быстрее? То что хорошо оптимизированно!
Не проходит проверка на isNil? Значит не корректно проводите проверку.