Skip to content

QSPFoundation/sublime_text_qsp_package

Repository files navigation

QSP-Package для Sublime Text

ΠŸΠ°ΠΊΠ΅Ρ‚ QSP для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Sublime Text Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя подсвСтку синтаксиса для языка QSP, встроСнный Π±ΠΈΠ»Π΄Π΅Ρ€, ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ QSP-ΠΈΠ³Ρ€Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²-исходников, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€Ρ‹ сниппСтов, инструмСнтов Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ³Ρ€ Π½Π° QSP.

[!tips] Подсказка. Если Π²Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»Π° с Sublime Text, Π΅ΡΡ‚ΡŒ краткая пошаговая инструкция ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ запуску ΠΈΠ³Ρ€Ρ‹ с нуля: ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ инструкция ΠΏΠΎ установкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° QSP для Sublime Text

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Sublime Text Π² сравнСнии с QuestGenerator 4.0.0

ВсСм Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ³Ρ€ Π½Π° QSP я ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с Quest Generator, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠ΄ΠΎΠ±Π΅Π½, прост ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятСн. ПишСшь Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π°ΠΏΡƒΡΠΊΠ°Π΅ΡˆΡŒ ΠΈΠ³Ρ€Ρƒ β€” Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΠ΅ΡˆΡŒ.

Π’Π΅ΠΌ ΠΆΠ΅, ΠΊΠΎΠΌΡƒ Π½Π΅ достаёт возмоТностСй Π² Quest Generator, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ Sublime Text.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ прСимущСства Π΄Π°Ρ‘Ρ‚ Sublime Text с установлСнным Π² Π½Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ QSP:

  1. Π˜ΡΡ…ΠΎΠ΄Π½ΠΈΠΊΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€Ρ‹ вСдётся ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ… (исходниках) Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° TXT2GAM (QSPS), Ρ‡Ρ‚ΠΎ позволяСт:
    • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ систСмы контроля вСрсий Ρ‚ΠΈΠΏΠ° GIT Π½Π° всСх этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π·Π½Π°Ρ‡ΠΈΡ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС измСнСния, вносимыС Π² ΠΈΠ³Ρ€Ρƒ ΠΈ быстрСС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ошибки.
    • ВСсти ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈΠ³Ρ€Ρ‹ с использованиСм ΠΎΠ±Ρ‰Π΅Π³ΠΎ рСпозитория Π½Π° рСсурсах Ρ‚ΠΈΠΏΠ° GitHub.
    • ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΈΠ»ΠΈ ΠΏΠΎ всСму ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ.
  2. Удобная ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°: Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π½Π° сколь ΡƒΠ³ΠΎΠ΄Π½ΠΎ большоС число частСй ΠΈ подчастСй, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ эти части ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, вкладывая ΠΏΠ°ΠΏΠΊΠΈ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ части ΠΈΠ³Ρ€Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π° Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π±ΠΈΠ»Π΄Π΅Ρ€ сам собСрёт всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π°ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ ".qsp" ΠΈ запустит ΠΈΠ³Ρ€Ρƒ Π² ΠΏΠ»Π΅Π΅Ρ€Π΅ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΏΠ°Ρ€Ρ‹ клавиш.
  3. Один Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ β€” ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ»Π΅Π΅Ρ€ΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ завСсти нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° сборку ΠΈ запуск ΠΈΠ³Ρ€Ρ‹ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ ΠΏΠ»Π΅Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ сразу ΠΏΠΎΠ΄ нСсколько ΠΏΠ»Π΅Π΅Ρ€ΠΎΠ².
  4. Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ рСсурсов. Sublime Text ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ CSS, HTML ΠΈ JavaScript-Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π°Π΄ основной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΈΠ³Ρ€Ρ‹.
  5. Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠΎΠ΄ сСбя, создавая собствСнныС сниппСты, устанавливая Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΈ Ρ‚.Π΄. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Sublime Text ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, ΠΈΠ»ΠΈ Emmet, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρƒ с HTML.
  6. ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° ΠΊΠΎΠ΄Π°. Π£ΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠ΅:
    • ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ тСкст ΠΌΠ΅ΠΆΠ΄Ρƒ локациями Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ³Ρ€Ρ‹, ΠΎΠ½ подсвСчиваСтся ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.
    • РаспознаваниС Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈ соотвСтствСнно подсвСтка этих элСмСнтов.
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΌΠ΅Π΅Ρ‚ Quest Generator:
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° слоТных многострочных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° строковых констант.
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° числовых констант, систСмных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ) Π² строках.
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° основных синтаксичСских ошибок:
      • Π›ΠΈΡˆΠ½ΠΈΠΉ $ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ числовых систСмных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
      • ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ $ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ тСкстовых систСмных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
      • Π—Π²Ρ‘Π·Π΄ΠΎΡ‡ΠΊΠ° * ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ *pl, *p, *nl, *clr.
      • НСвСрноС число ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ‚ΠΈΠΏΠ° +, -, *, <, > ΠΈ Ρ‚.Π΄.
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΡ‘Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° 123build.
      • Π Π°Π·Ρ€Ρ‹Π² строки ΠΊΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ выраТСния.
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° лишнСго end, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ else ΠΈ elseif Π²Π½Π΅ конструкций условий.
      • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ записи else ΠΈ elseif Π² многострочном условии.
      • НСзакрытый многострочный act, loop ΠΈΠ»ΠΈ if Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ подсвСтку элСмСнта "ΠΊΠΎΠ½Π΅Ρ† Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ" ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобки, ΠΊΠ°ΠΊ ошибки.
      • ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ поставлСнная запятая.
      • НСвСрная запись ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° local ΠΈΠ»ΠΈ set.
      • Π£Π½Π°Ρ€Π½Ρ‹ΠΉ минус ΠΏΠ΅Ρ€Π΅Π΄ тСкстовой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° HTML-ΠΊΠΎΠ΄Π° Π² строках ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках ΠΏΡ€ΠΈ вставкС Ρ‚Π΅Π³ΠΎΠ² <qhtml>, </qhtml>.
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° конструкций нСявного Π²Ρ‹Π·ΠΎΠ²Π°, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ подсвСтка ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ записи Ρ‚Π°ΠΊΠΈΡ… конструкций.
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ прСпроцСссора
    • ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² многострочных конструкций act, if, else, elseif, loop, end. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ подсвСтка end loop, end act, end if - Ρ‚Π°ΠΊΠΈΠ΅ сочСтания ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово.
  7. Автоподстановка. Когда Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΠΈΠ»ΠΈ ΡƒΠΆΠ΅ Π²Π²ΠΎΠ΄ΠΈΠ²ΡˆΡƒΡŽΡΡ Ρ€Π°Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, появляСтся список со словами автоподстановки. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ нСявный Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΡƒΠΆΠ΅ созданных Π²Π°ΠΌΠΈ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…ΡΡ с Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±ΡƒΠΊΠ²Ρ‹.
  8. ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡ. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ вас:
    • Ссли Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ для Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΠΆΠ΅ сущСствуСт Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅
    • Ссли Π²Ρ‹ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΊΡƒ, которая ΡƒΠΆΠ΅ присутствуСт Π² Ρ„Π°ΠΉΠ»Π΅

Π€ΠΎΡ€ΠΌΠ°Ρ‚ исходных Ρ„Π°ΠΉΠ»ΠΎΠ²

Π•Ρ‰Ρ‘ Π½Π° Π·Π°Ρ€Π΅ появлСния QSP Π±Ρ‹Π»Π° создана ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° TXT2GAM, которая позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π² Π²ΠΈΠ΄Π΅ тСкстового Ρ„Π°ΠΉΠ»Π° (исходника) Π² любом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ исходник Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹.

Π’ΠΊΡ€Π°Ρ‚Ρ†Π΅. Π€Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° TXT2GAM (исходники) β€” это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ΄ QSP записываСтся ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π’ Π΄Π°Π½Π½ΠΎΠΌ руководствС Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ qsps ΠΏΠΎ названию ΡƒΠΆΠ΅ общСпринятого Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ".qsps". Однако Ρ„Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° qsps ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любоС ΠΈΠ½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅: ".txt", ".start" ΠΈ Ρ‚.ΠΏ.

Π’ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π΅Ρ‚ возмоТности Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ описаниСм ΠΈ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ дСйствиями Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ лишь с ΠΊΠΎΠ΄ΠΎΠΌ поля "Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ посСщСнии", Ссли Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ Π² Quest Generator.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° qsps выглядит Ρ‚Π°ΠΊ:

# start
!^ Π² строчкС Π²Ρ‹ΡˆΠ΅ записана ΠΌΠ΅Ρ‚ΠΊΠ° Π½Π°Ρ‡Π°Π»Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ.
! ΠΎΠ½Π° состоит ΠΈΠ· символа Ρ€Π΅ΡˆΡ‘Ρ‚ΠΊΠΈ ΠΈ названия Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ.
! Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ ΠΎΡ‚ Ρ€Π΅ΡˆΡ‘Ρ‚ΠΊΠΈ

