Silver, гайд то есть. Просто разработчик достаточно часто основные вещи перепиливает. Гайд который я делал - это дословный перевод был с моими комментариями. Там уж больно всё официально, и усвоить если человеку его трудно, особенно если он сомневается надо ему это или нет. На самом деле там возможностей тьма, в т.ч. с модами, можно работать, т.к. действия деталей из модов, можно забить на Экшн группы, а с Экшн группами в кОС работать удобно и просто.
Я это к чему -> думаю создать пару гайдов, простых и понятных(Либо в текстовом формате либо в видео).
- На базовые вещи (Общий синтаксис) условияциклы
- Ступениконтроль тягойинфоэкраны
- Контроль ориентации (самое трудно в kOS как по мне) т.к. есть разные методы, через разную ориентацию. Тогда еще по курсу была ориентация типо для самолётов и спейспланов которая работала через пень колоду - плохо Roll ось держала, постоянно самолет летел под 15-20 градусов скошенный в ту или иную сторону. Возможно пофиксили
- Ноды, варпы, Экшн группы, и еще пара фич.
Собственно если такие гайды составить больше и не надо ничего будет. В старом гайде есть отдел справочник - с командами, только в него если только за некоторыми вещамифункциями нужными заглядывать и всё. После таких гайдов всё что хочешь можно будет написать. Язык лишь кажется трудным, на самом деле достаточно простой.
Я всё это к тому что программа для поднятия ракеты на орбиту, достаточно невостребована, т.к. много факторов есть со ступенями, навесными баками и т.п. Проще самому пару минут потратить и вывести(если конечно универсальное что-то пытаться писать, а не для конкретного случая), а вот со спейспланами всё совсем по-другому обстоит. Ибо ступеней нет, за интейками вообще можно очень капитально следить, и космолёт выводить достаточно времязатратный процесс. К тому же программы типо тестов самолётов интересная вещь. На кОС можно хоть авионику написать, которая будет помогать на самолёте летать, автоматически садиться и т.д. (не говоря уже про курс или скорость держать)
Самая большая проблема раньше была, что программы большие приходилось делать составными, т.к. у каждой было ограничение в n символов. Из-за чего из одной программы приходилось запускать другую, а из другой обратно первую, и т.д. Потом всё решилось тем, что возможность редактировать программу в игре вообще вывели к кракенам собачим, и вся программа составлялась в блокнотике в виндусе:)
Вообщем, надо заняться, надеюсь сейчас это хоть кого-нибудь заинтересует.
Ну ладно, хотя поглядеть на сею вундервафлю из скриптов я бы хотел.
У меня на облаке до сих пор лежит программа автоматического ровера, правда не допиленого. Идея была следующая -> создать скрипт и под него дюнный ровер, который работал бы автономно без вмешательства человека. Т.е. он колесит по марсу, объезжает горы, каждые n минут записыват время, координаты gps, показания датчиков (давлениетемпература и т.д.) выгружает эту информацию в тхт файл в винде делает снимок с помощью одного мода. Так же такие репорты делает не через определенное количество времени, а при необычных ситуациях типо слишком крутая горы, слишком сильный спуск, слишком ровная равнина:) и т.п. К тому же еще останавливается на ночь и включает варп. Смысл в этом следующий собственно для чего всё это. Представьте, ты берешь сажаешь такой ровер на дюну -> запускаешь стрим, и уходишь куда хочешь. Кто хочет смотрет, кто хочет нет, а ровер потихоньку колесит по марсу, делает пометки, меняет маршрут и т.д. А люди в реальном времени на это смотрят. Я хотел постримить так 20-40 часов нонстоп, без комментариев без всего. Музыку еще фоном разве что пустить. Этот проект зашел достаточно далеко, но код выдавал некоторые артефакты, а позже я еще и в объезде гор пару ошибок нашел, а переписывать или редактировать код -> значит заного отсылать его с кербина, ибо он контачит с архивом напрямую только там (а иначе никак извлечь написаный в винде код нельзя) вот потихоньку и забил, но тема вполне интересная и актуальная, и возможно ей и займусь. Если кого прям заинтересовал что там было то под спойлером выложу бекап того кода, не помню только бекап какой стадии, легче написать заного чем в нем разобраться:)
ON ABORT {print "Programm have been aborted in 5 sec". wait 5. Unlock all. {BRAKE}.}.
set buf to 0. set WT to 0. set BR to 0. set Ni to 0. Set CH to 0. set MaxAlt to 0. set TimeToReport To 600. set CHA to 0. Set CHB to 0. SET LR TO 30.
print "Begining research programm".
wait 5.
Until 0 {clearscreen.
Print "Session Time is: " round(SessionTime/60,2) " Minutes".
Print "To next scaner node " round(500 - Buf,1) " meters".
Print "Distance Achived: " round(DisAchiv/1000,3) " km".
Print "WheelThrottle is: " round(WT*100,1) "%".
Print "Time to next report: " TimeToReport " seconds".
Print "Reports in Log: " CH.
if Buf>500 {AG1 ON. print "Scaner have been activated". set Buf to 0.}.
If TimeToReport = 0 { Set TimeToReport to 600. SET CH TO CH 1. LOG CH "." round(sessionTime/60,2) " minutes." " Standart report:" TO AutoRoverLog. Log "Altitude is: " round(altitude,1) " meters. Max Achived Altitude is: " round(MaxAlt,1) " meters." to Autoroverlog. Log "Distance achived" round(DisAchiv/1000,3) " km." " Surface speed is:" surfacespeed to autoroverlog. Log "Facing is:" FACING " Lat/Lng is:" LATLNG to Autoroverlog. Log "=====" to autoroverlog.}.
set DisAchiv to DisAchiv surfacespeed.
set Buf to Buf surfacespeed.
if altitude>MaxAlt {set MaxAlt to Altitude.}.
Set DirVec to FACING. Set DirVec to DirVec r(0,0,270).
Lock WheelThrottle to WT.
if Surfacespeed > 15 {Set WT to WT - 0.10.}.
if Surfacespeed < 15 {Set WT to WT 0.10.}.
if WT >1 {set WT to 1.}. If WT <-1 {set WT to -1.}.
if Surfacespeed < 25 and Ni = 0 {SET BR to 0.}.
if Surfacespeed > 25 {Set BR to 1. Set CH To CH 1. LOG CH "." round(SessionTime/60,2) " Minutes" " STRESS SPEED:" round(surfacespeed,1) to AutoRoverLog. Log "=====" to autoroverlog.}.
ON BRAKES PRINT "Brakes toogled".
if DirVec:Z > 330 or DirVec:Z < 210 { Lock steering to FACING r(0,0,270). SET Ch to CH 1. Log ch "." round(sessionTime/60,2) " minutes. Rover has been TURNED ON!!!" to Autoroverlog.}.
If surfacespeed < 4 {set CHA to CHA 1.}.
If surfacespeed > 4 {set CHA to 0.}.
if CHA > 5 { Lock wheelthrottle to 0. print "Dangerous situation, programm will be continued in 1 minute". SET Ch to CH 1. Log ch "." round(sessionTime/60,2) " minutes. Low speed iniciate. Programm freeze during 1 min" to Autoroverlog. Log "=====" to autoroverlog. wait 55. Set DirVec to FACING. Set DirVec to DirVec r(0,0,270).
Lock steering to DirVec r(LR,0,0). set CHA TO 0. Lock throttle to 1. wait 5. Unlock steering. Set LR to -LR.}.
wait 1.
AG1 OFF.
if BR = 1 {Brakes ON.}.
if BR = 0 {Brakes OFF.}.
Set TimeToReport to TimeToReport - 1.
}
Летать и строить. Строить и летать.