Обучение

**Обучение** — первый уровень первой части серии игр FarmCraft, в котором дедушка учит Марту основам сельского хозяйства. Игроку объясняются основы управления FarmCraft 1, а также основные механики: вскапывание грядок, засеивание полей семенами, поливка растений и их продажа. За прохождение игрок получает наградные часы с кукушкой.

## Задания

1. **Тренировка с лопатой.** Дважды кликните по свободному месту на поле, чтобы вскопать грядку.
2. **Продолжаем тренировку!** Вскопайте 4 поля.
3. **Тренировка с семенами.** Возьмите пакет семян и посадите 4 тыквы.
4. **Тренировка с лейкой.** Наполните лейку водой из колонки и полейте 4 тыквы.
5. **Окончание тренировки.** Продайте 3 ящика тыкв, чтобы закончить обучение.

## Комикс

```
Однажды в марте в одной маленькой бедной деревушке появилась особенная девочка.
Бабка: Ты станешь величайшей фермершой нашего времени и спасёшь нас от натиска индустриализма!
У её бабушки было не всё в порядке с головой, но в данном случае она была права.

Девочка с младенчества проявляла склонность к сельскому хозяйству.
Дед: Ты смотри, старая, Марте ещё года нет, а уже какой огород из песка сделала!
Бабка: У девочки большое будущее, дед, попомни мои слова.

В возрасте шести лет дедушка начал учить Марту премудростям сельского хозяйства.
Дед: Почувствуй силу в себе, юная ученица, и вскопай эту грядку!

Бац!
Хряп!
Не всё давалось Марте с первого раза...
Марта: По-моему это не похоже на грядку.
...но она была упорна, и со временем постигла все тайны огородного дела.

Дед: Не забывай, юная ученица, - любое дело должно идти из глубины души твоей!
Марта: Дедушка, а почему ты так странно разговариваешь?

```

## Скрипт

Игровой сценарий уровня находится в директории `/data/scripts/level1.txt`.

