Compare commits
5 Commits
334fb7984d
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1885f6ec5f | ||
|
|
a5651c5e2b | ||
|
|
25cacdfbbc | ||
|
|
53e8eb039b | ||
|
|
428de2d72f |
132
.obsidian/workspace.json
vendored
132
.obsidian/workspace.json
vendored
@@ -4,25 +4,25 @@
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "b1afd552ee0aa86f",
|
||||
"id": "6ce0f4672b59a07b",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "de53b1cb0148b07a",
|
||||
"id": "b5daf62d6db275c6",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "WORK & PROJECTS/Mol/Серверы/mail.mol-soft.ru.md",
|
||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_entities.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "mail.mol-soft.ru"
|
||||
"title": "status_entities"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "267d6f6cb1297872",
|
||||
"id": "5c58359e6dbf08fd",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
@@ -93,7 +93,7 @@
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 561.5
|
||||
"width": 314.5
|
||||
},
|
||||
"right": {
|
||||
"id": "5a12b65cf742d665",
|
||||
@@ -109,7 +109,7 @@
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Разработка - 06_2025.md",
|
||||
"file": "WORK & PROJECTS/Ulab/Доступы к точкам.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
@@ -119,7 +119,7 @@
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "Backlinks for Разработка - 06_2025"
|
||||
"title": "Обратные ссылки для Доступы к точкам"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -128,12 +128,12 @@
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Разработка - 06_2025.md",
|
||||
"file": "WORK & PROJECTS/Ulab/Доступы к точкам.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "Outgoing links from Разработка - 06_2025"
|
||||
"title": "Исходящие ссылки из Доступы к точкам"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -143,12 +143,10 @@
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
"useHierarchy": true
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "Tags"
|
||||
"title": "Теги"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -157,34 +155,25 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/Динамические поля Заявок (декомпозиция) 2026.02.md",
|
||||
"file": "WORK & PROJECTS/UAS/Servers access.md",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline of Динамические поля Заявок (декомпозиция) 2026.02"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "393ba628f8d04189",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "git-view",
|
||||
"state": {},
|
||||
"icon": "git-pull-request",
|
||||
"title": "Source Control"
|
||||
"title": "Структура Servers access"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 4
|
||||
"currentTab": 3
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 200
|
||||
"width": 300
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"mermaid-tools:Open Mermaid Toolbar": false,
|
||||
"switcher:Меню быстрого перехода": false,
|
||||
"graph:Граф": false,
|
||||
"canvas:Создать новый холст": false,
|
||||
@@ -193,59 +182,58 @@
|
||||
"command-palette:Открыть палитру команд": false,
|
||||
"bases:Создать новую базу": false,
|
||||
"obsidian-full-calendar:Open Full Calendar": false,
|
||||
"obsidian-git:Open Git source control": false,
|
||||
"mermaid-tools:Open Mermaid Toolbar": false
|
||||
"obsidian-git:Open Git source control": false
|
||||
}
|
||||
},
|
||||
"active": "267d6f6cb1297872",
|
||||
"active": "5c58359e6dbf08fd",
|
||||
"lastOpenFiles": [
|
||||
"PERSONAL PROJECTS/pe2ep script.md",
|
||||
"WORK & PROJECTS/UAS/MAIL TRANSFER.md",
|
||||
"WORK & PROJECTS/Mol/Серверы/mail.mol-soft.ru.md",
|
||||
"WORK & PROJECTS/UAS/Servers access.md",
|
||||
"PERSONAL PROJECTS/STREAMS/P2EP GOLD ZODIAC AOBA TV.md",
|
||||
"PERSONAL PROJECTS/STREAMS/TEXT TEMPLATE.md",
|
||||
"WORK & PROJECTS/Mol/Серверы/moldev.ru.md",
|
||||
"PERSONAL PROJECTS/STREAMS",
|
||||
"Untitled 2.base",
|
||||
"Untitled 10.base",
|
||||
"Untitled 1.md",
|
||||
"Untitled 1.base",
|
||||
"Untitled.base",
|
||||
"WORK & PROJECTS/UAS/Access.md",
|
||||
"WORK & PROJECTS/Mol/Серверы/git.moldev.ru.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/План СИЛА.md",
|
||||
"Без названия.md",
|
||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/Operation_Check_PJSC_Sberbank_04032026.pdf",
|
||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/beget_2026_03.pdf",
|
||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/beget_2026_03.pdf.crdownload",
|
||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/firstvds_2026_03.pdf",
|
||||
"WORK & PROJECTS/UAS/MAIL TRANSFER.md",
|
||||
"PERSONAL PROJECTS/VPS.md",
|
||||
"PERSONAL PROJECTS/STREAMS/TEXT TEMPLATE.md",
|
||||
"PERSONAL PROJECTS/STREAMS/P2EP GOLD ZODIAC AOBA TV.md",
|
||||
"PERSONAL PROJECTS/STREAMS",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Шаблон договора 2024-2025.doc",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Оборудование.xlsx",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/ОА ЛИМС.xlsx",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/для ЛИМС.7z",
|
||||
"WORK & PROJECTS/Mol/Серверы/VPN-FIREWALL-GATE (Cerberus).md",
|
||||
"conflict-files-obsidian-git.md",
|
||||
"WORK & PROJECTS/UAS/IP-TEL.png",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Схема образца испытаний и заявки.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Структура таблиц. Основа + заказы.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Alfa PROD NODE script.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/Динамические поля заявки v2.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/Динамические поля заявки v2 архитектура.canvas",
|
||||
"WORK & PROJECTS/Mol/Серверы/Jira - Service - Confluence - Crm.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/Динамические поля Заявок (декомпозиция) 2026.02.md",
|
||||
"WORK & PROJECTS/UAS/IP-TEL.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/samplings table.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/test logic.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/ТЗ динамических полей и ФИЗов.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/pgo_to_groups.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Разработка - 08_2025.md",
|
||||
"WORK & PROJECTS/Mol/Deepseek API-key.md",
|
||||
"WORK & PROJECTS/Mol/Ideas/Все идеи для Моли.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Alfa cloud readme.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Alfa cloud prod.canvas",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Сотрудники.xlsx",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Помещения.xlsx",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/f92754ca-70d3-4753-ae10-3a29e541da4f.pdf",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Act.xlsx",
|
||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Account.xlsx",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/entities flow.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/Структура статусов.canvas",
|
||||
"PERSONAL PROJECTS/P2EP/cdRead.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Расчёт тарифов и списаний.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/1.0/1.0.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/00001_Редактор_форм/Таблицы нумератора и документов.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/00001_Редактор_форм/Архитектура редактора и генератора (Alfa + Mol).canvas",
|
||||
"JRPG.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Websockets scheme.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Alfa cloud prod.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/notifies.canvas",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/СМК.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/00001_Редактор_форм/Описание первой версии.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Схема связей юрлиц и адресов.canvas",
|
||||
"WORK & PROJECTS/UAS/Untitled.canvas",
|
||||
"WORK & PROJECTS/UAS/Servers access.md",
|
||||
"WORK & PROJECTS/UAS/Plan.md",
|
||||
"WORK & PROJECTS/UAS/IP-TEL.png",
|
||||
"WORK & PROJECTS/UAS/Access.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/Динамические поля Заявок (декомпозиция) 2026.02.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/pgo_to_groups.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/modules_to_dyn_controls.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/dynamic_controls_table.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/test logic.md",
|
||||
"Untitled 1.md",
|
||||
"PERSONAL PROJECTS/cloudflare temp mail.md",
|
||||
"PERSONAL PROJECTS/P2EP/pseudoCode/fade calculation.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/samplings table.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/pgo_to_groups.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/modules_to_dyn_controls.md",
|
||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/dynamic_controls_table.md",
|
||||
"Untitled.md",
|
||||
"WORK & PROJECTS/Mol/Серверы/1С Бухгалтерия.md",
|
||||
"Структура объектов испытаний.png",
|
||||
"Схема связей юрлиц и адресов.png",
|
||||
"WORK & PROJECTS/img/Pasted image 20241212175419.png",
|
||||
|
||||
15
PERSONAL PROJECTS/VPS.md
Normal file
15
PERSONAL PROJECTS/VPS.md
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
95.81.100.45
|
||||
|
||||
root
|
||||
shemet
|
||||
ljuJdjh5ljuJdjh5
|
||||
|
||||
proto
|
||||
ee7ad4edc55facbf89916f064ed56774c86b6f6e636f6e2e6e6c
|
||||
|
||||
|
||||
|
||||
```
|
||||
tg://proxy?server=95.81.100.45&port=8443&secret=ee7ad4edc55facbf89916f064ed56774c86b6f6e636f6e2e6e6c
|
||||
```
|
||||
@@ -1,277 +0,0 @@
|
||||
# Скриптовый формат `Perep_script`
|
||||
|
||||
**Версия:** 1.0 (стабильная, с поддержкой универсальных ссылок)
|
||||
**Цель:** Полное описание синтаксиса и семантики скриптового языка, используемого в событиях _Persona 2 (PSX)_.
|
||||
**Ключевая особенность:** Поддержка **универсальных ссылок** через `!`, `@`, `#`.
|
||||
|
||||
---
|
||||
|
||||
## 1. Общее описание
|
||||
|
||||
`Perep_script` — это **событийно-ориентированный, потоковый скриптовый язык**, предназначенный для описания интерактивных сцен в игре: диалоги, эффекты, анимации, переходы.
|
||||
|
||||
Он сочетает:
|
||||
|
||||
- Низкоуровневые hex-команды
|
||||
- Высокоуровневые именованные операции
|
||||
- **Механизм асинхронного управления через универсальные ссылки**
|
||||
- Поддержку подпрограмм и ожиданий
|
||||
|
||||
---
|
||||
|
||||
## 2. Универсальные ссылки: `!`, `@`, `#`
|
||||
|
||||
### 🔥 Главный принцип:
|
||||
|
||||
> **Любая команда может быть помечена символом `!`, `@` или `#`. Это создаёт уникальную ссылку (handle), по которой можно управлять выполнением этой команды.**
|
||||
|
||||
Символы **не имеют семантической привязки** к типу команды (не важно, окно это, звук или задержка). Это просто **три доступных регистра ссылок**.
|
||||
|
||||
|Символ|Назначение|
|
||||
|---|---|
|
||||
|`!`|Ссылка типа A (универсальная)|
|
||||
|`@`|Ссылка типа B (универсальная)|
|
||||
|`#`|Ссылка типа C (универсальная)|
|
||||
|
||||
> ✅ Можно пометить `SoundPly#`, `000000A8!`, `LoadDung@` — всё валидно.
|
||||
> ✅ Можно использовать `__WaitTo @` на `collLink@` или `00000043#`.
|
||||
> ❌ Нельзя использовать один символ для двух активных задач одновременно — поведение не определено (перезапись).
|
||||
|
||||
---
|
||||
|
||||
### Пример использования:
|
||||
|
||||
PASCAL
|
||||
|
||||
`SoundPly@ 00003023 0000007F // Проиграть звук → handle = @ 00000043# 00000004 // Задержка на 4 тика → handle = # __WaitTo @ // Ждать завершения звука __WaitTo # // Ждать завершения задержки`
|
||||
|
||||
👉 Порядок `__WaitTo` определяет синхронизацию.
|
||||
|
||||
---
|
||||
|
||||
## 3. Синтаксис команд
|
||||
|
||||
### Формат:
|
||||
|
||||
```
|
||||
[Команда][!/@/#] [аргументы...]
|
||||
```
|
||||
|
||||
или
|
||||
|
||||
```
|
||||
[Команда] [аргументы...]
|
||||
```
|
||||
|
||||
Если команда помечена символом — она **регистрируется в системе ссылок** под этим тегом.
|
||||
|
||||
---
|
||||
|
||||
## 4. Управление выполнением
|
||||
|
||||
### `__WaitTo [!/@/#]`
|
||||
|
||||
- Приостанавливает выполнение скрипта до **завершения команды**, помеченной указанным символом.
|
||||
- Если команда уже завершена — продолжает сразу.
|
||||
- Поддерживает асинхронные операции: звуки, загрузки, эффекты.
|
||||
|
||||
**Пример:**
|
||||
|
||||
PASCAL
|
||||
|
||||
`LoadDung@ 00002E06 __WaitTo @ // Ждать загрузки локации`
|
||||
|
||||
---
|
||||
|
||||
### `__GoSub># [label]`
|
||||
|
||||
- Вызов подпрограммы.
|
||||
- Метка `#` может использоваться для:
|
||||
- Отслеживания выполнения
|
||||
- Прерывания (`__Kill #` — если поддерживается)
|
||||
- Вложенных ожиданий
|
||||
|
||||
**Пример:**
|
||||
|
||||
PASCAL
|
||||
|
||||
`__GoSub># SHOW_TEXT __WaitTo # // Ждать завершения всей подпрограммы`
|
||||
|
||||
> ⚠️ Реализация `__WaitTo #` зависит от движка: может означать "ждать входа", "ждать выхода" или "ждать завершения".
|
||||
|
||||
---
|
||||
|
||||
### `__Return--> [label]`
|
||||
|
||||
- Возврат из подпрограммы.
|
||||
- Указание метки — скорее всего, **отладочное**, чтобы легче было читать скрипт.
|
||||
- На исполнение не влияет.
|
||||
|
||||
---
|
||||
|
||||
### Возможные дополнительные команды (предположительно):
|
||||
|
||||
- `__Kill !` — принудительно завершить/прервать операцию с меткой `!`
|
||||
- `__Check @` — проверить состояние (выполняется/завершена)
|
||||
- (Требует подтверждения из других скриптов)
|
||||
|
||||
---
|
||||
|
||||
## 5. Команды (по категориям)
|
||||
|
||||
### 🔹 Аудио
|
||||
|
||||
|Команда|Описание|
|
||||
|---|---|
|
||||
|`SoundPly@`|Проиграть звук. Аргументы: `sound_id volume`|
|
||||
|`SoundStop!`|Остановить звук (если есть)|
|
||||
|
||||
---
|
||||
|
||||
### 🔹 Визуальные эффекты
|
||||
|
||||
|Команда|Описание|
|
||||
|---|---|
|
||||
|`000000A8`|Инициализация эффекта?|
|
||||
|`000000B9`|Настройка окна: `x y w h color flags`|
|
||||
|`000000BA`, `000000BB`|Fade-in/out: `type duration flag`|
|
||||
|`000000A9`|Начало fade-блока|
|
||||
|`0000004E`|Конец блока или синхронизация|
|
||||
|
||||
---
|
||||
|
||||
### 🔹 Диалоги
|
||||
|
||||
|Команда|Описание|
|
||||
|---|---|
|
||||
|`WindShow!`|Показать окно. Аргумент: режим|
|
||||
|`TextShow@`|Вывести текст с тегами|
|
||||
|`WinClose!`|Закрыть окно, связанное с `!`|
|
||||
|
||||
---
|
||||
|
||||
### 🔹 Управление объектами
|
||||
|
||||
|Команда|Описание|
|
||||
|---|---|
|
||||
|`collLink@`|Привязать объект к карте: `type x y z rot`|
|
||||
|`CSetAnim#`|Установить анимацию: `char_id anim_id speed`|
|
||||
|
||||
---
|
||||
|
||||
### 🔹 Работа с миром
|
||||
|
||||
|Команда|Описание|
|
||||
|---|---|
|
||||
|`LoadDung@`|Загрузить локацию по ID|
|
||||
|`SetFlag!`|Установить флаг события (если есть)|
|
||||
|
||||
---
|
||||
|
||||
### 🔹 Системные
|
||||
|
||||
|Команда|Описание|
|
||||
|---|---|
|
||||
|`00000043`|Задержка в тиках|
|
||||
|`__GoSub>#`|Вызов подпрограммы|
|
||||
|`__WaitTo @`|Ожидание завершения операции|
|
||||
|`__Return-->`|Возврат из подпрограммы|
|
||||
|
||||
---
|
||||
|
||||
## 6. Текст и теги
|
||||
|
||||
Поддерживаются **встроенные теги** `[XXXX]`, интерпретируемые как байтовые коды.
|
||||
|
||||
**Пример:**
|
||||
|
||||
PASCAL
|
||||
|
||||
`TextShow@ [2E12][0B00]Привет~[0111]Работает?`
|
||||
|
||||
### Распространённые теги:
|
||||
|
||||
|Тег|Предположение|
|
||||
|---|---|
|
||||
|`[2E12]`|Цвет текста|
|
||||
|`[0B00]`|Размер шрифта|
|
||||
|`[0100]`|Выравнивание|
|
||||
|`[0111]`|Пауза между символами|
|
||||
|`[0611]`|Эффект печати|
|
||||
|`[0211]`|Звук при символе|
|
||||
|`[0311]`|Новая строка / страница|
|
||||
|
||||
Символ `~` — **управляющий**: пауза, перенос, продолжение.
|
||||
|
||||
---
|
||||
|
||||
## 7. Пример: Полный разбор
|
||||
|
||||
PASCAL
|
||||
|
||||
`START: 000000A8 000000B9! 000000A0 00000078 00FFFFFF 00FFFFFF 00000002 SoundPly@ 00003023 0000007F 00000043# 00000004 __WaitTo @ __WaitTo # 000000A9 000000BA! 00000000 00006000 00000001 000000BB# 00000000 00006000 00000001 0000004E __GoSub>$ SHOW_TEXT __WaitTo $ LoadDung@ 00002E06 __Return--> START`
|
||||
|
||||
### Что происходит:
|
||||
|
||||
1. `000000B9!` — настройка окна → handle `!`
|
||||
2. `SoundPly@` — старт звука → handle `@`
|
||||
3. `00000043#` — задержка 4 тика → handle `#`
|
||||
4. `__WaitTo @` — ждать звук
|
||||
5. `__WaitTo #` — ждать задержку (хотя они могли идти параллельно)
|
||||
6. Затем — fade-in через `000000BA!`, `000000BB#`
|
||||
7. `__GoSub>$` — вызов `SHOW_TEXT` с handle `#` (здесь `$` — опечатка? или расширение? возможно, `#`)
|
||||
8. `__WaitTo $` — ждать завершения подпрограммы
|
||||
9. `LoadDung@` — загрузка локации
|
||||
10. `__Return`
|
||||
|
||||
> ⚠️ Ошибка: `__GoSub>$` — возможно, опечатка. Должно быть `__GoSub>#`. Или `$` — четвёртый тип ссылки? (маловероятно)
|
||||
|
||||
---
|
||||
|
||||
## 8. Ключевые выводы
|
||||
|
||||
### ✅ Сильные стороны:
|
||||
|
||||
- **Универсальность ссылок** — любая команда может быть адресована
|
||||
- **Гибкое управление потоком** — можно строить сложные цепочки
|
||||
- **Асинхронность без потоков** — через `__WaitTo`
|
||||
- **Читаемость** — при правильном использовании
|
||||
|
||||
### ⚠️ Ограничения:
|
||||
|
||||
- Нет проверки на повторное использование ссылки
|
||||
- Нет обработки ошибок
|
||||
- Нет явного освобождения handle
|
||||
- Нет документации от разработчиков — всё по анализу
|
||||
|
||||
---
|
||||
|
||||
## 9. Рекомендации
|
||||
|
||||
1. **Используйте ссылки последовательно:**
|
||||
|
||||
PASCAL
|
||||
|
||||
`SoundPly@ ... __WaitTo @ TextShow# ... __WaitTo #`
|
||||
|
||||
2. **Не используйте одну метку дважды подряд без ожидания:**
|
||||
|
||||
PASCAL
|
||||
|
||||
`SoundPly@ 1234 SoundPly@ 5678 ← Первая ссылка @ теряется!`
|
||||
|
||||
3. **Для вложенных вызовов используйте разные метки:**
|
||||
|
||||
PASCAL
|
||||
|
||||
`__GoSub># sub1 __GoSub>@ sub2 __WaitTo # __WaitTo @`
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 10. Заключение
|
||||
|
||||
`Perep_script` — это **гибкий, event-driven язык с мощной системой управления выполнением через универсальные ссылки**. Его ключевое преимущество — способность синхронизировать разнородные операции (звук, графика, загрузка) через единый механизм `__WaitTo @`.
|
||||
|
||||
Он идеально подходит для сценариев в RPG с множеством асинхронных действий.
|
||||
|
||||
@@ -34,6 +34,9 @@ https://mailadmin.1-agent.ru/
|
||||
`admin@1-agent.ru`
|
||||
aH8thcQ5gOJ99bzNGN3h
|
||||
|
||||
notify@1-agent.ru
|
||||
neVospolnimost9901
|
||||
|
||||
YWRtaW5AMS1hZ2VudC5ydQ==
|
||||
YUg4dGhjUTVnT0o5OWJ6TkdOM2g=
|
||||
|
||||
|
||||
Reference in New Issue
Block a user