Першыя крокі: пісанне
А вось тут дзе табе трэба пісаць! ці праграмаваць але гэта іменна не так важна. (сур’ёзна!)
каб пачаць, знайсці папка, дзе ўсталявалі SSP. адтуль, хадзіце да ghost\[simplicity]\ghost\master. там будзе кучу файлі текста, але зараз мы хочам тех, што заканчывае с .dic (ці .kis ці .py ці... што твой дзіўны іншы шаблон карыстае.)
Так што, дзе пачынаць? я параю з boot.dic. ў гэты файл будзе дыялогі, які бачыш калі адкрываеш ці закрываеш укаґаку.
Boot.dic
OnFirstBoot - самая первая загрузка. Не нужден, але добрае месца тлумачыць пра сваю укаґаку. Я не магу рассказаць табе што напісаць, але вось прыклад:
OnFirstBoot {
"\1\s[10]\0\s[0]Прывітанне новы сябар! %(нік), так? Я чыталі твой ліст сто тысяч раз! Целы ноч не спалі, таму былі так рады сустракаць табе! Гатоў ўбачыць горад?"
}
OnFirstBoot - назва функуія. Гэта асновая функція, так што не меняйце назва!
- іншыя функціі, якыя не асновыя, трэба пачынаць з On. напрыклад: OnRazmaulaj
{} - важныя скобкі. трэба пачаць з { а закрыць з }.
"штосыі!" - нітка. ніткы могуць мець любое текст! (акрамя " ў сяредзіну другыя "-і...)
\1 \0 - чалавек хто будзе штосці размаўляць. \0 - Сакура а \1 - Кіро. яшчэ можаш зваць з \p[2] (\p[3], \p[4] і.г.д.)
\s[0] - фотка знешнасць. не ісключытельны, так што "\0\s[0]\1\s[0]" будзе паказаць две сакуры на экране.
%(штосці_не_ведаю) - пераменная ў нітку. там %(нік) - гэта назва карыстальнік. (я карыстаю %(нік) але называйце свою переменную як хочаш :) )
крыху пра кантент прыклад - укаґкы могуць быць ўсё разныя рэчы! тут гэта падобнае да візуальны раман, а карыстальнік сустракае хтосці, хто будзе паказаць ім па новы горад. (або штосці як гэта.)
іншы прыклад ад сваю (мою) укаґаку:
OnFirstBoot {
//[...]
"\1\s[10]\2\s[20]\0\s[0]А, прывітанне! Я вельмі рад, што ты тут. Ёсць шмат аб чым хачу гаворыць сёння. Не трэба размаўляць, калі не хочаш. ...Але, это ж ты казалі, што проста хацелі слухаць......"
}
...зрабіў укаґака ў толькі несколькі дні - нічога не кажы мяне пра мову...
але бачыш што паспрабую казаць, так? Неба предел!
Калі гэта зроблены, наступная функція - OnBoot.
(ну, с шаблон простота, гэта OnInitialize, але тая не хочам зараз)
OnBoot - звычайная загрузка. Ў шаблон простота ёсць спецыальныя дыялогі для дзень нараджэння карыстальніка і новы год, але OnBoot таксама можа выглядзець проста так:
OnBoot {
"Прывітанкі, %(нік)! Дзе хочаш ісці сёння?"
}
...але гэта будзе кажа той самы рэч кожны раз, так што можаш дадаць яшчэ дыялогі:
OnBoot {
"Прывітанкі, %(нік)! Дзе хочаш ісці сёння?"
"Надвор’е заўсёды добра тут, ці не так? Хтось ведае чаму...?"
"Прывітанне! кветкі сёння проста прыгожыя!"
}
а карыстальнік будзе бачыць адзін з гэтыя тры дыялогі калі запускае укаґаку. Праграмаванне!
(А, і калі не напісана номер \0 ці \1 на пачатку нітку - будзе сказано Сакура. Лепше ставіць номер там, але я гэта не зраблю... хехе)
OnClose - як OnBoot, але для калі закрывае укаґаку. Прыклад:
OnClose {
"Гэты быў добры доўгы дзень па горадзе! Пабачымся пазней, %(нік)!"
"А, мне трэба ісці! Пакуль %(нік), да сустрэчы!"
--
"\w6\x\-"
}
-- - аддае апошная нітка да наступная нітка. без яго ніткі будуць на случайны выбар.
\w1 - \w9 - маленькая пауза ў тэкст. таксама можаш напісаць \w[3000] для пауза із некаторыя маленькыя секунды, але гэта больше літары :Р
\x - знак, якы дазваляе текст заставаць на экране да таго, як карыстальнік націсніць на поле с текстом. \x[noclear] зрабіць той ж самы, але не пачысціць поле із текста.
\- закрывае укаґаку. Тэхніческі можаш паставіць дзе угодно, але закрывае укаґаку *адразу*. будзь з ім асцярожна!
...а гэта ўсё ў boot.dic! Вядома, калі твая укаґака ў від чалавекі на экране хто размаўляе (а не штосці як Slime Fighter 2000) ты напэўна тут хочаш добра колкасць дыялогі, але зараз ў цябе будзе адзін ці два на функціі. А гэта добрая пачатка! зараз, хадзем да aitalk.dic.
Aitalk.dic
aitalk.dic - вось тут, дзе магія! болшасць таго, што укаґаку гаворыць будзе напісаны тут. каб пачаць, хачу размаўляць пра функцію OnAiTalk.
ў шаблон простота, OnAiTalk выглядае так:
OnAiTalk
{
if CHAIN.IDName == ""
{
LastTalk = RandomTalk
}
else
{
LastTalk = ChainTalk
}
LastTalk
}
ШТО такое прайдзе тут?!?! чаму ўсё гэтыя =-і ???
с пачатку:
OnAiTalk - назва функція. асновая функцыя, так што не перайменуйце.
{} - важныя скобкі! кожны этап трэба пачынаць з { а заканчываць з }. нельга быць адзін без другы...
if - калі. (если, калі мець бодьш сенсу. я не ведаю. калі/калі варыць галава.)
CHAIN.IDName - назва переменная! тут яна звязана к цепы. будзем узнаць пра імі пазней.
== - роўны. Памятай - два знакі == роўны! Калі маеш толькі адзін код будзе не так.
"" - пустая нітка.
ряд if CHAIN.IDName == "" значыць "калі переменная CHAIN.IDName пустой, то сделай то, што ў {гэтыя скобкі}".
LastTalk - переменная. (яна нітка.)
RandomTalk - масіў дыялогі. (хутка будзем там...)
= - зменіць да штосці. ну... не ведаю як тлумачыць? мабыць так:
ряд LastTalk = RandomTalk значыць "нітка LastTalk будзе адзін случайны элемент з масіў RandomTalk". Спадзяюся, што разумееш.. ^^;;
else - калі гэта неправільна, зрабі тое, што ў {гэтыя скобкі}.
так што ряд else {LastTalk = Chaintalk} значыць "калі переменная CHAIN.IDName НЕ пустой, то зрабі то, што ў вось {гэтыя скобкі}".
апошні LastTalk будзе паказаць кантент у переменная (памятуй, што яна нітка) на поле с текстом. Зараз, LastTalk будзе штосці з RandomTalk, так што давайце чытаць прв гэтаму!
RandomTalk - функція (як OnBoot і OnClose!)
ряд LastTalk = RandomTalk значыць "нітка LastTalk будзе адзін случайны элемент з функціі RandomTalk".
RandomTalk - гэта функція, як я ўжо казаў. Замецайце, што яна не пачынае з "On"! Гэта значыць, што калі напіше \![raise,RandomTalk], нічога не здарыцца! \![raise,OnFunkcia] пакуль не будзе зусім важна, але памятуй, што raise толькі працуе з функціі, якыя пачынаюць з On.
Таму што тут будзе дыялогі, які укаґака казаць, хочаш больш чым адзін дыялог. Напрыклад:
RandomTalk : nonoverlap_pool {
"\0\s[0]Яшчэ адзін цудоўны дзень па горадзе!\e"
"\0\s[7]Думаеш, што маражанае можам знайсці?\w3\s[0]\nГэта тайны рэч, маражанае.\e"
"\0\s[0]Я жыву толькі быць прыклад. Дзіўны быт."
}
: nonoverlap_pool - ў yaya, працент случайны выбарі змяняецца, калі ў функціі больш чым першыя нужны пару скобкі {}. гэты мадіфікатар значыць, што кожны дыялог будзе сказано адзін раз, прежде чым, як паўтаряецца. Уключая дыялоґі ў if/else-і! Без яго дыялоґі усё яшчэ паказаны, але паўторы здаряцца вельмі часца.
\0 - якы чалавек размаўляе. \0 - Сакура, а \1 - Кіро. (больш чалавекы можаш зваць з \p[2], \p[3], \p[4], і. г. д.)
\s[0] - фотка знешнасць. Не ісключытельна, так што \1\s[0]\0\s[0] будзе паказаць два сакуры на экране.
\w1 - \w9 - пауза ў некаторыя маленькыя секунды за пяць. таксама ёсць \w[3000] (3000 прыкладны чісел), што некаторыя маленткыя секунды, не за пяць.
\n - новы ряд. як < br> ў HTML. \n[half] будзе полтора новы ряд.

