Есть 3 предмета:
Как сделает этот код лютый новичок:
Теперь код, который 1. оптимизирован 2. читабелен 3. проще фиксить 4. меньше весит:
Предметы во втором способе добавлять ооочень легко, его можно переделать под больший лут (не только пустой предмет, а например выдача брони)
Картошка
Цена: 10
Морковь
Цена: 15
Свекла
Цена: 20
Как сделает этот код лютый новичок:
Код:
Событие игрока - Клик
Если игрок - Предмет равен (Картошка):
Игровое действие - Отменить событие
Если переменная - Сравнить число (%player%_деньги >= 10):
Присв переменную - Убавить (%player%_деньги -= 10)
Действие игрока - Выдать предмет (Картошка)
Действие игрока - Отправить сообщение ("Куплено")
Действие игрока - Проиграть звук (#)
Иначе:
Действие игрока - Отправить сообщение ("Мало денек")
Если игрок - Предмет равен (Морковка):
Игровое действие - Отменить событие
Если переменная - Сравнить число (%player%_деньги >= 15):
Присв переменную - Убавить (%player%_деньги -= 15)
Действие игрока - Выдать предмет (МОРКОВКА)
Действие игрока - Отправить сообщение ("Куплено")
Действие игрока - Проиграть звук (#)
Иначе:
Действие игрока - Отправить сообщение ("Мало денек")
Если игрок - Предмет равен (Свекла):
Игровое действие - Отменить событие
Если переменная - Сравнить число (%player%_деньги >= 20):
Присв переменную - Убавить (%player%_деньги -= 20)
Действие игрока - Выдать предмет (СВЕКЛА)
Действие игрока - Отправить сообщение ("Куплено")
Действие игрока - Проиграть звук (#)
Иначе:
Действие игрока - Отправить сообщение ("Мало денек")
# И копипаста
Теперь код, который 1. оптимизирован 2. читабелен 3. проще фиксить 4. меньше весит:
Код:
Событие игрока - Клик
Если игрок - Предмет равен (Картошка, морковь, свекла):
Игровое действие - Отменить событие
Вызвать функцию - купить.Инфо ($Синхронный_запуск)
Если переменная - Сравнить число (%player%_деньги >= %player%_купить.цена):
Присв переменную - Убивить (%player%_деньги -= %player%_купить.цена)
Действие игрока - Выдать предмет из переменной (%player%_купить.предмет)
Действие игрока - Отправить сообщение ("Куплено")
Действие игрока - Проиграть звук (#)
Иначе:
Действи игрока - Отправить сообщение ("Мало денек")
Действие игрока - Проиграть звук (#)
Функция (купить.Инфо)
Если игрок - Предмет равен (Картошка):
Присв переменную - Равно (%player%_купить.цена = 10)
Присв переменную - Установить предмет (%player%_купить.предмет = КАРТОШКА)
Если игрок - Предмет равен (Морковка):
Присв переменную - Равно (%player%_купить.цена = 15)
Присв переменную - Установить предмет (%player%_купить.предмет = МОРКОВКА)
Если игрок - Предмет равен (Свекла):
Присв переменную - Равно (%player%_купить.цена = 20)
Присв переменную - Установить предмет (%player%_купить.предмет = СВЕКЛА)
Предметы во втором способе добавлять ооочень легко, его можно переделать под больший лут (не только пустой предмет, а например выдача брони)