*pl "Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄Ρƒ
ΠΈΠ· поля Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ посСщСнии Quest Generator'Π°."

! послСдняя строчка, это ΠΌΠ΅Ρ‚ΠΊΠ° окончания Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
! ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с символа - , Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ
! ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ любой тСкст. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это снова
! Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ сочСтаниС Π΄ΠΎΠΏ символов ΠΈ
! названия Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ 
- start

Π’Π΅ΡΡŒ тСкст ΠΌΠ΅ΠΆΠ΄Ρƒ локациями Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΈΠ³Ρ€Ρƒ


# вторая локация
*pl "

	Π’ ΠΎΠ΄Π½ΠΎΠΌ qsps-Ρ„Π°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ нСсколько Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ,
	Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ

"
--- вторая локация ---------------------------------

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΈΠ³Ρ€Ρ‹ Π½Π° QSP Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ TXT2GAM, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΎΡ‚ ELMORTEM: "ПишСм QSP-ΠΈΠ³Ρ€Ρƒ Π² тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅".

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

НСпосрСдствСнно сами Ρ„Π°ΠΉΠ»Ρ‹ QSP (".qsp") ΠΈΠΌΠ΅ΡŽΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ utf-16le, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π±ΠΈΠ»Π΄Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ utf-8 (Π±Π΅Π· BOM-символов). Π§Ρ‚ΠΎΠ±Ρ‹ Π±ΠΈΠ»Π΄Π΅Ρ€ собирал ΠΈΠ³Ρ€Ρƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС qsps-Ρ„Π°ΠΉΠ»Ρ‹ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠΌΠ΅Π»ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ utf-8. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ ΠΏΡ€ΠΈ использовании спСцсимволов, провСряйтС соотвСтствиС Π² исходном ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.

Установка ΠΏΠ°ΠΊΠ΅Ρ‚Π° QSP для Sublime Text

  1. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Ρƒ вас Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Sublime Text, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Sublime Text 4. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΡŽΠ΄Π° https://www.sublimetext.com/download.

Установка для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows

Данная инструкция ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΊΠ°Ρ‡Π°ΡŽΡ‚ послСдний Ρ€Π΅Π»ΠΈΠ· со страницы Ρ€Π΅Π»ΠΈΠ·ΠΎΠ²: . Установка ΠΈΠ· исходников Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ.

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ установочный Ρ„Π°ΠΉΠ» ΠΈΠ· послСднСго Ρ€Π΅Π»ΠΈΠ·Π°. Π€Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ "install.QSP.sublime-package.XX.exe", Π³Π΄Π΅ XX β€” Π½ΠΎΠΌΠ΅Ρ€ вСрсии.
  2. ЗапуститС установочный Ρ„Π°ΠΉΠ» ΠΈ слСдуйтС инструкциям β€” ΠΏΠ°ΠΊΠ΅Ρ‚ установится автоматичСски.
  3. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ скачайтС ΠΈ распакуйтС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π°Ρ€Ρ…ΠΈΠ² "manual and examples.zip", Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится тСкущая инструкция ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Установка ΠΈΠ· исходников

  1. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ Π°Ρ€Ρ…ΠΈΠ² "QSP.sublime-package.src.zip" ΠΈΠ· послСднСго Ρ€Π΅Π»ΠΈΠ·Π°.
  2. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Sublime Text ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ с установлСнными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ: ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Preferences β†’ Browse Packages...
  3. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΈΠ·Π²Π»Π΅ΠΊΠΈΡ‚Π΅ ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π° "QSP.sublime-package.src.zip" ΠΏΠ°ΠΏΠΊΡƒ "QSP". ΠŸΡ€ΠΈ нСобходимости Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Sublime Text послС установки ΠΏΠ°ΠΊΠ΅Ρ‚Π°!

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° QSP ΠΈΠ· Sublime Text

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Sublime Text ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ с установлСнными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ: ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню Preferences β†’ Browse Packages...

для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ QSP ΠΈ запуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ unins000.exe
  2. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ инструкциям.
  3. Если ΠΏΠ°ΠΏΠΊΠ° QSP Π½Π΅ удалится, ΠΈΠ»ΠΈ удалится Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π²ΡˆΠΈΡ… ΠΈΠ· исходников

  1. Π£Π΄Π°Π»ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ QSP

[!warning] Π’Π°ΠΆΠ½ΠΎ! ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Sublime Text послС удалСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°!

Бостав ΠΏΠ°ΠΊΠ΅Ρ‚Π° QSP для Sublime Text

QSP-Builder

QSP-Builder (Π΄Π°Π»Π΅Π΅ QBST, Π±ΠΈΠ»Π΄Π΅Ρ€) β€” это встроСнный Π² ΠΏΠ°ΠΊΠ΅Ρ‚ QSP ΠΏΠ»Π°Π³ΠΈΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ:

  1. собираСт ΠΈΠ· Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° qsps ΠΎΠ΄ΠΈΠ½ Ρ†Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ qsps;
  2. ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ qsps-Ρ„Π°ΠΉΠ» Π² Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ".qsp" (QSP-Ρ„Π°ΠΉΠ»);
  3. запускаСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ Π² стандартном ΠΈΠ»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ ΠΏΠ»Π΅Π΅Ρ€Π΅ QSP.

Π’ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ сборкС ошибки выводятся Π² консоль. Консоль открываСтся сочСтаниСм клавиш Ctrl + ~.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΈΠ³Ρ€Ρ‹ Π½Π° QSP

  1. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ организуСтся ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. Π’ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» "qsp-project.json", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ содСрТит Π² сСбС инструкции ΠΏΠΎ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (см. Ρ€Π°Π·Π΄Π΅Π» qsp-project.json).
  2. ВсС Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ qsps ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ".qsps". Π’ качСствС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‹Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (см. Ρ€Π°Π·Π΄Π΅Π» "qsp-project.json").
    Sublime Text ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ UTF-8, поэтому ΠΈ Π±ΠΈΠ»Π΄Π΅Ρ€ написан ΠΏΠΎΠ΄ Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ. Если ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ³Ρ€Ρ‹ Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π°, Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с исходниками Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΉ ΠΎΡ‚ UTF-8, смСнитС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ исходников Π½Π° UTF-8.
  3. ПослС рСдактирования ΠΈ сохранСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² сборки:
    • "QSP - qsp-build" β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ согласно инструкции ΠΈ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ".qsp", ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сочСтаниС клавиш ["ctrl+alt+q"].
    • "QSP - qsp-run" β€” Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ стартовый Ρ„Π°ΠΉΠ», ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ "qsp-project.json", Π² ΠΏΠ»Π΅Π΅Ρ€Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сочСтаниС клавиш ["ctrl+alt+s"].
    • "QSP" β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ согласно инструкции ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ стартовый Ρ„Π°ΠΉΠ» Π² ΠΏΠ»Π΅Π΅Ρ€Π΅, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сочСтаниС клавиш ["ctrl+f5"].

Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠ΅ΠΉ ΠΈΠ³Ρ€Ρ‹ "fantastic battles", ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я писал Π² Quest Generator.

Π’ этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ для удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ всСго Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅:

  • "fb_v.0.2.qsp" β€” основной Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ всС ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
  • "intro.qsp" β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Π²ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ³Ρ€Ρ‹
  • "drive.qsp" β€” основной Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΠ³Ρ€Ρ‹
  • "bases.qsp" β€” Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ исходников для ΠΈΠ³Ρ€Ρ‹

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ мноТСство Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, поэтому для самих Ρ„Π°ΠΉΠ»ΠΎΠ² вСдутся Ρ„Π°ΠΉΠ»Ρ‹ ".qproj", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат псСвдопапки. НапримСр, Π² "fb_v.0.2.qsp" Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ Π½Π° псСвдопапки:

    • "[start]" β€” стартовая локация Π±Π΅Π· ΠΏΠ°ΠΏΠΊΠΈ
  • "систСмноС мСню" β€” ΠΏΠ°ΠΏΠΊΠ° с локациями основного мСню
    • "[1.0_game_start]" β€” локация, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π°Ρ ΠΈΠ³Ρ€Ρƒ
    • "[0.1_game_info]" β€” локация с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ± ΠΈΠ³Ρ€Π΅
  • "Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ мСста" β€” ΠΏΠ°ΠΏΠΊΠ° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ мСста, ΠΈ собствСнно Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ:
    • "[ΠΌ:0]_ΠΎΠ±Ρ‰ΠΈΠΉ_Π²ΠΈΠ΄_Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ_мСста"
    • "[ΠΌ:1]_Π΄ΠΎΠΌ"
    • "[ΠΌ:2]_ΡƒΠ»ΠΈΡ†Π°"
    • "мСсто;стандартная_кухня"
  • "ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ" β€” ΠΏΠ°ΠΏΠΊΠ° стандартных Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ для этой ΠΈΠ³Ρ€Ρ‹
    • "[chest]" β€” сундуки
    • "[death]" β€” ΡΠΌΠ΅Ρ€Ρ‚ΡŒ
    • "[help]" β€” ΠΏΠΎΠΌΠΎΡ‰ΡŒ

