Отображение дистанции на дисплеях с помощью скрипта | Гайды по игре Space Engineers

  Рет қаралды 6,278

Bos_Den

Bos_Den

3 жыл бұрын

Короткий гайд о том, как выводить дистанцию до объектов на дисплеи с помощью скрипта.
Текст скрипта в первом комментарии.
#SpaceEngineers #КосмическиеИнженеры

Пікірлер: 25
@BosDen
@BosDen 3 жыл бұрын
//Текст скрипта. Просто скопируйте его ctrl-c, ctrl-v прямо в программный блок. //КОНФИГУРАЦИЯ double SCAN_DISTANCE = 1000; //Дальность сканирования камеры-дальномера string Camera_name = "Camera"; //Название камеры-дальномера string Panel_name = "Cockpit [LCD]"; //Название блока (панели или кокпита), куда выводятся данные int display_no = 0; //число от 0 до 5 - номер дисплея, на который будет выводится информация. Для LCD панелей - 0 //---------------------- float PITCH = 0; float YAW = 0; private IMyCameraBlock camera; private MyDetectedEntityInfo info; private StringBuilder info_strings = new StringBuilder(); private IMyTextSurface textSurface; public Program(){ // частота обновления информации: Update1 - раз в секунду, Update10 - раз в 10 сек и т.п. Runtime.UpdateFrequency = UpdateFrequency.Update1; List blocks = new List(); GridTerminalSystem.GetBlocks(blocks); camera = GridTerminalSystem.GetBlockWithName(Camera_name) as IMyCameraBlock; camera.EnableRaycast = true; //если используется панель, а не кокпит, закомментарить 2 строки ниже и раскомментарить 2 строки еще ниже IMyTerminalBlock cockpit = GridTerminalSystem.GetBlockWithName(Panel_name); textSurface = ((IMyTextSurfaceProvider)cockpit).GetSurface(display_no); //IMyTextPanel lcd = GridTerminalSystem.GetBlockWithName(Panel_name) as IMyTextPanel; //textSurface = ((IMyTextSurfaceProvider)lcd).GetSurface(display_no); textSurface.ContentType = VRage.Game.GUI.TextPanel.ContentType.TEXT_AND_IMAGE; } public void Main(string args){ if (camera.CanScan(SCAN_DISTANCE)) info = camera.Raycast(SCAN_DISTANCE, PITCH, YAW); info_strings.Clear(); if (info.HitPosition.HasValue) { double dist = Vector3D.Distance(camera.GetPosition(), info.HitPosition.Value); info_strings.Append("Дист: " + dist.ToString("0.00")+" "); info_strings.Append("Имя: " + info.Name + " "); info_strings.Append("Тип: " + info.Type + " "); // info_strings.Append("Скорость: " + info.Velocity.ToString("0.000") + " "); info_strings.Append("Принадлежность: " + info.Relationship + " "); info_strings.Append("Диапазон: " + camera.AvailableScanRange.ToString()); } textSurface.WriteText(info_strings.ToString()); } //конец скрипта
@user-nb1kp8qv3k
@user-nb1kp8qv3k 3 жыл бұрын
ооо...огромное ЧЕЛОВЕЧЕСКОЕ СПАСИБО! годнота! Надо попробовать...
@endemistremere7997
@endemistremere7997 Жыл бұрын
Прекрасный скрипт, есть возможность добавить строчку не со скоростью, а с координатами объекта. info_strings.Append("Скорость: " + info.Velocity.ToString("0.000") + " "); Заменяем Velocity на Position
@Moonz142
@Moonz142 3 жыл бұрын
Жалко что мало подписчиков, канал то не плох, и голос приятный и изложение хорошее
@cast_iron_paper
@cast_iron_paper 3 ай бұрын
Спасибо , я именно его и искал
@myCorpsy
@myCorpsy 3 жыл бұрын
Краткость - Мать лаконичности и Сестра таланта! только тихо ))
@raenkontrin6906
@raenkontrin6906 3 жыл бұрын
Класный скриптик, ничего лишнего. Настройка простая, а то я так и не разобрался с Blarg's Fancy Ruler.
@user-hp1cx9je8v
@user-hp1cx9je8v 3 жыл бұрын
Нужная вещь. Спасибо!!!
@alexkrat5562
@alexkrat5562 3 жыл бұрын
Спасибо за скрипт. Удачи в развитии
@user-xl6zn9od9x
@user-xl6zn9od9x Жыл бұрын
огонь, блавгодарю
@dmitriipolosminnikov4113
@dmitriipolosminnikov4113 3 жыл бұрын
Крутой скрипт с точки зрения использования.
@LanGeDoks
@LanGeDoks 2 жыл бұрын
UpdateFrequency.Update1 - это количество тиков программы между обновлениями. К слову программа (то бишь космические инженеры) выполняется 60 раз в секунду. Соответственно Update1 будет означать выполнение скрипта 60 раз в секунду. А, допустим, Update100 будет означать выполнение примерно раз в полторы секунды.
@BosDen
@BosDen 2 жыл бұрын
Спасибо!
@user-wt2gm3vg3u
@user-wt2gm3vg3u 3 жыл бұрын
мне всегда было интересно, какой самый тяжёлый предмет, руда или материал в игре?
@BosDen
@BosDen 3 жыл бұрын
Сравнивая железную руду, слитки и стальные пластины - пластины тяжелее всего.
@elst28
@elst28 3 жыл бұрын
Здравствуйте товарищ , можно вопрос ? Как вы увеличили макс скорость до 500м.с , сколько играл всегда было токо 100м.с заранее спасибо
@BosDen
@BosDen 3 жыл бұрын
Это мод, так и называется: Speedmod over 500
@antoniogansales
@antoniogansales Жыл бұрын
А что делать если у меня нет кнопки chek code? У меня только кнопка OK
@user-zp5jc4do1w
@user-zp5jc4do1w 3 жыл бұрын
очень хорошие видео все быстро и понятно, только у меня не работает помогите пожалуйста.
@BosDen
@BosDen 3 жыл бұрын
А что не работает?
@AlexGorlitsa
@AlexGorlitsa 3 жыл бұрын
А вместо камеры возможно применить турель?
@BosDen
@BosDen 3 жыл бұрын
Не знаю. Надо будет поэкспериментировать, вдруг что выйдет.
@AlexGorlitsa
@AlexGorlitsa 3 жыл бұрын
Спасибо
@shinobukoiomi2545
@shinobukoiomi2545 Жыл бұрын
а почему ты его просто сразу в воркшоп не вкинешь ?
@BosDen
@BosDen Жыл бұрын
смысл? вся суть в коде, который в закрепленном комментарии))
Vivaan  Tanya once again pranked Papa 🤣😇🤣
00:10
seema lamba
Рет қаралды 33 МЛН
Space Engineers for beginners guide 2023
48:03
SOLEX D
Рет қаралды 112 М.
Крутилочный апофеоз. Space engineers.
43:08
Space Engineers Скрипты
21:52
CoVID
Рет қаралды 19 М.
Вор неудачник ( Just Another Night Shift )
18:59