```
тут можно писать что угодно!

<<

@level 1
{
 #string level\_name "Обучение";
 #point level\_size 24, 16;
 #string level\_env "grass";
 #float level\_time 300;
 #float plant\_thirst\_growth 1.3;
 #float health\_reduction\_after\_harvest 2;
 #float plant\_minimal\_health 1;

 @scenario
 {
 //----------------------------------------------//
 // все условии //
 //----------------------------------------------//

 @l1\_cond1
 {
 time >= 1;
 }

 @l1\_cond2
 {
 time >= 2;
 }

 @l1\_1dig\_cond
 {
 fields\_dug >= 1;
 }

 @l1\_4dig\_cond
 {
 fields\_dug >= 4;
 }

 @l1\_4plant\_cond
 {
 sow\_pumpkin >= 4;
 }

 @l1\_4ready\_cond
 {
 fruits\_ready >= 2;
 plants\_watered >= 4;
 }

 @l1\_8ready\_cond
 {
 fruits\_ready >= 6;
 }

 @l1\_12ready\_cond
 {
 fruits\_ready >= 10;
 }

 @l1\_4water\_cond
 {
 plants\_watered >= 4;
 }

 @l1\_4thirsty\_cond
 {
 thirsty\_plants >= 1;
 }

 @l1\_8thirsty\_cond
 {
 thirsty\_plants >= 5;
 }

 @l1\_1sell\_cond
 {
 sell\_plant\_pumpkin >=1;
 }

 @l1\_2sell\_cond
 {
 sell\_plant\_pumpkin >=2;
 }

 @victory
 {
 sell\_plant\_pumpkin >=3;
 }

 @defeat\_time
 {
 time >= 300000000000000;
 }

 //----------------------------------------------//
 // мессаги //
 //----------------------------------------------//

 @action
 {
 #string type "show message";
 #string data "l1\_message\_welcome";
 @condition
 {
 l1\_cond1;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_dig\_one";
 @condition
 {
 l1\_cond2;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_dig\_four";
 @condition
 {
 l1\_1dig\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_dig\_twelve";
 @condition
 {
 l1\_4dig\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_plant\_four";
 #int delay 2;
 @condition
 {
 l1\_4dig\_cond;
 }
 }

 @action
 {
 #string type "add particles";
 #string data "pumpkin item\_hint 20";
 #int delay 2;
 @condition
 {
 l1\_4dig\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_wait\_harvest";
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_water";
 #int delay 5;
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 @action
 {
 #string type "add particles";
 #string data "watercan item\_hint 20";
 #int delay 5;
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 @action
 {
 #string type "add particles";
 #string data "waterpump item\_hint 20";
 #int delay 7;
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 @action
 {
 #string type "add particles";
 #string data "plant\_pumpkin item\_hint 20";
 #int delay 9;
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_water\_ok";
 @condition
 {
 l1\_4water\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_dig\_more";
 #int delay 2;
 @condition
 {
 l1\_4water\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_fruits\_ready";
 @condition
 {
 l1\_4ready\_cond;
 }
 }

 @action
 {
 #string type "add particles";
 #string data "box item\_hint 20";
 @condition
 {
 l1\_4ready\_cond;
 }
 }

 @action
 {
 #string type "add particles";
 #string data "hangar\_vegetables item\_hint 20";
 #int delay 6;
 @condition
 {
 l1\_4ready\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_box\_tutorial";
 #int delay 2;
 @condition
 {
 l1\_1sell\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_thirst\_reminder";
 @condition
 {
 l1\_4thirsty\_cond;
 }
 }
 @action
 {
 #string type "show message";
 #string data "l1\_message\_thirst\_reminder";
 @condition
 {
 l1\_8thirsty\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_second\_harvest";
 @condition
 {
 l1\_8ready\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_third\_harvest";
 @condition
 {
 l1\_12ready\_cond;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_fertilizer\_tutorial";
 #int delay 2;
 @condition
 {
 l1\_2sell\_cond;
 }
 }

 @action
 {
 #string type "show help";
 #string data "";
 #int delay 2;
 @condition
 {
 victory;
 }
 }

 @action
 {
 #string type "show message";
 #string data "l1\_message\_victory";
 #int delay 4;
 @condition
 {
 victory;
 }
 }

 //----------------------------------------------//
 // а тут дибильные таски на уровень //
 //----------------------------------------------//

 @action
 {
 #string type "set task";
 #string data "l1\_task\_1dig";
 @condition
 {
 l1\_1dig\_cond;
 }
 }

 @action
 {
 #string type "set task";
 #string data "l1\_task\_4dig";
 @condition
 {
 l1\_4dig\_cond;
 }
 }

 @action
 {
 #string type "set task";
 #string data "l1\_task\_4plant";
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 @action
 {
 #string type "set task";
 #string data "l1\_task\_4water";
 @condition
 {
 l1\_4water\_cond;
 }
 }

 @action
 {
 #string type "set task";
 #string data "l1\_task\_3sell";
 @condition
 {
 victory;
 }
 }

 //----------------------------------------------//
 // подзадачи //
 //----------------------------------------------//

 @action
 {
 #string type "add task";
 #string data "l1\_task\_1dig";
 @condition
 {
 l1\_cond2;
 }
 }

 @action
 {
 #string type "add task";
 #string data "l1\_task\_4dig";
 @condition
 {
 l1\_1dig\_cond;
 }
 }

 @action
 {
 #string type "add task";
 #string data "l1\_task\_4plant";
 @condition
 {
 l1\_4dig\_cond;
 }
 }

 @action
 {
 #string type "add task";
 #string data "l1\_task\_4water";
 @condition
 {
 l1\_4plant\_cond;
 }
 }

 //----------------------------------------------//
 // главное задание //
 //----------------------------------------------//
 @action
 {
 #string type "add task";
 #string data "l1\_task\_3sell";
 @condition
 {
 l1\_4water\_cond;
 }
 }

 //----------------------------------------------//
 // добавляем на поле //
 //----------------------------------------------//

 @action
 {
 #string type "add to field";
 #string data "hero";
 #point coords 6, 6;
 }
 @action //добавили ангар
 {
 #string type "add to field";
 #string data "hangar\_vegetables";
 #point coords 5, 3;
 }

 @action //добавили лейку
 {
 #string type "add to field";
 #string data "watercan";
 #point coords 9, 4;
 }

 @action //добавили колонку
 {
 #string type "add to field";
 #string data "waterpump";
 #point coords 8, 3;
 }

 @action //добавили ящик
 {
 #string type "add to field";
 #string data "box";
 #point coords 8, 5;
 }

 @action //добавили семена капусту
 {
 #string type "add to field";
 #string data "pumpkin";
 #point coords 9, 5;
 }
 //----------------------------------------------//
 // добавляем всякое //
 //----------------------------------------------//

 @action
 {
 #string type "add money";
 #string data "10";
 }

 //----------------------------------------------//
 // игровые события //
 //----------------------------------------------//

 @action
 {
 #string type "add to shop";
 #string data "box";
 #int delay 2;
 @condition
 {
 l1\_1sell\_cond;
 }
 }
 @action
 {
 #string type "add to shop";
 #string data "fertilizer";
 #int delay 2;
 @condition
 {
 l1\_2sell\_cond;
 }
 }

 @action
 {
 #string type "victory";
 #int delay 4;
 @condition 1
 {
 victory;
 }
 }
 @action
 {
 #string type "defeat";
 @condition 1
 {
 defeat\_time;
 }
 }
 }
}

>>

тут тоже можно писать что угодно
что угодно

```

## Прохождения

ПЕРВЫЕ НАЧИНАНИЯ ► Чудесный Огород (FarmCraft) -1LoizyFarm Craft - - 1 Уровень 1 и 2- Первая ферма и Свинский голодFluffy Kitty