99Max综合娱乐网站(旧版)

 找回密码
 立即注册
查看: 790|回复: 5

[脚本求助] 求怎么写NPC会提出1个随机的问题

[复制链接]

升级   100%

发表于 2013-8-19 02:33:19 | 显示全部楼层 |阅读模式
和NPC对话,然后他会提出个随机的问题来让你回答~求赐教~~谢谢~~
温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。

升级   29.67%

发表于 2013-8-19 08:19:56 | 显示全部楼层
用数组,以下代码没测试。
        setarray @question1$[0],"你叫什么名字?","你找我干吗?","你今年几岁?"; //问题
        setarray @answer$[0],"小明","聊天","5岁";                                             //答案
        set @r,rand(2); //随机数 0~2
        mes "提问";
        mes "问题:"+ @question1$[@r];
        next;
        mes "提问";
        set @a,select(@answer$[0],@answer$[1],@answer$[2])-1; //选择答案
        next;
        if (@a==@r)  //判断选择答案是否正确
        {
        mes "回答正确";
        }else{
        mes "回答错误";
       }
       close;
        

        

升级   100%

 楼主| 发表于 2013-8-19 14:24:59 | 显示全部楼层
请问能不能做成GOTO的方式呢?或者说每道题目有他自己的4个答案选择~最好的话4个选项还能有打乱效果~每次的排列顺序不一样~再次感谢~~~

升级   29.67%

发表于 2013-8-19 19:17:16 | 显示全部楼层
        set @QA,rand(3) + 1;       //题目
        set @QB,rand(4) + 1;       //答案
        if (@QA == 1) goto TM001;
        if (@QA == 2) goto TM002;
        if (@QA == 3) goto TM003;

TM001:
        set @question1$,"小王的哥哥叫什么名字";
        if (@QB == 1) setarray @NumAns$[1],"小明","小划","小反","小刚";
        if (@QB == 2) setarray @NumAns$[1],"水王","小明","水王","水王";
        if (@QB == 3) setarray @NumAns$[1],"大大","犯得","小明","狂暴";
        if (@QB == 4) setarray @NumAns$[1],"钟怪","艾斯","裘卡","小明";
        set @GameAns,@QB; //答案
        Goto QMES;
TM002:
        set @question1$,"你有什么事?";
        if (@QB == 1) setarray @NumAns$[1],"聊天","小划","小反","小刚";
        if (@QB == 2) setarray @NumAns$[1],"水王","聊天","水王","水王";
        if (@QB == 3) setarray @NumAns$[1],"大大","犯得","聊天","狂暴";
        if (@QB == 4) setarray @NumAns$[1],"钟怪","艾斯","裘卡","聊天";
        set @GameAns,@QB; //答案
        Goto QMES;
TM003:
        set @question1$,"你今年几岁了?";
        if (@QB == 1) setarray @NumAns$[1],"5岁","小划","小反","小刚";
        if (@QB == 2) setarray @NumAns$[1],"水王","5岁","水王","水王";
        if (@QB == 3) setarray @NumAns$[1],"大大","犯得","5岁","狂暴";
        if (@QB == 4) setarray @NumAns$[1],"钟怪","艾斯","裘卡","5岁";
        set @GameAns,@QB; //答案
        Goto QMES;

QMES:
        mes "问题:" +  @question1$;
        set @a,select(@NumAns$[1],@NumAns$[2],@NumAns$[3],@NumAns$[4]);
        if (@a == @GameAns) {mes "正确";}else{mes "错误";}
        close;

我根据ox答题改的。
请测试!!!!!!!

升级   100%

 楼主| 发表于 2013-8-20 03:45:10 | 显示全部楼层
skyinwater 发表于 2013-8-20 03:19
如果比较简单的方式,对话不多的话,可以用下面的方式,talk其他的可以用一样的方式写下去。至于再继续套, ...

随机问题是没有问题了~十分感谢~求赐教随机答案。。尝试了一些方法都没有效。。。谢谢~

升级   100%

 楼主| 发表于 2013-8-20 15:19:49 | 显示全部楼层
测试可用~~非常感谢2位高手~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|99Max综合娱乐网站(旧版) ( 沪ICP备11024206号-1 )

GMT+8, 2025-2-25 16:11 , Processed in 0.236592 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表