level 1
脚本实例教程连载八 if,if-else循环
脚本实例教程连载八 if,if-else循环
脚本实例教程连载八 if,if-else循环
下面是if, if-else的演示
// 下面的程序包含两个状态 default 和 new. 例子中状态传递是必需的,是为了防止程序不断的监听和回应来自0频道的信息。
default
//默认状态
{
touch_start(integer total_number)
//触摸开始 与之对应的还有touch_end 触摸结束, 据说还有 touch 触摸
{
llSay(0, "What is the number of this poster? Please reply using chat.");
//在0频道说话说 引号里的内容
state new;
//说完话后 转到 new 状态 ,这个状态是自定义的 你也可以 叫它 nnnnew 只要后面名字一样就好
}
}
state new
//建立一个 新的状态 ,名字为 new (即使名字是old,它也同样是新的状态 -_-!!)
{
state_entry()
//new状态一 开始 就 运行以下{}
{
llListen(0,"",NULL_KEY, "");
//监听 0频道 任何人,物的说话
//llListen(0,"",NULL_KEY, ""), 监听(频道[数字],名字[文本],id[key],消息[文本])
//llListen(5,"hha",llGetOwner(), "ddd"); 这句意思是 监听5频道 名字是hha而且还是这个物体的主人而且还说了ddd,
//如果条件全成立 会进入listen 事件.................(我估计这辈子也成立不了)
//NULL_KEY的意思是任何的id都可以.. 这里你也可以把NULL_KEY 换成空的引号"" 也是一个意思
}
listen(integer channel, string name, key id, string message)
//监听事件,如果上面的监听命令 监听到了 什么东西,此处是0频道的任何人,物 说话 那么就运行 此处{}的内容
//listen括号里的 channel, name, id, message 你可以当作局部变量来看待
//比如可以 say(0,name) say(0,(string)channel) say(0,(string)id)
//我的监听器第一版就是用的这个...^_^ 不过估计没人用过.. 因为 刚发到china boat上就被人家删掉了
{
if(message=="14")
//如果 监听到的消息 是14 (有人神经病 冲着天 说了两字:14)
//就运行 下面{}
//在 下面的 {}里 你还可以写 if 例
//if(a==1)
//{
//if(b==1)
//{
//if(c==1)
//{ d =1; }}} 如果a=1 b=1 c=1 那么 就让d=1
// 第一个if后面的if 也可以写成 else if(XXXXX)
// 运行时结果一样, 反正我是没发现什么区别,
//另外 在if的()里 && 表示和 || 表示或 == 表示等于 都必须是双的,
//不知道开发程序的人是不是双胞胎,
{
llSay(0,"Well done your answer is correct");
//对着0频道 说,"Well done your answer is correct"
state default;
//说完转换到 默认状态里 默认状态 因为没有llListen的命令 所以 那时即使有100个人嘲天上喊14 这个脚本也不会有什么反应
}
else
//如果 有人说话 但说的不是 14
{
llWhisper(0,"Sorry wrong answer, please click on this poster to try again");
//这个脚本 对着0频道 小声说(范围:小声说10米,say是20米,shout是60米)
//Sorry wrong answer, please click on this poster to try again
state default;
//回到 默认状态
}
}
}
2009年01月10日 09点01分