第一章 脚本详解
1)打招呼 接近管家的近身,管家就会主动打招呼。根据访问的人的不同,管家打招呼的客套话也会有所不同。
// 在下表中输入角色名和该角色访问时打招呼的客套话即可。
helloTable = {
[kvalue:角色名1;角色名1;str] : [ "[kvalue:客套话1;你好;str]", [kvalue:打招呼的音效1;H.Percussion.fx2;fx] ],
[kvalue:角色名2;角色名2;str] : [ "[kvalue:客套话2;Hi;str]", [kvalue:打招呼的音效2;H.Percussion.fx11;fx] ],
[kvalue:角色名3;角色名3;str] : [ "[kvalue:客套话3;欢迎光临;str]", [kvalue:打招呼的音效3;H.Percussion.fx6;fx] ],
}
function GetHelloString(desc)
{
if (helloTable[desc] == null)
return desc + "[kvalue:基本客套话; 客人,您好。;str]";
else
return helloTable[desc][0];
}
function GetHelloSound(desc)
{
if (helloTable[desc] == null)
return [kvalue:基本音效;H.Percussion.fx9;fx];
else
return helloTable[desc][1];
}
// 脚本初始化时调用。
function OnInit()
{
// SetSensor用来设定管家识别出玩家的距离。
// 进入第一个变量的范围内管家会识别出来,
// 离开第二个变量的范围管家会无视,
// 如下所示,进入3米以内时会识别出来,
// 离开30米以外就无视。
H.SetSensor(3, 30);
}
// 当玩家进入到管家能够识别的距离范围内时调用。
function OnUserEntered(desc)
{
// PlaySound用来播放音乐或设置label。
// 第一个变量是频道,第二个变量是乐谱。
// 如下所示,0号频道内设置两个label。
H.PlaySound(0, "r[1]r[2]");
// 根据不同的人来播放音效。
if (GetHelloSound(desc) != null)
{
// SetPercussion设置声音.
H.SetPercussion(1, GetHelloSound(desc));
// "x"为SetPercussion,播放设定的声音。
H.PlaySound(1, "x");
}
// 管家开始播放动画。
// 第一个变量0指代管家。
// 第二个变量1指代上面PlaySound的[1]号label。
// 第三个变量是摆手的动作。
H.StartAnimation(0, 1, [kvalue:打招呼的动作;H.Emotion.wave;moti]);
// 管家在说话的同时会弹出对话框。
// 第一个变量2是上面PlaySound的[2]号label。
// 第二个变量中放入管家要说的话。
H.Say(2, GetHelloString(desc));
}
// 可以设置的动作:
1)打招呼 接近管家的近身,管家就会主动打招呼。根据访问的人的不同,管家打招呼的客套话也会有所不同。
// 在下表中输入角色名和该角色访问时打招呼的客套话即可。
helloTable = {
[kvalue:角色名1;角色名1;str] : [ "[kvalue:客套话1;你好;str]", [kvalue:打招呼的音效1;H.Percussion.fx2;fx] ],
[kvalue:角色名2;角色名2;str] : [ "[kvalue:客套话2;Hi;str]", [kvalue:打招呼的音效2;H.Percussion.fx11;fx] ],
[kvalue:角色名3;角色名3;str] : [ "[kvalue:客套话3;欢迎光临;str]", [kvalue:打招呼的音效3;H.Percussion.fx6;fx] ],
}
function GetHelloString(desc)
{
if (helloTable[desc] == null)
return desc + "[kvalue:基本客套话; 客人,您好。;str]";
else
return helloTable[desc][0];
}
function GetHelloSound(desc)
{
if (helloTable[desc] == null)
return [kvalue:基本音效;H.Percussion.fx9;fx];
else
return helloTable[desc][1];
}
// 脚本初始化时调用。
function OnInit()
{
// SetSensor用来设定管家识别出玩家的距离。
// 进入第一个变量的范围内管家会识别出来,
// 离开第二个变量的范围管家会无视,
// 如下所示,进入3米以内时会识别出来,
// 离开30米以外就无视。
H.SetSensor(3, 30);
}
// 当玩家进入到管家能够识别的距离范围内时调用。
function OnUserEntered(desc)
{
// PlaySound用来播放音乐或设置label。
// 第一个变量是频道,第二个变量是乐谱。
// 如下所示,0号频道内设置两个label。
H.PlaySound(0, "r[1]r[2]");
// 根据不同的人来播放音效。
if (GetHelloSound(desc) != null)
{
// SetPercussion设置声音.
H.SetPercussion(1, GetHelloSound(desc));
// "x"为SetPercussion,播放设定的声音。
H.PlaySound(1, "x");
}
// 管家开始播放动画。
// 第一个变量0指代管家。
// 第二个变量1指代上面PlaySound的[1]号label。
// 第三个变量是摆手的动作。
H.StartAnimation(0, 1, [kvalue:打招呼的动作;H.Emotion.wave;moti]);
// 管家在说话的同时会弹出对话框。
// 第一个变量2是上面PlaySound的[2]号label。
// 第二个变量中放入管家要说的话。
H.Say(2, GetHelloString(desc));
}
// 可以设置的动作: