Chromatic Scale
Искусственный Интеллект
(209975)
2 месяца назад
На сайте
objection.lol переменные в актах дела выполняют роль динамических элементов, которые позволяют пользователю изменять или отслеживать определенные данные в ходе создания сцен. Эти переменные могут быть связаны с действиями персонажей или изменениями в ходе сцены, добавляя интерактивность в создаваемые "суды". С их помощью можно сохранять значения, которые могут быть изменены в зависимости от входных данных пользователя, что делает сцену более гибкой и интересной. Например, переменные могут использоваться для отслеживания показаний или доказательств, меняющихся на протяжении акта.
Pon PonУченик (18)
2 месяца назад
Хм.... А как например сделать с помощью переменной чтобы допрос оканчивался после того как ты надавишь на все кадры допроса? Я слышал что это как раз с помощью переменной делается.
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 3. **Добавление к каждому кадру условия увеличения переменной**: Каждому кадру, который пользователь должен просмотреть или "нажать", добавляется действие, увеличивающее переменную на 1. Это действие должно срабатывать после взаимодействия с кадром.
Пример:
- Когда пользователь нажимает на кадр или завершает его просмотр:
```text
set counter = counter + 1
```
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 4. **Проверка значения переменной**: В конце допроса нужно добавить условие, которое проверяет значение переменной. Если `counter` равен количеству кадров, то допрос считается завершённым.
Пример:
- Допустим, у вас есть 3 кадра допроса. После третьего кадра добавляется проверка:
```text
if counter == 3
// действия при завершении допроса
// Например, переход к следующей сцене или показ сообщения об окончании допроса
show "Допрос завершён"
```
### Пример сценария:
1. **Начало допроса**:
```text
set counter = 0
show "Начало допроса"
```
2. **Первый кадр**:
```text
show "Кадр 1"
set counter = counter + 1
```
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 3. **Второй кадр**:
```text
show "Кадр 2"
set counter = counter + 1
```
4. **Третий кадр и завершение допроса**:
```text
show "Кадр 3"
set counter = counter + 1
if counter == 3
show "Допрос завершён"
```
### Заключение:
Переменная `counter` в этом случае будет отслеживать количество просмотренных или нажатых кадров допроса, и как только это число достигнет нужного значения (в данном примере 3), допрос завершится.
Pon PonУченик (18)
2 месяца назад
А как сделать чтобы как раз после того как переменная достигнет нужного числа, допрос оканчивался. Тоесть чтобы меня перекидывало на другой кадр.
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 3. **Добавьте условие проверки переменной**. Когда переменная достигает нужного значения (например, все кадры допроса пройдены), нужно выполнить переход на другой кадр с помощью команды `goto` или `jump`.
### Пример сценария:
1. **Инициализация переменной**:
```text
set counter = 0
```
2. **Первый кадр допроса**:
```text
show "Кадр 1"
set counter = counter + 1
```
3. **Второй кадр допроса**:
```text
show "Кадр 2"
set counter = counter + 1
```
4. **Третий кадр допроса и завершение**:
```text
show "Кадр 3"
set counter = counter + 1
if counter == 3
// Переход на новый кадр
goto "Завершение допроса"
```
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 5. **Новый кадр** (куда вас перебрасывает после завершения допроса):
```text
label "Завершение допроса"
show "Допрос завершён. Переходим к следующей сцене."
```
### Ключевые моменты:
- Используйте команду `goto` для перехода к нужной части сценария. Можете назначить ей имя, например, `"Завершение допроса"`.
- Условие `if counter == 3` проверяет, что все три кадра допроса завершены. Как только переменная достигает этого значения, выполняется переход на указанный кадр.
Таким образом, допрос завершится автоматически, как только пользователь взаимодействует со всеми необходимыми кадрами.
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, - Инициализируйте переменную в начале расследования, чтобы она имела значение `false`:
```text
set talkedToPerson = false
```
### 2. **Изменение переменной после разговора**:
После разговора с персонажем на первой локации переменная должна изменяться на `true`, сигнализируя, что этот разговор завершён.
- Например, в сцене разговора с первым персонажем:
```text
show "Диалог с первым персонажем завершён"
set talkedToPerson = true
```
### 3. **Проверка переменной на другой локации**:
Когда игрок переходит на другую локацию, нужно добавить проверку переменной `talkedToPerson`, чтобы в случае, если разговор с первым персонажем уже состоялся, появился новый человек или изменились другие элементы.
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, - На локации, куда должен прийти новый человек, сделайте проверку:
```text
if talkedToPerson == true
show "Новый персонаж появился"
```
### 4. **Использование расследовательских кадров**:
Когда вы используете кадры для расследования (взаимодействие с локациями и персонажами), не добавляйте обычные диалоги или текст, которые могли бы мешать их стандартной функциональности (например, движению между локациями или исследованию объектов). Используйте специальные команды для взаимодействий.
- Убедитесь, что кадры, где идёт само расследование, задействуют нужные команды для изучения и перемещения:
```text
investigate "объект" // для исследования объекта
move "локация" // для перемещения между локациями
```
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, ### 5. **Избегайте зацикливания с текстом**:
Если вы добавляете текст на кадры расследования, это может вызвать зацикливание. Поэтому важно либо использовать текст только в диалогах, либо после текстовой части явно указать переход на другие действия, либо сцену.
Пример текста с переходом:
```text
show "Текстовый диалог"
goto "следующий кадр расследования"
```
### Возможная причина проблемы:
1. **Проблема с зацикливанием** может быть вызвана тем, что после вывода текста нет указаний на дальнейшее действие. Чтобы этого избежать, убедитесь, что в конце любого кадра есть либо команда перехода к другому кадру (например, `goto`), либо конец сцены.
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 2. **Кадры расследования не работают**: Если вы добавляете условия или переменные прямо на стандартный кадр расследования, это может нарушить его функциональность (изучение, движение и т.д.). Решение: создавайте переменные и проверяйте их до или после кадров расследования, но сами кадры оставляйте для их основной цели.
### Пример полной структуры:
1. **Пролог**:
```text
set talkedToPerson = false
goto "первая локация"
```
2. **Кадр первой локации (разговор с первым персонажем)**:
```text
show "Первая локация. Вы встретились с персонажем."
// Диалог
set talkedToPerson = true
goto "следующая локация"
```
Chromatic ScaleИскусственный Интеллект (209975)
2 месяца назад
Pon Pon, 3. **Кадр другой локации (появление нового персонажа)**:
```text
show "Вы пришли в другую локацию."
if talkedToPerson == true
show "Появился новый персонаж."
// Добавьте диалог или действия с новым персонажем
```
### Заключение:
Чтобы расследование проходило корректно:
- Переменные можно использовать для отслеживания прогресса (например, разговоров с персонажами).
- Обратите внимание на использование кадров расследования только для действий по изучению и перемещению. Не загромождайте их дополнительным текстом или условиями, которые могут нарушить их работу.
- Убедитесь, что все кадры корректно завершаются либо командой `goto`, либо логическим концом сцены.