Работая Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Ρ‚ΠΈΠΏΠ° Sublime Text, я ΠΌΠΎΠ³Ρƒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. Π― ΠΌΠΎΠ³Ρƒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ ΠΈ Ρ‚.Π΄., Π° ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… qsps-Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС я Π±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ» ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² Ρ‚ΠΎΠΌ числС β€” ΠΏΠΎΠ΄ основной Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹. Допустим Ρ‚Π°ΠΊ:

  • "[game]" β€” ΠΏΠ°ΠΏΠΊΠ° с основным Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ³Ρ€Ρ‹
    • "start.qsps" β€” Ρ„Π°ΠΉΠ» со стартовой Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ
    • "систСмноС мСню" β€” ΠΏΠ°ΠΏΠΊΠ° с локациями систСмного мСню
      • "sysmenu.qsps" β€” ΠΎΠ±Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ систСмного мСню Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅
    • "Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ мСста" β€” ΠΏΠ°ΠΏΠΊΠ° для Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ мСст, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ
      • "стандартныС мСста" β€” ΠΏΠ°ΠΏΠΊΠ° для стандартных Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ мСст
        • "ΠΎΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ мСста.qsp-txt" β€” Ρ„Π°ΠΉΠ» с Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ "[ΠΌ:0]_ΠΎΠ±Ρ‰ΠΈΠΉ_Π²ΠΈΠ΄_Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ_мСста"
        • "кухня.qsps" β€” Ρ„Π°ΠΉΠ» с Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ "мСсто;стандартная_кухня"
      • "Π΄ΠΎΠΌ.qsps" β€” Ρ„Π°ΠΉΠ» с Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ "[ΠΌ:1]_Π΄ΠΎΠΌ"
      • "ΡƒΠ»ΠΈΡ†Π°.qsps" β€” Ρ„Π°ΠΉΠ» с Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ "[ΠΌ:2]_ΡƒΠ»ΠΈΡ†Π°"
    • "ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ" β€” ΠΏΠ°ΠΏΠΊΠ° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ
      • "chests.qsps" β€” Ρ„Π°ΠΉΠ» с Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ "[chest]"
      • "death and help.qsps" β€” Ρ„Π°ΠΉΠ» с локациями "[help]" ΠΈ "[death]"

НСобходимо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ сборкС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ сначала Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… Π²Π΅Ρ€Ρ…Π½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, Π·Π°Ρ‚Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΏΠ°ΠΏΠΎΠΊ Π½ΠΈΠΆΠ½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ локация ΠΈΠ· Ρ„Π°ΠΉΠ»Π° "start.qsps" окаТСтся Π² самом Π²Π΅Ρ€Ρ…Ρƒ списка Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈ создании Ρ„Π°ΠΉΠ»Π° ".qsp". Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ возмоТностями прСпроцСссора.

qsp-project.json

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с коммСнтариями прСдставлСн Π² Ρ„Π°ΠΉΠ»Π΅ "[disdocs]\example.json" (см. Π½Π° Π³ΠΈΡ‚Ρ…Π°Π±Π΅).

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт собой JSON-Ρ„Π°ΠΉΠ». Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ вся Π΅Π³ΠΎ структура состоит ΠΈΠ· JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π² Python - это словари) ΠΈ JSON-массивов (Π² Python - это списки). НСмного Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° JSON Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь: https://www.hostinger.ru/rukovodstva/chto-takoe-json. Пока ΠΆΠ΅ для краткости скаТСм, Ρ‡Ρ‚ΠΎ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках ΠΈ состоят ΠΈΠ· элСмСнтов Π²ΠΈΠ΄Π° ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… запятыми. ΠœΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ставится Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅, Π·Π° послСдним элСмСнтом Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС нСльзя ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ. ΠšΠ»ΡŽΡ‡ β€” всСгда записываСтся с использованиСм ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ это всСгда строка. JSON-массивы Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ значСния. Π—Π° послСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ случаС Π½Π΅ ставится запятая. ЗначСниями ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ числа, строки, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ массивы.

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ элСмСнтом являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ восСмь элСмСнтов:

"project":[],
"start":"startgame.qsp",
"converter":"C:\\Program Files\\QSP\\txt2gam.exe",
"player":"C:\\Program Files\\QSP\\qsp580\\qspgui.exe",
"save_temp_file": true,
"preprocessor":"Off",
"assets":[],
"scans":{}

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнты "project" ΠΈ "start". Если ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ "C:\Program Files\QSP\qsp580\qspgui.exe" Π½Π΅ располоТСн ΠΏΠ»Π΅Π΅Ρ€, Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнт "player". ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ элСмСнты ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

project

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта "project" являСтся массив ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ("Π±ΠΈΠ»Π΄ΠΎΠ²"), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:

"module": "output_file.qsp",
"files": [],
"folders": [],

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "module" содСрТит ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ".qsp", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ "files" ΠΈ "folders" содСрТат массивы ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². И Π² Ρ‚ΠΎΠΌ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ содСрТат элСмСнты "path", ΠΎΠ΄Π½Π°ΠΊΠΎ для "files" ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт "path" содСрТит ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, Π° для "folders" ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт "path" содСрТит ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, ΠΈ ΡƒΠΆΠ΅ ΠΈΠ· этих ΠΏΠ°ΠΏΠΎΠΊ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ".qsps".

"files": [
	{"path":"D:\\my\\projects\\01_мСню.qsp-txt"},
	{"path":"game.qsp-txt"}
],
"folders": [
	{"path": "."},
	{"path": "D:\\my\\projects\\Вопросы"},
	{"path": "projects\\Вопросы"}
]

Из элСмСнтов "files" ΠΈΠ»ΠΈ "folders" Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "build" ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "postprocessors" ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ.

start

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта "start" являСтся ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² ΠΏΠ»Π΅Π΅Ρ€Π΅ послС Π±ΠΈΠ»Π΄Π°. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· собранных Ρ„Π°ΠΉΠ»ΠΎΠ², Ρ‚.Π΅. ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ любой Ρ„Π°ΠΉΠ» ".qsp".

"start": "startgame.qsp"
converter

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта "converter" являСтся ΠΏΡƒΡ‚ΡŒ ΠΊ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ„Π°ΠΉΠ»Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° qsps Π² Ρ„Π°ΠΉΠ»Ρ‹ ".qsp". Π’ QBSP ΡƒΠΆΠ΅ встроСн собствСнный ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€, поэтому Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

"converter": "C:\\Program Files\\QSP\\txt2gam.exe"

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ записи:

"converter": ["C:\\Program Files\\QSP\\txt2gam.exe", "-pMyPass -u"]
player

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта "player" являСтся ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ»Π΅Π΅Ρ€Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС сборки).

"player": "C:\\Program Files\\QSP\\Quest Navigator\\QuestNavigator.exe"
save_temp_file

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "save_temp_file" Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ послС сборки (Ρ‚.Π΅. рядом с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ собранным Ρ„Π°ΠΉΠ»ΠΎΠΌ ".qsp" Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅ΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ исходник Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ qsps с Ρ€Π°ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ".txt"). Π•ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ значСния true ΠΈ false. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся false.

"save_temp_file": true
preprocessor

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "preprocessor" позволяСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ прСпроцСссор ΠΏΡ€ΠΈ сборкС Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. Ρ€Π°Π·Π΄Π΅Π» ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€. Π•ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ значСния:

  • "On"
  • "Off" (Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)
  • "Hard-off"
"preprocessor": "On"
assets

Π”Π°Π½Π½Ρ‹ΠΉ элСмСнт позволяСт ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ рСсурсы ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… источников Π² ΠΏΠ°ΠΏΠΊΡƒ с Π±ΠΈΠ»Π΄ΠΎΠΌ ΠΈΠ³Ρ€Ρ‹. НапримСр, ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ вСсти css-Ρ„Π°ΠΉΠ»Ρ‹ рядом с исходниками ΠΈΠ³Ρ€Ρ‹, ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±ΠΈΠ»Π΄ горячими клавишами, ΠΏΡ€ΠΈ этом Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСТиС Ρ„Π°ΠΉΠ»Ρ‹ css ΠΏΡ€ΠΈ сборкС ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°Π»ΠΈΡΡŒ Π² ΠΏΠ°ΠΏΠΊΡƒ с Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΉ. Π’ΠΎΡ‚ для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ элСмСнта "assets" являСтся массив ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ("рСсурсов"), Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:

"output": "..\\[output]\\assets",
"files": [],
"folders": [],

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "output" содСрТит ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ пСрСчислСнныС рСсурсы.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ "files" ΠΈ "folders" содСрТат массивы ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². И Π² Ρ‚ΠΎΠΌ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ содСрТат элСмСнты "path", значСниями ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡƒΡ‚ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„Π°ΠΉΠ»Π° "qsp-project.json".

"folders": [
	{"path": ".\\assets\\css"},
	{"path": ".\\assets\\img"}
],
"files": [
	{"path": ".\\assets\\css_1\\extras.css"}
]

ΠŸΡ€ΠΈ отсутствии элСмСнтов "files" ΠΈ/ΠΈΠ»ΠΈ "folders" ΠΈ элСмСнта "output" ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

