//---------------------------AI Talk-------------------------- //--OnAiTalk // This is mostly setting up whether or not dialogue is in a chain before it displays. OnAiTalk { if RAND(100) < communicateratio { StartCommunicate } else { if CHAIN.IDName == "" { lastTalk = RandomTalk } else { lastTalk = ChainTalk } lastTalk } } RandomTalk : nonoverlap_pool { "\0\s[0]Вес на правую ногу.. \w4Лезвие описывает дугу.. \w4И доворачивая правое плечо.. \w4Резкий взмах!\e" "\0\s[0]Люма не может петь пока тональный сервер не отвечает. Но ничего. Даже без своей магии Люма всё ещё довольно сильная.\e" "\0\s[0]О, картошка♪~\w6 и сиропчик,♪~\w6\nВыучить\w2 алгебру\w2 будет вам проще.♪\e" if timeslot == "earlymorning" // 5 to 8 { "\0\s[0]Ещё так рано.. Видно ли ещё звёзды из окна, Хозяин?\e" } if timeslot == "morning" // 9 to 11 { "\0\s[0]Вот и начало нового дня. Чем бы заняться?\e" } if timeslot == "lunch" // 12 to 2 { // "\0\s[0]\e" } if timeslot == "afternoon" // 3 to 5 { // "\0\s[0]\e" } if timeslot == "evening" // 6 to 8 { // "\0\s[0]\e" } if timeslot == "latenight" // 9 to 12 { "\0\s[0]Люма не может уснуть, так что пока посидит с хозяином\e" } if timeslot == "midnight" // 12 to 5 { "\0\s[0]\w4.\w4.\w4.\w8А? Что? Нет, Люма не спала..\e" } if isProgramRunning("SunAwtFrame","Apache NetBeans IDE") { "\0\s[0]NetBeans IDE? Люма ничего не понимает в коде, но любит смотреть как работает хозяин.\e" "\0\s[0]Строчка за строчкой, без спешки, чай, музыка.. Люма не умеет программировать, но умеет вязать крючком, и программирование иногда очень похоже на вязание крючком..\e" } else { "\0\s[0]Может, запустим NetBeans IDE?\e" } if weekday == 6 || weekday == 7 { if isProgramRunning("Notepad++","Notepad++") == 0 { "\0\s[0]У тебя выходной, хозяин? Ты обещал доработать Люму.\e" } } if isProgramRunning("Notepad++","\ghost\master") { "\0\s[0]Работаешь над Призраком, хозяин?\e" } } /* * _argv[0] - window class name, find it out using external means * _argv[1] - window name(or part of it) like "Eclipse" or "NetBeans" * returns 1 if program running, has title requested, and is not minimized, 0 otherwise */ isProgramRunning { isProgramAvailable = FUNCTIONEX("findwin.dll","find",,_argv[0]) isRunning = 0 if isProgramAvailable == 1 { // TODO: check what "getcaption" returns if there are multiple different apps with same class, eg netbeans and minecraft programTitle = FUNCTIONEX("findwin.dll","getcaption",_argv[0]) programInstancesRunning = FUNCTIONEX ("findwin.dll","count",,_argv[0]) if _argv[1] _in_ programTitle && programInstancesRunning > 0 { isRunning = 1 } } isRunning // 'return' keyword breaks this, using implicit return } OnKeyPress { if reference0 == "t" { OnAiTalk } elseif reference0 == "r" { OnLastTalk } elseif reference0 == "f1" { "\![open,readme]" } }