\e - канчатак тэкста. "текст текст текст\e чаму я тут" будзе паказаны як "текст текст текст" ў поле с текстом.
а ты гатовыя напісаць за укаґака цяпер! але прежде чым, як выйходзіць...
:chain=штосці - мадыфікатар \e, што пачынае ланцуг дыялогі. Ўверх тут ланцуг па назвы "навіна".
навіна - назва ланцуг. Яны могуць быць што угодна.
{{CHAIN - ў yaya, гэта кажа што функція сапраўды ланцуг.
}}CHAIN - канец ланцуг. Не забывай яму...
дыялоґі ў ланцуг будзе сказаны (па час разгавора) ў ряд. Так што калі час разгавора адна хвілінка, кожную хвілінку укаґака будзе казаць адзін дыялог з ланцуга. напрыклад:
штосці
{{CHAIN
"пасля звычайны дыялог, першы дыялог ў ланцуг. (тэхніческы другы.)"
"прашла адна хвілінка, а я цяпер кажу другы дыялог ланцуга."
"яшчэ адна хвілінка, а мой апошні дыялог. наступны дыялог будзе ад RandomTalk."
}}CHAIN
магчымасці ёсць! для разгавор можа быць лепше карыстацца \x або \x[noclear], i \n (паглядзі на I Often Dream of Marigolds), але можаш зрабіць што хочаш :D
так што ідзі і напішы укаґаку! гэта амаль ўсё што трэба - далей будзем паглядзець на астатнае файлі .dic .