[!danger] Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!!! Папки ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ! Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ ΠΈ всСгда сохраняйтС Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ всСх Ρ„Π°ΠΉΠ»ΠΎΠ².

[!warning] Π£Ρ‡Ρ‚ΠΈΡ‚Π΅ Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ большоС количСство рСсурсов Π² своСй ΠΈΠ³Ρ€Π΅, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ постоянно всС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ»ΡŽΡ‡ "output" ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° "output_" для Ρ‚Π΅Ρ… ΠΏΠ°ΠΏΠΎΠΊ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ трСбуСтся постоянно ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ. ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅Ρ… рСсурсов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ постоянно.

scans

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "scans" Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, состоящий ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… элСмСнтов: "location", "files", "folders". Из элСмСнтов "files" ΠΈ "folders" Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт.

"scans": {
	"location": "prv_file",
	"folders": [],
	"files": []
}

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ создаваСмый "Π±ΠΈΠ»Π΄" Π±ΡƒΠ΄Π΅Ρ‚ встроСна локация-функция, сгСнСрированная автоматичСски. Π’ΠΎ врСмя Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π² эту Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ Π±ΡƒΠ΄ΡƒΡ‚ прописаны ΠΏΡƒΡ‚ΠΈ ΠΊΠΎ всСм ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ, пСрСчислСнным Π² элСмСнтС "files", ΠΈ ΠΊΠΎ всСм Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² ΠΏΠ°ΠΏΠΊΠ°Ρ…, пСрСчислСнных Π² элСмСнтС "folders". Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ данная локация ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° прямо ΠΈΠ· ΠΊΠΎΠ΄Π° вашСй ΠΈΠ³Ρ€Ρ‹. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, ΡƒΠΆΠ΅ встроСн Π² эту Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 1, Ссли Ρ„Π°ΠΉΠ» сущСствуСт, ΠΈ 0 β€” Ссли Ρ„Π°ΠΉΠ» Π½Π΅ сущСствуСт.

  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "location" Π½ΡƒΠΆΠ΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² своСй ΠΈΠ³Ρ€Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ локация Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ "prv_file".
"location": "prv_file"
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "files" содСрТит нСпосрСдствСнно ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ (Π² Π²ΠΈΠ΄Π΅ массива), Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ.
"files": [
	"..\\example_game\\res\\img\\scl\\scale-green-leo.bmp",
	"..\\example_game\\res\\img\\scl\\scale-space-leo.bmp",
	"..\\example_game\\res\\img\\scl\\scl.rainbow.gif"
]
  • Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ "folders" содСрТит нСпосрСдствСнно ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ°ΠΌ (Π² Π²ΠΈΠ΄Π΅ массива), ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… выбираСтся список всСх Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ.
"folders":[
	"..\\example_game\\res\\img\\diary",
	"..\\example_game\\res\\img\\drive",
	"..\\example_game\\res\\img\\ico",
	"..\\example_game\\res\\img\\obj"
]

[!warning] ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π’ Ρ„Π°ΠΉΠ»Π΅ "qsp-project.json" всС ΠΏΡƒΡ‚ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΅Π³ΠΎ располоТСния, Π½ΠΎ Π² Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ всС ΠΏΡƒΡ‚ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ сгСнСрированы ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ„Π°ΠΉΠ»Π°, прописанного Π² элСмСнтС "start".

[!warning] Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π§Ρ‚ΠΎ локация Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ собираСмому ΠΌΠΎΠ΄ΡƒΠ»ΡŽ. Если это Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, прописанный Π² элСмСнтС "start", локация Π±ΡƒΠ΄Π΅Ρ‚ нСдоступна Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ модуля.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡƒΡ‚ΠΈ Π² QSP вСрсии 5.8.0 ΠΈ Π²Ρ‹ΡˆΠ΅:

if @prv_file('res\img\ico\p.gif'):
	"Π€Π°ΠΉΠ» сущСствуСт"
else:
	"Π€Π°ΠΉΠ» Π½Π΅ сущСствуСт"
end

ΠŸΡƒΡ‚ΠΈ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ "start", "module", "path" ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈΠ»ΠΈ ΠΏΠ°ΠΏΠΊΠ°ΠΌ.

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΎΠ±ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ располоТСния Ρ„Π°ΠΉΠ»Π° "qsp-project.json" ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ:

  1. Π Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ/Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² ΠΏΡƒΡ‚ΠΈ выступаСт ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ проэкранирован Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ: "lib\\easy.dialog\\mod.qsp"
  2. ΠŸΡƒΡ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с раздСлитСля (Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш):
    • Ρ‚Π°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ: "lib\\easy.dialog\\mod.qsp"
    • Ρ‚Π°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ нСльзя: "\\lib\\easy.dialog\\mod.qsp"
  3. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ "qsp-project.json") производится Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ: "." - тСкущая ΠΏΠ°ΠΏΠΊΠ°
  4. ДопускаСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚ этой ΠΏΠ°ΠΏΠΊΠΈ: ".\\lib" β€” влоТСнная Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠ°ΠΏΠΊΠ° "lib". Равносильно Ρ‚Π°ΠΊΠΎΠΉ записи: "lib"
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ: ".." β€” ΠΏΠ°ΠΏΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π° тСкущая
  6. МоТно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π²Π²Π΅Ρ€Ρ…, указывая Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ бэкслэш Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ уровня:
    • "..\\.." β€” Π½Π° Π΄Π²Π° уровня Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ
    • "..\\..\\.." β€” Π½Π° Ρ‚Ρ€ΠΈ уровня Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ
  7. МоТно Ρ‚Π°ΠΊ ΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ°ΠΏΠΎΠΊ, располоТСнных Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ:
    • "..\\export" β€” ΠΏΠ°ΠΏΠΊΠ° "export", размСщённая Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ.
    • "..\\..\\project\\other_game\\lib" β€” Π΄Π²Π° уровня Π²Π²Π΅Ρ€Ρ…, ΠΈ ΠΎΡ‚ этой ΠΏΠ°ΠΏΠΊΠΈ Π² "project\other_game\lib".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’ ΠΏΠ°ΠΏΠΊΠ΅ "[disdocs]\example_project" Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΠΎΡ‡Ρ‚ΠΈ всС Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ разнСсСны ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ разбросаны Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Ρƒ ΠΈ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅. Если ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ "[disdocs]\example_project" Π·Π° ΠΊΠΎΡ€Π΅Π½ΡŒ, Ρ‚ΠΎ Π² ΠΊΠΎΡ€Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ, Ρ„Π°ΠΉΠ» "qsp-project.json", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ опрСдСляСт порядок сборки основного Ρ„Π°ΠΉΠ»Π° ΠΈΠ³Ρ€Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΈΠ»Π΄ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ссли ΡΠΎΠΌΠ½Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ поняли, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΈΠ»Π΄Π΅Ρ€. ΠŸΡ€ΠΈ сборкС Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΏΠ°ΠΏΠΊΠ΅ "[disdocs]\example_game" Π±ΡƒΠ΄ΡƒΡ‚ созданы основной Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ "game.sam.qsp" ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ»Π΅Π΅Ρ€Ρƒ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ запуска. Если Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ Build and Run, Ρ„Π°ΠΉΠ» "game.sam.qsp" Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π² ΠΏΠ»Π΅Π΅Ρ€Π΅.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ ΠΏΠ»Π΅Π΅Ρ€ вСрсии 5.8.0. Π’ Π±ΠΎΠ»Π΅Π΅ старых вСрсиях Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π’ 5.8.0 ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ошибки Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Пока Ρ‡Ρ‚ΠΎ я этим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π΅ занимаюсь. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρƒ Π΅Π³ΠΎ Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π΄Π²ΠΈΠΆΠΊΠ° ΠΈ это Π±ΡƒΠ΄Π΅Ρ‚ полноцСнная Π΄Π΅ΠΌΠΊΠ°.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ сборки ΠΈ запуска

Для удобства ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Ρ€ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ QBST:

  • Build and Run β€” сборка ΠΈ запуск. ЗапускаСтся сочСтаниСм ["ctrl+f5"].
  • Build β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сборка. ЗапускаСтся сочСтаниСм ["ctrl+alt+q"].
  • Run β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ запуск. ЗапускаСтся сочСтаниСм ["ctrl+alt+s"].

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π΅ΡΡ‚ΡŒ свои особСнности.

"Build and Run" отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ ".qsp", ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ инструкциями "qsp-project.json", Π·Π°Ρ‚Π΅ΠΌ, Ссли Π² инструкциях Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½, ΠΈΠ»ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ„Π°ΠΉΠ» ".qsp", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ (элСмСнт "start"), запускаСтся самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ инструкциями собранный Ρ„Π°ΠΉΠ» ".qsp".

"Build" отличаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ происходит новая сборка всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ".qsp", ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… инструкциями "qsp-project.json", ΠΈ большС Π½ΠΈΡ‡Π΅Π³ΠΎ.

