{ # ... Начало на скрипта #******************************************************************************** # * # START.CEL - Стартиращ скрипт за Celestia * # (версия 2.1) * # * #-------------------------------------------------------------------------------* # * # Този скрипт се стартира автоматично всеки път, когато стартирате Celestia. * # * # ЗАБЕЛЕЖКА: Не премахвайте вълнообразните скоби в началото и в края на този * # файл. Те дефинират този файл като CEL скрипт. * # * # Можете да модифицирате този скрипт по много начини за вашите лични нужди. * # Просто разкоментирайте един или повече реда от долните както е отбелязано. * # Към всеки ред или секция код има пояснение какво прави. За да разкоментирате * # ред с код, просто изтрийте символа "#" в началото на реда. * # * # Ако решите да модифицирате този скрипт, моля копирайте резервно копие на * # друго място ПРЕДИ да започнете с модификацията. * # * #******************************************************************************** preloadtex { object "Sol/Earth" } preloadtex { object "Sol/Earth/Moon" } select {object "Sol"} goto {time 3.0 distance 30} wait {duration 3.0} select {object "Sol/Earth"} follow {} goto {time 3.0 distance 6.0} wait {duration 2.0} print {text "Добре дошли в Celestia!" row -3 column 1 duration 3} wait {duration 3.0} #******************************************************************************** # Горните редове код са целия скрипт start.cel. Следва описание на * # значението на всеки ред код. Най-напред отиваме на Sol, за да може като * # отидем на Земята, да виждаме осветената ѝ страна без значение от * # локалното Ви време... * # * # preloadtex: Казва на Celestia да зареди текстурите на зададения обект. * # В противен случай Celestia ще зареди текстурите, когато * # обектът се появи, което ще бъде забелязано като леко * # забавяне. * # * # select: Казва на Celestia като какъв обект (планета, луна, * # космически апарат и т.н.) да дефинира текущия обект. Sol * # дефинира нашата Слънчева система. Символът "/" е само * # йерархичен разделител, Earth е обектът, който искаме да * # изберем. Ако искате да изберете Луната, командата трябва да * # изглежда така: select {object "Sol/Earth/Moon"} * # * # goto: Казва на Celestia да отиде до избрания в момента обект, * # както натискане на бутона "G" на клавиатурата. * # Параметърът time указва за колко секунди да се достигне до * # обекта. Параметърът distance указва на каква позиция от * # избрания обект да се стигне в единици, съответстващи на * # радиуса на обекта плюс 1. Например, ако радиуса на обекта * # е 10 000 км., и зададете 6.0 за distance, ще бъдете * # позиционирани на 50 000 км. от центъра на обекта. * # * # wait: След като командата goto каже на Celestia да направи нещо * # за определено време, трябва да дадем на Celestia също * # толкова време, за да го НАПРАВИ. Когато отиваме до Sol, * # командата wait казва на Celestia да изчака 3 секунди, * # докато goto командата бъде изпълнена (за 3 секунди). * # Двата параметъра обикновено са еднакви, но понякога има * # изключения. * # * # Когато отиваме до Earth, wait командата след goto изчаква * # само 2 секунди. Следва print командата, която показва * # текст на екрана и следва друга wait команда, която * # чака 3 секунди. Всичко е въпрос на време. goto командата * # ни позволява да покажем текст на екрана, ДОКАТО * # действието се извършва. Трябва само да се убедим, че сбора * # на стойностите на всички wait команди след goto е по-голям * # или равен на стойността на goto командата. * # * # follow: Казва на Celestia да следва избрания обект при движеието му * # в пространството. Това е същото, като натискането на бутона * # "F" на клавиатурата. Можете да замените follow {} командата * # със synchronous {} командата, която позволява да останете в * # стационарна или геосинхронна орбита над обекта. * # * # print: Казва на Celestia да покаже (отпечата) даден текст на * # екрана. text параметърът дефинира текста, който ще бъде * # показан. row параметърт дефинира на колко реда от долния * # край на екрана да започне отпечатването. column параметърът * # дефинира на колко колони от лявата страна на екрана да * # започне отпечатването. duration параметърът дефинира колко * # време да остане на екрана отпечатаният текст. * #******************************************************************************** #******************************************************************************** # Ако искате да бъдете позиционирани над Вашето специфично местоположение на * # Земята, използвайте gotolonglat както е показано. Стъпка по стъпка... * # * # * Копирайте целия ред код. * # * # * Вмъкнете го под "goto" командата. * # * # * Премахнете "#" знака в началото на реда. Това разкоментира реда и кода ще * # бъде изпълнен. * # * # * Дoбавете знака "#" в началото на реда с "goto" командата. Това превръща * # този ред код в коментар и той НЯМА да бъде изпълнен. * # * # * Заменете longitude и latitude стойностите с Вашата географска дължина и * # ширина. * # * # * След като отидете на специфично място на Земята, там може да не е ден в * # момента. За това може да коментирате следните редове код, като поставите * # символа "#" в началото на всеки ред: * # select {object "Sol"} * # goto {time 3.0 distance 30} * # wait {duration 3.0} * # Ако искате да отидете на избраното място през деня, използвайте командата * # time, до която ще стигнем след малко. * # ******************************************************************************* # gotolonglat {time 5.0 distance 4.0 longitude 0.0 latitude 0.0} #******************************************************************************** # Ако искате Celestia винаги да стартира с определена дата и час, използвайте * # командата time, както е описано по-долу. * # * # ВНИМАНИЕ: Стартирането на Celestia с предварително дефинирано време/дата * # изисква физическо натискане на знака "!" (удивителен знак) за * # да зададете сегашното време, когато искате да изследвате нещо, * # АКО въобще времето е от значение. * # * # Стъпка по стъпка... * # * # * Определете дали искате да дефинирате датата по UTC * # време/дата или по Юлиански ден (вижте по-долу). * # * # * Копирайте реда код с командата time, която искате да използвате. * # * # * Вмъкнете я над "goto" командата (началото на файла). * # * # * Премахнете знака "#" от началото на реда. Това разкоментира този ред код, * # така, че той ще бъде изпълнен. * # * # * Променете стойността на date/time с датата и часа, които ВИЕ желаете. * #******************************************************************************** # Задава времето по UTC date/time низ... # time { utc "2003-08-11T09:29:24.0000" } # YYYY-MM-DDTHH:MM:SS.SSSS # Забележете, че "T" .........^ ... (е необходимо) # Задава времето по Юлиански ден... # time { jd JulianDate } # U.S. Navy Calendar Date/Time to Julian Date/Time converter: # http://aa.usno.navy.mil/data/docs/JulianDate.html #******************************************************************************** # По-долу изброените команди Ви позволяват да дефинирате някои от опциите * # на Celestia, които ще бъдат активирани всеки път, когато я стартирате. * # Променете ги, ако желаете. * #******************************************************************************** # Зрително поле (разкоментирайте/модифицирайте според желанието Ви) # По подразбиране е 25 градуса при резолюция 1024 х 768 # set {name "FOV" value 25.0} # Фонова осветеност (разкоментирайте/модифицирайте според желанието Ви) # 0.0 to 0.5 е добър спектър # set {name "AmbientLightLevel" value 0.1} # Звездна величина на най-слабата видима звезда (яркост) # (разкоментирайте/модифицирайте според желанието Ви) # Celestia UI: 0.8 to 15.2, по подразбиране 6.0 # # setvisibilitylimit {magnitude 6.0} # Най-слаба автоматична звездна яркост при 45 градуса, по подразбиране е 8.5 # (разкоментирайте/модифицирайте според желанието Ви) # setfaintestautomag45deg {magnitude 8.5} # Обекти, които ще бъдат показани (рендерирани): # НЕ рендерира следните обекти (разкоментирайте/модифицирайте според желанието Ви) # renderflags {clear "atmospheres"} # renderflags {clear "automag"} # renderflags {clear "boundaries"} # renderflags {clear "cloudmaps"} # renderflags {clear "comettails"} # renderflags {clear "constellations"} # renderflags {clear "eclipseshadows"} # renderflags {clear "galaxies"} # renderflags {clear "grid"} # renderflags {clear "markers"} # renderflags {clear "nightmaps"} # renderflags {clear "orbits"} # renderflags {clear "planets"} # renderflags {clear "pointstars"} # renderflags {clear "ringshadows"} # renderflags {clear "stars"} # renderflags {clear "partialtrajectories"} # Обекти, които ще бъдат показани (рендерирани): # Рендерира следните обекти (разкоментирайте/модифицирайте според желанието Ви) # renderflags {set "atmospheres"} # renderflags {set "automag"} # renderflags {set "boundaries"} # renderflags {set "cloudmaps"} # renderflags {set "comettails"} # renderflags {set "constellations"} # renderflags {set "eclipseshadows"} # renderflags {set "galaxies"} # renderflags {set "grid"} # renderflags {set "markers"} # renderflags {set "nightmaps"} # renderflags {set "orbits"} # renderflags {set "planets"} # renderflags {set "pointstars"} # renderflags {set "ringshadows"} # renderflags {set "stars"} # renderflags {set "partialtrajectories"} # Текстови надписи: # НЕ слага надписи на следните обекти (разкоментирайте/модифицирайте според желанието Ви)... # labels {clear "asteroids"} # labels {clear "constellations"} # labels {clear "galaxies"} # labels {clear "moons"} # labels {clear "planets"} # labels {clear "spacecraft"} # labels {clear "stars"} # Текстови надписи: # Слага надписи на следните обекти (разкоментирайте/модифицирайте според желанието Ви)... # labels {set "asteroids"} # labels {set "constellations"} # labels {set "galaxies"} # labels {set "moons"} # labels {set "planets"} # labels {set "spacecraft"} # labels {set "stars"} # Контрол на маркирането: # Размаркира обекти, които са маркирани и не ги показва маркирани # (разкоментирайте/модифицирайте според желанието Ви) # unmarkall { } # Минимален диаметър на орбитата, който ще бъде рендериран (в пиксели...) # (разкоментирайте/модифицирайте според желанието Ви) # set {name "MinOrbitSize" value 1.0} # Разстояние до най-далечната показана звезда. По подразбиране е 1 000 000... # (разкоментирайте/модифицирайте според желанието Ви) # set {name "StarDistanceLimit" value 1000000} # Времева ставка (1 път, 100 пъти, 1 000 пъти и т.н.)... # (разкоментирайте/модифицирайте според желанието Ви) # Отрицателно число = Обръща времето # 0 = На пауза # 1.0 = Реално време (по подразбиране) # 1000.0 = Осигурява добро движение на Луната # # timerate {rate 1.0} #******************************************************************************** # Ако използвате големи текстури, може да настроите Celestia да ги зарежда * # предварително в паметта на графичната карта, като ги изброите по-долу. * #******************************************************************************** # Примери... # preloadtex {object "earth.*"} # preloadtex {object "earth.png"} #******************************************************************************** # orbit е забавна команда, с която можете да си поиграете. Оста е зададена във * # формат [X Y Z] и всяка ос може да бъде 0 или 1. rate е скоростта, duration е * # времето в секунди. Просто се убедете, че сте избрали обект. * #******************************************************************************** # orbit {axis [0 1 0] rate 10.0 duration 7.0} #**************************************************************************** # За да научите повече неща за скриптирането в Celestia, посетете: * # * # * Форума на Celestia: (http://www.shatters.net/forum/viewforum.php?f=9) * # * Страницата на Don G: (http://www.donandcarla.com/Celestia/) * # * Страницата на Harald: (http://www.h-schmidt.net/celestia/) * # * # Страницата на Don G включва упътване за CEL скриптиране. * # Страницата на Harald включва упътване за CELX (Lua) скриптиране. * # И двете включват примери и други екстри. * #**************************************************************************** # Край на скрипта... }