128 lines
3.5 KiB
Plaintext
128 lines
3.5 KiB
Plaintext
//---------------------------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]"
|
|
}
|
|
} |