一、流程控制
2、next "" next; 产生按钮"下一步" 3、close "" close; 产生按钮"关闭" 4、menu "*","l" menu "好的",L_YES,"不好",L_NO; 产生选择列表,有2个选项"好的"、"不好",选择后即发生跳转 选择"好的"跳转至L_YES,选择"不好"跳转至L_NO 5、goto "l" goto L_YES;直接跳转至L_YES 平时使用时,常跟在if等条件判断语句后 12、if "igi" if(@value==1) goto L_YES; 如果@value=1,跳转到L_YES,不然就顺序执行 常用的判断符:<、>、==、!=、>=、<= 38、end "" end; 强制结束脚本
二、输入输出
1、mes "s" mes "你好"; 在NPC对话框中显示"你好" 7、input "" input @value;产生一个输入框,输入的内容赋值在@value变量中 变量可以是数字,也可以是字符(好像不能为字符,请索克兄帮忙,偶不搞不定了) 54、announce "si" announce "你好" 3; 在服务器内用黄色字体广播"你好" 广播命令,可以控制广播内容和广播颜色 3:黄色 19:蓝色 55、mapannounce "ssi" mapannounce "prontera.gat" "你好" 3; 在普隆德拉地图内内用黄色字体广播"你好" 地图广播命令,可以指定地图 56、areaannounce "siiiisi" areaannounce "prontera.gat" 100 100 10 10 "你好" 3; 在普隆德拉X100Y100,X+-10,Y+-10的区域内内用黄色字体广播"你好" 区域广播,可以使得特定区域的玩家看到系统消息
三、注意事项
1、goto语句的标号是区分大小写的,若出错则会使map-server死掉,且不会自动重启 2、一行显示一般为37个字符,超出的话偶也不知道会发生什么事
请阅读以下范例,以加强对基本流程及mes语句使用方法的了解。 例1,发钱的hack // 里面有几个命令是偶们还没有学过的,不过没有关系,很容易理解, // delitem 2278,1; 表示删除2278号物品1个 // set Zeny,Zeny+200000; 表示增加200000块钱 // 特别需要注意的是你的Goto语句,如果出现错误可能会使服务器当机,特别要注意大小写 prontera.gat,155,174,4 script 发钱的hack 706,{ mes "[发钱的hack]"; mes "嘿嘿!哇呀呀!"; mes "我是^5577FF发钱的hack^000000。"; mes "我愿意拿钱和你换一些东西。"; next; menu "询问 ^3355FF笑脸面具^000000 换钱的一些信息",Case1,"拿 ^3355FF笑脸面具^000000 换钱",Case2,"拿 ^3355FF兔耳发圈^000000 换钱",Case4,"取消",Case3; Case1: mes "[发钱的hack]"; mes "你有笑脸面具吗? "; mes "我朋友^5577FF乖宝宝^000000想要几个面具来玩。"; mes "可是我没有材料去制作啊。"; mes "你有已经制成的面具吗?"; mes "我可以拿很多钱跟你换哦!"; next; mes "[发钱的hack]"; mes "制作^3355FF笑脸面具^000000"; mes "需要搜集一些物品."; mes "你如果能搜集到这些材料"; mes "就可以去找微笑小姐做成笑脸面具"; mes "下面是制作^3355FF笑脸面具^000000所需要的一些道具."; next; mes "[发钱的hack]"; mes "10个^3355FF杰比勒结晶^000000"; mes "10个^3355FF毛^000000"; mes "10个^3355FF三叶幸运草^000000"; next; mes "[发钱的hack]"; mes "做好了拿来给我,我就给你大把大把的钱! "; close; Case2: if(countitem(2278)<1) goto Case2NOT; mes "[发钱的hack]"; mes "哈哈,^5577FF乖宝宝^000000一定会很高兴的~:)"; mes "那么^3355FF笑脸面具^000000。我拿走了!."; next; delitem 2278,1; set Zeny,Zeny+200000; mes "[发钱的hack]"; mes "拿好咯!"; mes "这里是答应你的^5577FF200000Z^000000"; mes "如果你还有笑脸面具,还可以拿过来和我换。"; mes "好东西我不嫌多!"; close; Case2NOT: mes "[发钱的hack]"; mes "我"; next; mes "[发钱的hack]"; mes "要"; next; mes "[发钱的hack]"; mes "笑"; next; mes "[发钱的hack]"; mes "脸"; next; mes "[发钱的hack]"; mes "面"; next; mes "[发钱的hack]"; mes "具"; close; //狸猫的猫耳发圈掉落率是2 Case4: if(countitem(2214)<1) goto Case4NOT; mes "[hack]"; mes "哈哈,高兴~:)"; mes "那么^3355FF兔耳发圈^000000。我拿走了!."; next; delitem 2214,1; set Zeny,Zeny+20000000; mes "[发钱的hack]"; mes "拿好咯!"; mes "这里是答应你的^5577FF20000000Z^000000"; mes "如果你还有兔耳发圈,还可以拿过来和我换。"; mes "好东西我不嫌多!"; close; Case4NOT: mes "[发钱的hack]"; mes "我"; next; mes "[发钱的hack]"; mes "要"; next; mes "[发钱的hack]"; mes "的"; next; mes "[发钱的hack]"; mes "是"; next; mes "[发钱的hack]"; mes "兔"; next; mes "[发钱的hack]"; mes "耳"; next; mes "[发钱的hack]"; mes "发"; next; mes "[发钱的hack]"; mes "圈"; close; Case3: mes "[发钱的hack]"; mes "再见,再见"; next; mes "[发钱的hack]"; mes "白白,白白"; close; }
免责声明:57sf.com登载此文出于传递更多信息之目的,并不意味着57sf.com赞同其观点或证实其描述
|