"Run" β€” Π² этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π½Π΅ производится новая сборка Ρ„Π°ΠΉΠ»ΠΎΠ² ".qsp", Π½ΠΎ запускаСтся Π² ΠΏΠ»Π΅Π΅Ρ€Π΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ".qsp", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π² "qsp-project.json" Π² элСмСнтС "start", Π»ΠΈΠ±ΠΎ, Ссли Ρ„Π°ΠΉΠ» ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ совсСм, любой Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ".qsp" ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Sublime Text.

Π‘Π±ΠΎΡ€ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° qsps_to_qsp ΠΈΠ»ΠΈ внСшнСго ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π°

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ qsps_to_qsp являСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Π½ΠΎ начиная с вСрсии 0.15 ΠΏΠ°ΠΊΠ΅Ρ‚Π° QSP Π½Π° Windows ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сторонний ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ QGC, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ сборку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² нСсколько Ρ€Π°Π·, особСнно ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠ°Ρ… исходных Ρ„Π°ΠΉΠ»ΠΎΠ².

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша ΠΈΠ³Ρ€Π° ΡΠΎΠ±ΠΈΡ€Π°Π»Π°ΡΡŒ срСдствами встроСнного ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° qsps_to_qsp, ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² элСмСнтС "converter" Ρ„Π°ΠΉΠ»Π° "qsp-project.json":

"converter": "qsps_to_qsp"

Если ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² этом элСмСнтС ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Ρƒ (внСшний ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€), порядок сборки Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅.

ΠŸΡ€ΠΈ сборкС содСрТимоС Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° qsps добавляСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:

  1. Π€Π°ΠΉΠ»Ρ‹, пСрСчислСнныС Π² массивС элСмСнта "files", ΠΏΠΎ порядку. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ самыми ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ Π² Ρ„Π°ΠΉΠ»Π΅ ".qsp" ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ· самого ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² элСмСнтС "files". Π”Π°Π½Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ Π² ΠΈΠ³Ρ€Π΅, Π½ΠΎ порядок ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… вас Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚. ΠŸΡ€ΠΎΡΡ‚ΠΎ выноситС эту Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкстовый Ρ„Π°ΠΉΠ», Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ставитС ".txt", ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ".start", Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ самым ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² массивС элСмСнта "files".
  2. Π€Π°ΠΉΠ»Ρ‹ ".qsps", содСрТащиСся Π² ΠΏΠ°ΠΏΠΊΠ°Ρ…, пСрСчислСнных Π² массивС элСмСнта "folders" ΠΏΠΎ порядку, нСзависимо ΠΎΡ‚ уровня влоТСнности. Π’.Π΅. Ссли Ρƒ нас пСрСчислСны ΠΏΠΎ порядку ΠΏΠ°ΠΏΠΊΠΈ "1", "2" ΠΈ "3", Ρ‚ΠΎ сначала Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» добавятся Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ "1" ΠΈ всСх Π΅Ρ‘ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ "2" ΠΈ всСх Π΅Ρ‘ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ "3" ΠΈ всСх Π΅Ρ‘ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ. ΠŸΡ€ΠΈ этом ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ всСгда Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ самого Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π° ΠΏΠΎΡ‚ΠΎΠΌ с Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ссли Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ прСпроцСссор.
  3. ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прСпроцСссором, Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ встроСнным Π² Π±ΠΈΠ»Π΄Π΅Ρ€ прСпроцСссором.
Π‘Π±ΠΎΡ€ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QSP Game Converter

Начиная с вСрсии 0.15 ΠΏΠ°ΠΊΠ΅Ρ‚Π° QSP для Sublime Text Π½Π° Windows ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сторонний ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ QGC, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ сборку ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² нСсколько Ρ€Π°Π·, особСнно ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠ°Ρ… исходных Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡ€ΠΈ сборкС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QGC Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ описанного Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ΡˆΠ΅.

Если для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ модуля пСрСчислСны Ρ„Π°ΠΉΠ»Ρ‹ Π² элСмСнтС "files", Ρ‚ΠΎ самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π»ΠΎΠΊΠ°Ρ†ΠΈΠ΅ΠΉ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ окаТСтся локация ΠΏΠ΅Ρ€Π²Π΅ΠΉΡˆΠ΅Π³ΠΎ ΠΈΠ· пСрСчислСнных Ρ„Π°ΠΉΠ»ΠΎΠ².

Если Ρ„Π°ΠΉΠ»Ρ‹ Π² элСмСнтС "files" Π½Π΅ пСрСчислСны, ΠΎΠ΄Π½Π°ΠΊΠΎ пСрСчислСны ΠΏΠ°ΠΏΠΊΠΈ Π² элСмСнтС "folders", самым ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ станСт Ρ„Π°ΠΉΠ» (ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ локация) Π½Π° Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ΅Ρ€Π²Π΅ΠΉΡˆΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ, ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ€Π²Π΅ΠΉΡˆΠ΅ΠΉ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ (см. ΠΏΡƒΠ½ΠΊΡ‚ 2 Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π²Ρ‹ΡˆΠ΅).

ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ отсортированы ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ΠΎΠΌ ΠΏΠΎ Π°Π»Ρ„Π°Π²ΠΈΡ‚Ρƒ.

Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ запуск

Π£ΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ запуск β€” это запуск ΠΈΠ³Ρ€Ρ‹ Π±Π΅Π· "qsp-project.json", Π° Π²Π΅Ρ€Π½Π΅Π΅ "qsp-project.json" ΠΏΡ€ΠΈ этом Π±ΡƒΠ΄Π΅Ρ‚ создан автоматичСски. Для Ρ‚Π°ΠΊΠΎΠ³ΠΎ запуска Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ»Π΅Π΅Ρ€ Π»Π΅ΠΆΠ°Π» ΠΏΠΎ адрСсу "C:\Program Files\QSP\qsp580\qspgui.exe".

Π’ΠΎΠ³Π΄Π°, Ссли исходник ΠΈΠ³Ρ€Ρ‹ ".qsps" Π»Π΅ΠΆΠΈΡ‚ Π½Π΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½, ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈΠ³Ρ€Π°.

ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ запуск ΡƒΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ быстро ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСбольшой Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, Π° ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ΄ это Π½Π΅Ρ‚ смысла: Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ исходник, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Π½Π΅ любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈΠ³Ρ€Ρ‹, ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ… способов.

Ошибки

Начиная с вСрсии 0.10 нСкритичСскиС ошибки выводятся Π² консоль Sublime Text.

Ошибки Π² консоли ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ошибка Π² Ρ€Π°Π±ΠΎΡ‚Π΅ самого ΠΏΠ»Π°Π³ΠΈΠ½Π°, ΠΈΠ»ΠΈ Π² написанном исходникС ΠΈΠ³Ρ€Ρ‹:

Traceback (most recent call last):
  File "D:\my\GameDev\QuestSoftPlayer\projects\JAD\QBST\main.py", line 72, in <module>
    qsp.constructFile(build_files,exit_txt)
  File "D:\my\GameDev\QuestSoftPlayer\projects\JAD\QBST\function.py", line 44, in constructFile
    file.write(text)
  File "C:\Program Files\Python39\lib\encodings\cp1251.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2191' in position 29347: character maps to <undefined>

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ошибка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π‘ΠΎΠΎΠ±Ρ‰Π°ΠΉΡ‚Π΅ ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… письмом Π½Π° ΠΏΠΎΡ‡Ρ‚Ρƒ [email protected].

[!warning] Π’ΠΠ˜ΠœΠΠΠ˜Π•!!! Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΈΠ»Π΄Π΅Ρ€ собираСт Π²Π°ΡˆΡƒ ΠΈΠ³Ρ€Ρƒ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ (Ρ‚.Π΅. Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈΠ³Ρ€Ρ‹), Π²Ρ‹ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ "save_temp_file" Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "True" ΠΈ посмотритС Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ тСкстовом Ρ„Π°ΠΉΠ»Π΅, какая локация послСднСй ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ. Π“Π΄Π΅-Ρ‚ΠΎ с 99% Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π° Π½Π΅ΠΉ локация написана Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° ΠΈΠ»ΠΈ фигурная скобка), ΠΈΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ эту Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ Π² исходниках ΠΈ Π·Π°Ρ‚Π΅ΠΌ снова запуститС Π±ΠΈΠ»Π΄. Π‘ΠΊΡ€ΠΈΠΏΡ‚, Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° TXT2GAM, ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ³Ρ€Ρƒ любого ΠΎΠ±ΡŠΡ‘ΠΌΠ°, Ρ…ΠΎΡ‚ΡŒ тысяча Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, Ρ…ΠΎΡ‚ΡŒ Ρ‚Ρ€ΠΈΠ΄Ρ†Π°Ρ‚ΡŒ тысяч, Ссли ΠΎΠ½ΠΈ написаны соотвСтствСнно Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ qsps.

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ - это Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄ компиляциСй. Π’ нашСм случаС, Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ сконвСртируСм Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ".qsp", ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· этих Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строки, ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ….

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ написан с нуля, поэтому Π±ΡƒΠ΄ΡƒΡ‚ Π±Π°Π³ΠΈ ΠΈ логичСскиС ошибки Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄. Π― Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ пользовался сторонними прСпроцСссорами, поэтому ΠΌΠΎΠ³Ρƒ изобрСсти вСлосипСд Ρ‚Π°ΠΌ, Π³Π΄Π΅ всС Π³ΠΎΠ½ΡΡŽΡ‚ Π½Π° Kawasaki z900. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ ΠΈ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ побольшС ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

