04.09.2016 в 11:50 (3525 Просмотров)
Как самые старые из вас помнят, наверное, в списке "когда-нибудь допилю" у меня есть несколко олд-скул стайл рпгшек. Типа такого:
(Скриншот из версии под XP, сейчас оно под VX Ace, но кого это волнует?)
О том как работает эта механика я писал четыре года назад вот тут (четыре года назад, блин. Я за это время успел сменить несколько стран проживания, развалить пару своих бизнесов, а игру не доделал).
Первый пункт меню "спросить о" - вызывает input name, где можно задать тему для разговора. Укажите чье-то имя или название локации, а npc расскажет вам все, что о них знает. Вводить слова естественно можно с клавиатуры (связка скриптов - CP Keyboard Input script от NeonBlack и NAME INPUT USING KEYBOARD от ESTRIOLE).
Зачем я тут все это пишу и очередной ли это воскресный пиар? Нет, я пишу это потому, что разобрался с одной проблемой (с которой вы все разобрались, может быть, но я не в курсе). Варианты реакций npc на вышеобозначенные введенные через input name слова зависят от coonditinal branch'ей с соответствующими условиями. Ну, то есть, если условие "Король", то непись рассказывает всё о короле. Но, что делать, если игрок ввел "король", "кОРОЛЬ" или "кОрОль"? Клепать дополнительные дублирующие варианты? Нет.
Код:
$game_actors[x].name.downcase == "король"
При таком conditional branch условии слово написанное в любом регистре считается словом написанном в нижнем регистре. И никаких больше дублирующих вариантов.
Я, возможно, открыл Америку, но теперь мои ретро рпг будет делать гораздо удобнее.