2008-12-17 08:02:35 -07:00
|
|
|
|
{
|
|
|
|
|
# ... Начало на скрипта
|
|
|
|
|
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
# *
|
|
|
|
|
# START.CEL - Стартиращ скрипт за Селестия *
|
|
|
|
|
# (версия 2.1) *
|
|
|
|
|
# *
|
|
|
|
|
#-------------------------------------------------------------------------------*
|
|
|
|
|
# *
|
|
|
|
|
# Този скрипт се стартира автоматично всеки път, когато стартирате Селестия. *
|
|
|
|
|
# *
|
|
|
|
|
# ЗАБЕЛЕЖКА: Не премахвайте вълнообразните скоби в началото и в края на този *
|
|
|
|
|
# файл. Те дефинират този файл като CEL скрипт. *
|
|
|
|
|
# *
|
|
|
|
|
# Можете да модифицирате този скрипт по много начини за вашите лични нужди. *
|
|
|
|
|
# Просто разкоментирайте един или повече реда от долните както е отбелязано. *
|
|
|
|
|
# Към всеки ред или секция код има пояснение какво прави. За да разкоментирате *
|
|
|
|
|
# ред с код, просто изтрийте символа "#" в началото на реда. *
|
|
|
|
|
# *
|
|
|
|
|
# Ако решите да модифицирате този скрипт, моля копирайте резервно копие на *
|
|
|
|
|
# друго място ПРЕДИ да започнете с модификацията. *
|
|
|
|
|
# *
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
|
2019-10-08 14:54:36 -06:00
|
|
|
|
overlay {
|
|
|
|
|
duration 5.0
|
|
|
|
|
fadeafter 4.0
|
|
|
|
|
colortop "#9999ff"
|
|
|
|
|
colorbottom "#ccccff"
|
|
|
|
|
filename "logo.png"
|
|
|
|
|
}
|
|
|
|
|
|
2008-12-17 08:02:35 -07:00
|
|
|
|
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 "Добре дошли в Селестия!" row -3 column 1 duration 3}
|
|
|
|
|
wait {duration 3.0}
|
|
|
|
|
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
# Горните редове код са целия скрипт start.cel. Следва описание на *
|
|
|
|
|
# значението на всеки ред код. Най-напред отиваме на Sol, за да може като *
|
|
|
|
|
# отидем на Земята, да гледаме осветената й страна без значение от *
|
|
|
|
|
# локалното Ви време... *
|
|
|
|
|
# *
|
|
|
|
|
# preloadtex: Казва на Селестия да зареди текстурите на зададения обект. *
|
|
|
|
|
# В противен случай Селестия ще зареди текстурите, когато *
|
|
|
|
|
# обектът се появи, което ще бъде забелязано като леко *
|
|
|
|
|
# забавяне. *
|
|
|
|
|
# *
|
|
|
|
|
# select: Казва на Селестия като какъв обект (планета, луна, *
|
|
|
|
|
# космически апарат и т.н.) да дефинира текущия обект. Sol *
|
|
|
|
|
# дефинира нашата Слънчева система. Символът "/" е само *
|
|
|
|
|
# иерархичен разделител, Earth е оектът, който искаме да *
|
|
|
|
|
# изберем. Ако искате да изберете Луната, командата трябва да *
|
|
|
|
|
# изглежда така: select {object "Sol/Earth/Moon"} *
|
|
|
|
|
# *
|
|
|
|
|
# goto: Казва на Селестия да отиде до избрания в момента обект *
|
|
|
|
|
# също, както натискане на бутона "G" на клавиатурата. *
|
|
|
|
|
# Параметърът time указва за колко секунди да се достигне до *
|
|
|
|
|
# обекта. Параметърът distance указва на какво позиция от *
|
|
|
|
|
# избрания обект да се стигне в единици, сответстващи на *
|
|
|
|
|
# радиуса на обекта плюс 1. Например, ако радиусът на обекта *
|
|
|
|
|
# е 10000 км, и зададете 6.0 за distance, ще бъдете *
|
|
|
|
|
# позиционирани на 50000 от центъра на обекта. *
|
|
|
|
|
# *
|
|
|
|
|
# wait: След като командата goto казва на Селестия да направи нещо *
|
|
|
|
|
# за определено време, трябва да дадем на Селестия също *
|
|
|
|
|
# толкова време, за да го НАПРАВИ. Когато отиваме до Sol, *
|
|
|
|
|
# командата wait казва на Селестия да изчака 3 секунди, *
|
|
|
|
|
# докато goto командата бива изпълнявана (за 3 секунди). *
|
|
|
|
|
# Двата параметъра обикновено са еднакви, но понякога има *
|
|
|
|
|
# изключения (grin). *
|
|
|
|
|
# *
|
|
|
|
|
# Когато отиваме до Earth, wait командата след goto изчаква *
|
|
|
|
|
# само 2 секунди. Следва print командата, която показва *
|
|
|
|
|
# нкакъв текст на екрана и следва друга wait команда, която *
|
|
|
|
|
# чака 3 секунди. Всичко е въпрос на време. goto командата *
|
|
|
|
|
# ни позволява да покажем някакъв текст на екрана, ДОКАТО *
|
|
|
|
|
# действието се извършва. Трябва само да се обедим, че сбора *
|
|
|
|
|
# на стойностите на всички wait команди след goto е равен *
|
|
|
|
|
# или по-голям от стойността на goto командата. *
|
|
|
|
|
# *
|
|
|
|
|
# follow: Казва на Селестия да следва избрания обект при движеието му *
|
|
|
|
|
# в пространството. Това е същото, като натискането на бутона *
|
|
|
|
|
# "F" на клавиатурата. Можете да замените follow {} командата *
|
|
|
|
|
# със synchronous {} командата, която позволява да останете в *
|
|
|
|
|
# стационарна или геосинхронна орбита над обекта. *
|
|
|
|
|
# *
|
|
|
|
|
# print: Казва на Селестия да покаже (отпечата) даден текст на *
|
|
|
|
|
# екрана. 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}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
# Ако искате Селестия винаги да стартира с определена дата и час, използвайте *
|
|
|
|
|
# командата time, както е описано по-надолу. *
|
|
|
|
|
# *
|
|
|
|
|
# ВНИМАНИЕ: Стартирането на Селестия с предварително дефинирано време/дата *
|
|
|
|
|
# изисква физическо натискане на знака "!" (удивителен знак), за *
|
|
|
|
|
# да зададе сегашното време, когато искате да изследвате нещо -- *
|
|
|
|
|
# АКО въобще времето е от значение. *
|
|
|
|
|
# *
|
|
|
|
|
# Стъпка по стъпка... *
|
|
|
|
|
# *
|
|
|
|
|
# * Определете дали искате да дефинирате датата чрез календар универсално *
|
|
|
|
|
# време/дата или григориански ден (виж долу). *
|
|
|
|
|
# *
|
|
|
|
|
# * Копирайте реда код с командата 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
# По-долу изброените команди Ви позволяват да дефинирате няколко от опциите *
|
|
|
|
|
# на Селестия, които ще бъдат активирани всеки път, когато я стартирате. *
|
|
|
|
|
# Променете ги, ако желаете. *
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
|
|
|
|
|
# Зрително поле (разкоментирайте/модифицирайте според желанието Ви)
|
|
|
|
|
# По подразбиране е 25 градуса при резолюция 1024 х 768
|
|
|
|
|
# set {name "FOV" value 25.0}
|
|
|
|
|
|
|
|
|
|
# Фонова осветеност (разкоментирайте/модифицирайте според желанието Ви)
|
|
|
|
|
# 0.0 to 0.5 е добър спектър
|
|
|
|
|
# set {name "AmbientLightLevel" value 0.1}
|
|
|
|
|
|
|
|
|
|
# Звездна величина на най-слабата видима звезда
|
|
|
|
|
# (разкоментирайте/модифицирайте според желанието Ви)
|
|
|
|
|
# Селестия ПИ: 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}
|
|
|
|
|
|
|
|
|
|
# Разстояние до най-далечната показана звезда. По подразбиране е 1000000...
|
|
|
|
|
# (разкоментирайте/модифицирайте според желанието Ви)
|
|
|
|
|
# set {name "StarDistanceLimit" value 1000000}
|
|
|
|
|
|
|
|
|
|
# Скорост на протичане на времето (1x, 100x, 1000x, etc.)...
|
|
|
|
|
# (разкоментирайте/модифицирайте според желанието Ви)
|
|
|
|
|
# Negative value = Reverse Time
|
|
|
|
|
# 0 = Pause Time
|
|
|
|
|
# 1.0 = Real Time (default)
|
|
|
|
|
# 1000.0 = Good moon orbit motion
|
|
|
|
|
#
|
|
|
|
|
# timerate {rate 1.0}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
# Ако използвате големи текстури, можете да настроите Селестия да ги зареди *
|
|
|
|
|
# предварително в паметта на графичната Ви карта, като ги изброите по-долу. *
|
|
|
|
|
#********************************************************************************
|
|
|
|
|
|
|
|
|
|
# Примери...
|
|
|
|
|
# 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}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#****************************************************************************
|
|
|
|
|
# To learn more about scripting in Celestia, visit: *
|
|
|
|
|
# *
|
|
|
|
|
# * Scripting forum: (http://www.shatters.net/forum/viewforum.php?f=9) *
|
|
|
|
|
# * Don G's Celestia page: (http://www.donandcarla.com/Celestia/) *
|
|
|
|
|
# * Harald's Celestia page: (http://www.h-schmidt.net/celestia/) *
|
|
|
|
|
# *
|
|
|
|
|
# Don G's page includes a guide for CEL scripting. Harald's page includes *
|
|
|
|
|
# a guide for CELX (Lua) scripting. Both also have example scripts and *
|
|
|
|
|
# other goodies. *
|
|
|
|
|
#****************************************************************************
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Край на скрипта...
|
|
|
|
|
}
|