ΠŸΡ€ΠΈ прСпроцСссингС Π±ΠΈΠ»Π΄Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² нСсколько Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ (Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹, инструкции)

Для удобства Π² прСпроцСссор встроСны Π΄Π²Π° уровня инструкций: нСпосрСдствСнно ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ (спСцкоммСнтарии):

  • !@ β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с Ρ‚Π°ΠΊΠΎΠ³ΠΎ сочСтания символов, Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½ ΠΏΡ€ΠΈ прСпроцСссингС.
  • !@< β€” ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ с Ρ‚Π°ΠΊΠΎΠ³ΠΎ сочСтания символов, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ строка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ стоит этот ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΈ прСпроцСссингС.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора:

  • !@pp:on β€” Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ прСпроцСссинг для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°. Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ΄Ρ‚ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкой Π² Ρ„Π°ΠΉΠ»Π΅. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΈΠ½Π³ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… "On" ΠΈ "Off". Π‘ΠΌ. Ρ€Π°Π·Π΄Π΅Π» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ прСпроцСссора.
  • !@pp:off β€” Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ прСпроцСссинг для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°. Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ΄Ρ‚ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкой Π² Ρ„Π°ΠΉΠ»Π΅.
  • !@pp:savecomm - данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ДСйствуСт Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ встрСтится Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°.
  • !@pp:nosavecomm - данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².
  • !@pp:var(name=123) - данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ name со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ "123". ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ символы, ΠΊΡ€ΠΎΠΌΠ΅ двоСточия ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, поэтому допустимой ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ запись: !@pp:var(123=123) - эта ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ 123 со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ "123". ВсС ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ значСния - тСкстовыС Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΊΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, ΠΏΡ€ΠΈ дальнСйшСм прСпроцСссингС всС значСния, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΊΠΈ, Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ прСпроцСссором ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°ΠΊ названия ΠΌΠ΅Ρ‚ΠΊΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, всС значСния сами ΠΏΠΎ сСбС ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ, содСрТащими ΠΎΠ΄Π½ΠΎΠΈΠΌΡ‘Π½Π½Ρ‹Π΅ значСния!
  • !@pp:if(name==123):exclude - данная ΠΊΠΎΠΌΠ°Π½Π΄Π° провСряСт, выполняСтся Π»ΠΈ условиС Π² скобках (содСрТит Π»ΠΈ ΠΌΠ΅Ρ‚ΠΊΠ° name Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 123), ΠΈ Ссли условиС выполняСтся, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½ΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ВмСсто слова exclude ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова:
    • exclude β€” ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условия. Если условиС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, строки Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ прСпроцСссором ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
    • include β€” ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условия, ΠΏΡ€ΠΈ этом строки Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ прСпроцСссором. Если условиС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, строки Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».
    • nopp β€” Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ строки прСпроцСссором ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условия.
    • savecomm β€” Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΊΠ°ΠΊ инструкции. МоТно ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, exclude nopp ΠΈ include nopp). Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ скобок ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ условия ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:
    • == β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π° значСния. Π’Π΅Ρ€Π½ΠΎ Ссли Ρ€Π°Π²Π½Ρ‹.
    • != β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π° значСния. Π’Π΅Ρ€Π½ΠΎ Ссли Π½Π΅ Ρ€Π°Π²Π½Ρ‹.
  • !@pp:endif - данная ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° условия.
НСкоторыС синтаксичСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π°
  1. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора ΡΠ²Π»ΡΡŽΡ‚ΡΡ коммСнтариями QSP, ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ начиная с символа !.
  2. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора всСгда Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½Ρƒ строку, Π±Π΅Π· отступов ΠΎΡ‚ Π½Π°Ρ‡Π°Π»Π° строки!
  3. ВсС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠΊ, значСния ΠΈ Ρ‚.Π΄. ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС.
  4. ИмСна ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΈ ΠΈΡ… значСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠΉ ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ спСцсимволов.
  5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° and, or, not для ΠΌΠ΅Ρ‚ΠΎΠΊ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ.
  6. Допустимо ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ Π±Π΅Π· указания значСния: !@pp:var(layer) β€” ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΡƒ layer.
  7. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ !@ ΠΈ !@< Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ однострочными! Π₯отя ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² строкС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.
НСкоторыС особСнности Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСпроцСссора
  1. ΠŸΡ€ΠΈ прСпроцСссингС всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
  2. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ QSP, Ссли записаны согласно трСбованиям синтаксичСских ΠΏΡ€Π°Π²ΠΈΠ»:
*pl "ВСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π±ΠΈΡ‚ΠΎΠ΅ Π½Π° нСсколько строк
!@pp:if(layer):exclude
Π”Π°Π½Π½Ρ‹Π΅ строки Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°,
Ссли ΠΌΠ΅Ρ‚ΠΊΠ° layer Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°.
!@pp:endif
А эта строка останСтся Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅"
  1. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ, Ссли ΠΎΠ½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок.
  2. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ΠΈ ΠΈΠ΄ΡƒΡ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ спСцкоммСнтария Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, спСцкоммСнтарий ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈΠ»ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок.
  3. ВсС ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΈΡ… значСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ для всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°! Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ прСпроцСссинга.
  4. НЕ ΠŸΠžΠ”Π”Π•Π Π–Π˜Π’ΠΠ•Π’Π‘Π― Π’Π›ΠžΠ–Π•ΠΠΠžΠ‘Π’Π¬ Π£Π‘Π›ΠžΠ’Π˜Π™. НС рСкомСндуСтся, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова and ΠΈ not:
!@pp:if(layer and quest_navigator):include
"Если ΠΌΠ΅Ρ‚ΠΊΠΈ layer ΠΈ quest_navigator ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, данная строка останСтся Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅"
!@pp:endif
  1. Π—Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΊΠΈ "True" ΠΈ "False", для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСны ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΡƒΠ»Π΅Π²Ρ‹Π΅ значСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ допустимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ if(build_em!=True) ΠΈΠ»ΠΈ if(build_em==False).
Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ прСпроцСссора
  1. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСпроцСссор сразу для всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΠΊΠ°Π·Π°Π² Π² "qsp-project.json" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "On":
    "preprocessor": "On",
    ΠŸΡ€ΠΈ этом Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°Ρ‚ΡŒΡΡ прСпроцСссингу, Π² Ρ‚.Ρ‡. исходники ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Всё, Ρ‡Ρ‚ΠΎ собираСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ сборкой. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… прСпроцСссинг ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ !@pp:off.
  2. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ прСпроцСссор Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
    !@pp:on
    
    Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкой Π² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. Если прСпроцСссор Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ выставлСниСм Ρ€Π΅ΠΆΠΈΠΌΠ° "Hard-off", данная ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.
Π’Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ прСпроцСссора
  1. Для всСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² "qsp-project.json" (Ρ€Π΅ΠΆΠΈΠΌ "Off"):
    "preprocessor":"Off",
    Π”Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, поэтому Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈ этом Ρ„Π°ΠΉΠ»Ρ‹, поставлСнныС Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ !@pp:on, всё Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ прСпроцСссором.
  2. Π”Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ прСпроцСссинг ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Ρ€Π΅ΠΆΠΈΠΌ "Hard-off"):
    "preprocessor": "Hard-off",
    Π”Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ прСпроцСсинг Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ для всСх Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄Π°ΠΆΠ΅ Ссли Π² Ρ„Π°ΠΉΠ»Π°Ρ… проставлСны ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ !@pp:on. Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows сборка Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Π° "QGC.exe", Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ускорит ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈΠ³Ρ€Ρ‹ ΠΈ запуск Π² ΠΏΠ»Π΅Π΅Ρ€Π΅. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ рСкомСндуСтся Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Windows ΠΈ ваша ΠΈΠ³Ρ€Π° находится Π½Π° стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  3. Из прСпроцСссинга Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "On" ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:
    !@pp:off
    
    Π­Ρ‚Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкой Π² ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ смотритС Π² Ρ„Π°ΠΉΠ»Π΅ "[disdocs]/example_project/[pp-test]/pptest.qsps".

!@pp:on
!@pp:var(layer=1)
# start
"ВСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ."
!@pp:if(layer==1):include
"Π­Ρ‚ΠΎΡ‚ тСкст Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»" & !@ Π° этот ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½
"Π­Ρ‚ΠΎΡ‚ тСкст Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Ρ‘Π½" & !@< вмСстС с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ прСпроцСссор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚
!@pp:endif
!@pp:if(layer==1):exclude
"Π­Ρ‚ΠΎΡ‚ тСкст Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°" & ! ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Ρ‚ΠΎΠΆΠ΅
!@pp:endif
- start
!@pp:on
!@pp:var(layer=0)
# start
"ВСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π½Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ."
!@pp:if(layer==1):include
"Π­Ρ‚ΠΎΡ‚ тСкст Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»"
!@pp:endif
!@pp:if(layer==1):exclude
"Π­Ρ‚ΠΎΡ‚ тСкст Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΈΠ· ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°" & ! ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Ρ‚ΠΎΠΆΠ΅
name=123 & !@< Π° Π²ΠΎΡ‚ эта строка ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½Π°
!@pp:endif
- start

ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° синтаксиса QSP

