Элементы геймплея
Костер(он же кострище)
Что я собственно хотел получить:
1. Он мне нужен был для приготовления еды (еще планируется котел, но обо все по порядку)
2. Он должен был гаснуть со временем
3. Его можно было разжигать в любом месте карты
Вроде бы такой простой элемент, но без проблем не обошлось
Первый вариант:
Сам костер(кострище) сначала крафтился. Игрок получал в инвентарь предмет "Костер" соответственно.
При использовании этого предмета вызывалось общее событие.
Делало оно следующее:
Игрок делал шаг назад (Сделано было для того, что бы костер нельзя было поставить в дерево или воду, например) --- Срабатывала анимация огня --- на место где стоял игрок до шага назад перемещалось заранее заготовленное событие, которое собственно и было костром.
--- Это событие само включалось переменной костер давало возможность что-то на нем жарить или подкинуть дров.
И он со временем тух, т.к. в параллельном событии менялась переменная, отвечающая за силу огня.
А анимации просто менялись вкладками в зависимости от переменной "костер".
Проблемы:
Первая проблема возникла такая же как и с ивентами случайных ресурсов. После выхода из крафта, костер возвращался на то же место, где был сначала.
Эту проблему я решил легко. Просто добавил еще одно Автоматическое событие, запоминающее и возвращающее костер на место где его поставили.
Следующая проблема возникла когда я стал разбивать карту на сектора.
Помимо того, что в каждом секторе нужно было ставить по костру, по запоминающему место событию. И присваивать каждому костру по переменной "силы огня". Еще и что бы общее событие по вызову работала правильно, нужно было чтобы у всех костров на всех картах совпадал ID самого события. Ибо Вызов костра перемещал к игроку то какое-нить дерево, то вообще ивент телепортации. Задача мне показалась слишком сложной и я, долго поэкспериментировав и танцуя с бубном над ивентами, решил систему костров упразднить.
Раскидал во все сектора по месту под костер.
Теперь, чтобы его разжечь вам просто требуется 3 дерева и 1 сухая трава.
Я создал для каждого костра свой переключатель и свою переменную силы огня. (Пришлось попотеть)
Но с этим связан еще один баг, о котором я знаю, но решить проблему пока не могу.
Сила огня уменьшается только когда игрок находится на той же карте, что и зажженный костер.
Так бродя очень долго, можно вернуться на старую локацию и обнаружить там горящий костер, чего быть не должно.
Можно было бы конечно вывести все в общие параллельные события. Но если их будет слишком много, игра начнет лагать.
С этим элементом пока все. Если кто-то знает пути решения проблем, пишите. Буду рад.
P.s. Следующие элементы:
Ключевые показатели в игре и
Ресурсы и их сбор