Алгоритм создание нового рецепта
В первую очередь необходимо определить к какой групе относится создаваемый предмет. В игре определены 7 групп и тем самым 7 различных файлов.
combinations_actions.inf - активные например факел.
combinations_basic.inf - ветки, камни и т.д. Что-то наподобие строительных материалов.
combinations_ammo.inf - патроны
combinations_potions.inf - питьевые
combinations_stuff.inf - разное
combinations_tools.inf - инструменты
combinations_weapons.inf - оружие
Теперь разберем пример как сделать новую комбинацию основываясь на уже сформированных данных в этих файлах.
К примеру, добавим комбинацию для предмета вода получаемый пережатием из 10 лиан и камня.
В редакторе карт посмотрим какой номер у воды (38). Теперь найдем в файле combinations_potions.inf строку где выжимается из 30 листьев вода, то есть должна быть строка gen=38 (через поиск легко найти).
### Water (30xLeaf + Stone) combi=start id=water req=15,30 req=23,1,stay gen=38 script=start play "mat_fruit2.wav"; process "squeezing leaves",1000; script=end combi=end
По аналогии можно добавить в конец файла следующие строки
### Water (10xLiana + Stone) combi=start id=water req=26,10 req=23,1,stay gen=38 script=start play "mat_fruit2.wav"; process "squeezing leaves",1000; script=end combi=end
Как видно мы изменили всего лишь одну строку req=15,30 на req=26,10
Таким образом req означает из чего будет составлен предмет далее идет номер предмета через запятую их количество.
в строке req=23,1,stay
stay – означает, что камень после использования не удаляется из инвентаря.
Детальней разберем каждую строчку кода
### Water (10xLiana + Stone) - комментарий. Все что написано после символа # является комментарием. combi=start - Специальные слова, дающие компьютеру знать что далее пойдет информация о комбинации предмета id=water - идентификатор типа получаемого предмета в данном случае вода (есть дерево, камень и др.) req=26,10 - Первый ингредиент req=23,1,stay - Второй ингредиент gen=38 - Что получится при смешивании script=start - Специальные слова, дающие компьютеру знать, что при удачном комбинированные необходимо выполнить ряд команд. play "mat_fruit2.wav"; - Проиграть музыку process "squeezing leaves",1000; - Сообщить о том что происходит определенный процесс, причем в верху появится надпись "squeezing leaves" и ее длительность будет равна 1000 (то есть 1 сек). script=end - окончание скрипта combi=end - окончание комбинации
Соответственно строчек req может быть несколько, это будет означать что начальных ингридиентов должно быть столько, сколько этих строчек написано.
Таким образом можно создавать любые рецепты. |