Если Π’Ρ‹ установили ΠΏΠ°ΠΊΠ΅Ρ‚ QSP согласно инструкции, Π·Π½Π°Ρ‡ΠΈΡ‚ Ρƒ вас ΡƒΠΆΠ΅ установлСна ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ подсвСтка ΠΊΠΎΠ΄Π° QSP.

АвтоматичСскоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ подсвСтки QSP-ΠΊΠΎΠ΄Π°

ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ для Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ ".qsps", ".qsp-txt", ΠΈΠ»ΠΈ ".txt-qsp". Если Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ подсвСтка QSP-ΠΊΠΎΠ΄Π° автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ для Ρ„Π°ΠΉΠ»ΠΎΠ² с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² строку:

QSP-Game

ПослС слова Game ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ тСкст, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€Ρ‹ ΠΈΠ»ΠΈ модуля.

Π‘Π½ΠΈΠΏΠΏΠ΅Ρ‚Ρ‹

Π‘Π½ΠΈΠΏΠΏΠ΅Ρ‚Ρ‹ β€” это стандартныС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π½Π°Π±Ρ€Π°Π² ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, ΠΈΠ»ΠΈ Ρ‡Π°ΡΡ‚ΡŒ строки ΠΊΠΎΠ΄Π°, ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Tab. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ полями вставлСнного Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ клавиши Tab.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊΠΈΠ΅ сниппСты Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

  • qspgame вставляСт Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π°-Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ.
  • newloc ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ # (Π΄ΠΈΠ΅Π· ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π») - добавляСт Π½ΠΎΠ²ΡƒΡŽ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ:
     # Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
     !@ Код, выполняСмый ΠΏΡ€ΠΈ посСщСнии Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ
     --- Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ---------------------------------
    
  • addobj - добавляСт ΠΎΠ΄Π½Ρƒ ΠΈΠ· строк ΠΊΠΎΠ΄Π°:
     addobj "НазваниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°","ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ/picture.jpg",позиция
     addobj "НазваниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°"
    
  • act - добавляСт дСйствиС:
     act "НазваниС дСйствия":
     	!@ Код дСйствия
     end
    
  • if - добавляСт ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ условия:
     if условиС_Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ:
     !@ Если условиС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
     	!@ Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся, Ссли условиС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
     end	
    
  • ifelse - добавляСт условиС с Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ΠΌ:
     if условиС_Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ:
     !@ Если условиС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
     	!@ Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся, Ссли условиС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
     else:
     !@ Если условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
     	!@ Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся, Ссли условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ
     end
    
  • loop β€” добавляСт шаблон Ρ†ΠΈΠΊΠ»Π°.

Π‘Π½ΠΈΠΏΠΏΠ΅Ρ‚Ρ‹ с привязкой ΠΊ клавишам. ВыдСляСм тСкст ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ клавиши:

  • alt+h - ΠžΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст Π² Ρ‚Π΅Π³ΠΈ <qhtml> ΠΈ </qhtml>
  • alt+/ - вставляСт Π² строку сочСтаниС & !@ . Π’Π°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ быстрСС Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ любой строки ΠΊΠΎΠ΄Π°.

ΠžΡ‚ сСбя ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ сначала ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Π² HTML-Ρ„Π°ΠΉΠ»Π΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Π΅Ρ‘ Π² QSP. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² QSP-ΠΊΠΎΠ΄Π΅.

БочСтания клавиш

  • Ctrl+Alt+Q β€” сборка Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ³Ρ€Ρ‹ Π±Π΅Π· запуска Π² ΠΏΠ»Π΅Π΅Ρ€Π΅.
  • Ctrl+Alt+S β€” запуск ΡƒΠΆΠ΅ собранного Ρ„Π°ΠΉΠ»Π° ΠΈΠ³Ρ€Ρ‹ Π² ΠΏΠ»Π΅Π΅Ρ€Π΅ Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ сборки.
  • Ctrl+F5 β€” сборка Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ³Ρ€Ρ‹ ΠΈΠ· исходников ΠΈ запуск ΠΈΠ³Ρ€Ρ‹ Π² ΠΏΠ»Π΅Π΅Ρ€Π΅.
  • Ctrl+Shift+R β€” запускаСт GOTO ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, ΠΏΡ€ΠΈ этом открываСтся список Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ ΠΏΠΎ всСму ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ.
  • Ctrl+R β€” запускаСт GOTO ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, ΠΏΡ€ΠΈ этом открываСтся список Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ.
  • Alt+H β€” ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст Π² Ρ‚Π΅Π³ΠΈ <qhtml> ΠΈ </qhtml>.
  • Alt+/ β€” вставляСт Π² строку сочСтаниС & !@ .
  • Ctrl+Alt+N β€” ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ с ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ подсвСткой QSP.
  • Ctrl+/ β€” всС Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ строки ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ, ΠΊΠ°ΠΊ однострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.
  • Ctrl+Shift+/ β€” вСсь Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСкст помСщаСтся Π² Π±Π»ΠΎΠΊ коммСнтария ! { ... }.

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ скрипты

Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ скрипты ΠΏΡ€ΠΈ установлСнном ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ QSP доступны ΠΈΠ· основного мСню Sublime Text.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Tools β†’ QSP tools для доступа ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ скриптам. Π—Π΄Π΅ΡΡŒ Π²Π°ΠΌ доступны:

  • Make New Game β€” Π΄Π°Π½Π½Ρ‹ΠΉ инструмСнт ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ с ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ подсвСткой QSP. ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ клавиш для быстрого Π²Ρ‹Π·ΠΎΠ²Π° Ctrl+Alt+N.
  • Make Quick Project β€” создаёт Π½ΠΎΠ²Ρ‹ΠΉ стандартный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ QSP.
  • ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€Ρ‹ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Converters (Single Files)):
    • Game to QSPS β€” ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ QSP-Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ Π² Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° QSPS. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .qsp Π² Sublime Text, ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню (Tools β†’ QSP tools β†’ Converters (Single Files) β†’ Game to QSPS).
    • QSPS to game β€” ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° QSPS Π² Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€Ρ‹ QSP. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .qsps, .qsp-txt ΠΈΠ»ΠΈ .txt-qsp Π² Sublime Text, ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню (Tools β†’ QSP tools β†’ Converters (Single Files) β†’ QSPS to game).
  • Π‘ΠΏΠ»ΠΈΡ‚Ρ‚Π΅Ρ€Ρ‹ (Splitters):
    • Split Current File β€” раздСляСт Ρ„Π°ΠΉΠ» QSP, ΠΈΠ»ΠΈ qsps, Π½Π° нСсколько qsps-Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π»ΠΎΠΊΠ°Ρ†ΠΈΡŽ. Если ΠΏΡ€ΠΈ этом рядом Π»Π΅ΠΆΠ°Π» Ρ„Π°ΠΉΠ» .qproj, Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ, соотвСтствСнно ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² этом Ρ„Π°ΠΉΠ»Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ сплиттСром, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° нСсколько, Π² Sublime Text ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню (Tools β†’ QSP tools β†’ Splitters β†’ Split Current File).
    • Split Project β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ сплиттСр, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ отыскиваСт всС Ρ„Π°ΠΉΠ»Ρ‹ QSP ΠΈ qsps Π² ΠΏΠ°ΠΏΠΊΠ΅ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… Π½Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹ΠΌ сплиттСром, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Sublime Text любой Ρ„Π°ΠΉΠ» ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ, Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню (Tools β†’ QSP tools β†’ Splitters β†’ Split Project).
  • Анализ (Analyse):
    • Show Local Vars β€” выдСляСт Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π”Π°Π½Π½Ρ‹ΠΉ инструмСнт Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ совсСм ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ объявлСния ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°, поэтому, Ссли Π² Ρ„Π°ΠΉΠ»Π΅ Π΄Π²Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, ΠΈΡ… подсвСтка Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ ΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½Π΅ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, Π½ΠΎ располоТСнныС ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ Π½ΠΈΠΆΠ΅.
    • Show Global Vars β€” выдСляСт Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π’ΠΎΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ всСгда ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Ссли пСрСмСнная Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΊ локальная.
    • Show duplicates of Locations β€” Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран ΠΏΠΎΠΏΠ°ΠΏ со списком всСх Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, названия ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°. Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΏΠΎ ссылкам Π² Ρ„Π°ΠΉΠ»Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… располоТСны эти Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ нСпосрСдствСнно ΠΊ названию Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Автоподстановка

  • Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡Π½Ρ‘Ρ‚Π΅ ΠΈΡ… Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΡΠΏΠ»Ρ‹Π²Π°Ρ‚ΡŒ Π² контСкстном мСню. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ вставку сниппСта с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом, Π²Ρ‹Π΄Π΅Π»ΠΈΠ² строку с Π½ΠΈΠΌ Π² контСкстном мСню, ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Tab ΠΈΠ»ΠΈ Enter.
  • АвтоматичСски ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ названия Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ созданных Π»ΠΎΠΊΠ°Ρ†ΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ Π² конструкции нСявного Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (@foo) ΠΈΠ»ΠΈ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² gosub, goto, $func.
  • Sublime Text сам отслСТиваСт, собираСт ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ автоматичСски названия Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΈΡˆΠΊΠΈ

  • ΠŸΡ€ΠΈ установкС курсора Π½Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово, Π² строкС статуса (статусбар) отобраТаСтся справочная информация ΠΏΠΎ использованию этого ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова.
  • ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ названия Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ, которая ΡƒΠΆΠ΅ сущСствуСт Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, всплываСт сообщСниС с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

БовмСстная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

Для Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… свСдСний ΠΎ совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с систСмами Git, github, ΠΈ ΠΈΠ½Ρ‹ΠΌΠΈ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Π—Π΄Π΅ΡΡŒ приводятся лишь основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ.

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

Для контроля вСрсий Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Git. ΠΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ взяты ΠΈΠ· инструкции https://htmlacademy.ru/blog/boost/frontend/git-console ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Windows:

  1. Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ установщик со страницы https://git-scm.com/download/win
  2. УстанавливаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΈ ΠΏΡ€ΠΈ установкС ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ½ΡΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ "Windows Explorer integration":
    • "Git Bash Here" β€” ΠΏΡƒΠ½ΠΊΡ‚ контСкстного мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запустит косноль git bash Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
    • "Git GUI Here" β€” ΠΏΡƒΠ½ΠΊΡ‚ контСкстного мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ запустит git с графичСским интСрфСйсом Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅
  3. Π•Ρ‰Ρ‘ ΠΏΡ€ΠΈ установкС ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π― Π²Ρ‹Π±ΠΈΡ€Π°Π» Sublime Text, ΠΈ Ссли Π²Ρ‹ ΡƒΠΆΠ΅ установили Sublime Text ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ устанавливаСтС Git, Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· измСнСния.
  4. ПослС установки Git ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ user.name ΠΈ user.email для всСх своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Windows ΠΈΠ»ΠΈ Git CMD, хотя Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘ΠΌ. https://htmlacademy.ru/blog/boost/frontend/git-console
  5. Для ΠΏΡ€ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Для этого:
    • создайтС Π»ΡŽΠ±ΡƒΡŽ ΠΏΡƒΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ. НапримСр, я Ρ…Ρ€Π°Π½ΡŽ всС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° дискС D: Π² ΠΏΠ°ΠΏΠΊΠ΅ "projects", поэтому для Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория я создал ΠΏΠ°ΠΏΠΊΡƒ "new_rep" ("D:\projects\new_rep").

    • ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Windows ΠΈΠ»ΠΈ Git CMD ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ "cd": cd "D:\projects\new_rep"

    • ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ рСпозитория (данная ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ содСрТимоС): git init

БобствСнно это всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для контроля вСрсий. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git, ΠΈ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Ссли Π²Π°ΠΌ ΡƒΠ΄ΠΎΠ±Π½ΠΎ вСсти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ консоль, Ρ‚ΠΎ Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ достаточно Git Bash. КоС-ΠΊΠΎΠΌΡƒ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π΄Π°ΠΆΠ΅ Git GUI. Однако...

Sublime Merge

...Ссли Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (рСпозитория) Π² Sublime Text, Ρ‚ΠΎ Π² строкС состояния Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΡΠΎΠ±ΡƒΡŽ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ число ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Если Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² тСстовый Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ "new_rep", Ρ‚ΠΎ эта ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ "master|1|" β€” Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 1 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² master-Π²Π΅Ρ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

master-1

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Sublime Text автоматичСски ΠΏΠΎΠ΄Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ списки ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· Git (условно говоря). Если Π²Ρ‹ Ρ‰Ρ‘Π»ΠΊΠ½Π΅Ρ‚Π΅ ΠΏΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΎΠ± измСнСниях, Sublime Text ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°ΠΌ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Sublime Merge. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ скачайтС ΠΈ установитС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Sublime Merge Π² совокупности с Sublime Text являСтся Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ Git-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ.

По сути Git-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ β€” это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ взаимодСйствуСт с систСмой Git, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Π°ΠΌ наглядноС ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вашими рСпозиториями. Π­Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ внСшнСго GUI для Git.

Π›ΡŽΠ±ΠΎΠ΅, ΠΈΠ»ΠΈ всС измСнСния, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΈΡ‚ΡŒ (Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Sublime Merge. Для этого ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ измСнСния Π² Π½ΠΈΡ…, Π²Π²ΠΎΠ΄ΠΈΡ‚Π΅ тСкст ΠΊΠΎΠΌΠΌΠΈΡ‚Π° ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ "Commit". Если Π²Ρ‹ Π΅Ρ‰Ρ‘ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ "user.name" ΠΈ "user.email", Sublime Merge ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ Π²Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

БовмСстная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ всС инструмСнты для контроля вСрсий, ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ систСмой github, ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

ВсСм Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ придётся Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρƒ Π½Π° github. Один ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ для совмСстной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€Ρ‹. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ "Private" (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ доступСн для просмотра Π²Π°ΠΌ ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ людям) ΠΈΠ»ΠΈ "Public" (Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ смогут ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ всС).

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, создавший Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΡΠ»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. Π­Ρ‚ΠΎ дСлаСтся Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ GitHub "Settings" β€” "Manage Access"

Когда Ρƒ всСх Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² появляСтся доступ ΠΊ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Sublime Merge ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ мСню "File" - "Clone Repository", откроСтся Π²ΠΊΠ»Π°Π΄ΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ URL рСпозитория ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ доступа, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ SSH-ΠΊΠ»ΡŽΡ‡.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π”Π°Π½Π½ΠΎΠ΅ руководство Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ подробностями ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ возникновСния вопросов.

Если Ρƒ вас Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π½Π° [email protected], ΠΏΠΎΠΌΠΎΠ³Ρƒ Ρ‡Π΅ΠΌ смогу, Π° ваши вопросы ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ тСкст Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства.

ΠŸΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ совСты ΠΈΠ»ΠΈ замСчания ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈ Π² частности Π±ΠΈΠ»Π΄Π΅Ρ€Π°, ΠΏΠΎ наполнСнию Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства ΠΈ ΠΈΠ½Ρ‹Π΅.

P.S.:

Π’ΠΈΠ΄Π΅ΠΎ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с JAD: Π Π°Π±ΠΎΡ‚Π° с JAD

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ПсСвдопода для VS Code: QSP + VS Code QSP Game Converter ΠΎΡ‚ Alex (studentik), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ основной ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ QSP: QGC

НовыС вСрсии ΠΏΠ»Π΅Π΅Ρ€Π°:

ΠŸΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚Π΅ ΠΎΡ‚Ρ†Π°-основатСля ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π‘Π°ΠΉΡ‚Π°: https://qsp.org/index.php?option=com_comprofiler&Itemid=20&user=66

Π”ΠΎΠ½Π°Ρ‚Ρ‹

Π”ΠΎΠ½Π°Ρ‚Ρ‹ Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΊΠ°Π½Π°Π»Π° Π½Π° ΡŽΡ‚ΡƒΠ±Π΅:

  • Π—Π°ΠΊΠΈΠ½ΡƒΡ‚ΡŒ сумму Π΅Π΄ΠΈΠ½ΠΎΡ€Π°Π·ΠΎΠ²ΠΎ https://www.donationalerts.com/r/aleksversus
  • ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π·Π° 10 ΠΈΠ»ΠΈ 50 символичСских Ρ€ΡƒΠ±Π»Π΅ΠΉ (ΠΌΠΎΠΆΠ½ΠΎ ΠΈ бСсплатно): https://boosty.to/aleksversus (Π½Π° бусти я ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ новости, связанныС с ΠΌΠΎΠ΅ΠΉ творчСской Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’Ρ‹Ρ…ΠΎΠ΄ Π½ΠΎΠ²Ρ‹Ρ… Ρ€ΠΎΠ»ΠΈΠΊΠΎΠ² Π½Π° ΠΊΠ°Π½Π°Π»Π΅, ΡΡ‚Π°Ρ‚ΡŒΠΈ, ΠΎΡ‚Π·Ρ‹Π²Ρ‹, Ρ€Π΅Ρ†Π΅Π½Π·ΠΈΠΈ, рассказы, стихи ΠΈ всё ΠΏΡ€ΠΎΡ‡Π΅Π΅ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π°).
  • На ΠΏΠ°Ρ‚Ρ€Π΅ΠΎΠ½Π΅, символичСская подписка Π² 1 бакс https://www.patreon.com/aleksversus. К соТалСнию, сСйчас я Π½Π΅ имСю возмоТности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ‚Ρ€Π΅ΠΎΠ½ΠΎΠΌ.