![]() |
![]() |
#1 |
初级会员
![]() ![]() 注册: 06年11月12日
帖子: 18
声望力: 0
声望:
10
![]() 现金:5两梁山币
资产:5两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
找怪机器(非path类型)讨论
思路: 接到任务 怪物名称name 英文名字id 地点where 判断难度等级 difficulty 定义地点 怪物所在地区map 搜索地区 路径path of map 如果地图过大分段搜索 路径分段pathpart1 pathpart2 pathpart3 如果找到了怪物 match id 停止搜索 stop search 走过了 back search 如果回头发现怪已经不在原地,继续back search 没找到 任务失败job fail 接受任务部分: #TRIGGER {^李靖对你说道:近有(*)~((*)~)在(*)为非作歹,请速去降服!} {#cw 303;#ts @ts;score=li;#math askli (@askli+1);monster=%1;id=%lower(%2);where=%3;kquest;findmap} {ask} 519 判断难度等级部分: #TRIGGER {^李 靖:第(%x)个妖「@monster」没有完成。} {difficulty=%1;difficulty} {ask} 519 #ALIAS difficulty {#if (%ismember(@difficulty,"一")=1) {difficulty=1};#if (%ismember(@difficulty,"二")=1) {difficulty=2};#if (%ismember(@difficulty,"三")=1) {difficulty=3};#if (%ismember(@difficulty,"四")=1) {difficulty=4};#if (%ismember(@difficulty,"五")=1) {difficulty=5};#if (%ismember(@difficulty,"六")=1) {difficulty=6};#if (%ismember(@difficulty,"七")=1) {difficulty=7};#if (%ismember(@difficulty,"八")=1) {difficulty=8};#if (%ismember(@difficulty,"九")=1) {difficulty=9};#if (%ismember(@difficulty,"十")=1) {difficulty=10}} 定义地图 #alias {#var temp @where path=nofind xxx=nomap #if %ismember( @temp, "长安城西") { path=@mchanganwest xxx=mchanganwest } #if %ismember( @temp, "长安城") { path=@mchangan xxx=mchangan } #if %ismember( @temp, "宝象国") { path=@mbaoxiang xxx=mbaoxiang } #if %ismember( @temp, "豹头山") { path=@mbaotou xxx=mbaotou } #if %ismember( @temp, "豹头二") { path=@mbaotou2 xxx=mbaotou2 } #if %ismember( @temp, "比丘国") { path=@mbiqiu xxx=mbiqiu } #if %ismember( @temp, "碧波潭") { path=@mbibo xxx=mbibo } #if %ismember( @temp, "车迟国") { path=@mchechi xxx=mchechi } #if %ismember( @temp, "大雪山") { path=@mxueshan xxx=mxueshan } #if %ismember( @temp, "毒敌山") { path=@mdudi xxx=mdudi } #if %ismember( @temp, "方寸山") { path=@mfangcun xxx=mfangcun } #if %ismember( @temp, "凤仙郡") { path=@mfengxian xxx=mfengxian } #if %ismember( @temp, "高老庄") { path=@mgaozhuang xxx=mgaozhuang } #if %ismember( @temp, "红楼一梦") { path=@mhonglou xxx=mhonglou } #if %ismember( @temp, "火焰山") { path=@mfiremount xxx=mfiremount } #if %ismember( @temp, "积雷山") { path=@mjilei xxx=mjilei } #if %ismember( @temp, "祭赛国") { path=@mjisaiguo xxx=mjisaiguo } #if %ismember( @temp, "金兜山") { path=@mjindou xxx=mjindou } #if %ismember( @temp, "金平府") { path=@mjinping xxx=mjinping } #if %ismember( @temp, "荆棘岭") { path=@mjingjiling xxx=mjingjiling } #if %ismember( @temp, "开封城") { path=@mkaifeng xxx=mkaifeng } #if %ismember( @temp, "灵山") { path=@mlingshan xxx=mlingshan } #if %ismember( @temp, "龙宫") { path=@mlonggong xxx=mlongdong } #if %ismember( @temp, "毛颖山") { path=@mmaoying xxx=mmaoying } #if %ismember( @temp, "梅山|灌江") { path=@mmeishan xxx=mmeishan } #if %ismember( @temp, "女儿国") { path=@mnuerguo xxx=mnuerguo } #if %ismember( @temp, "盘丝岭") { path=@mpansi xxx=mpansi } #if %ismember( @temp, "蓬莱仙岛") { path=@mpenglai xxx=mpenglai } #if %ismember( @temp, "平顶山") { path=@mpingding xxx=mpingding } #if %ismember( @temp, "普陀山") { path=@mputuo xxx=mputuo } #if %ismember( @temp, "麒麟山") { #if (@wuxue>1000000) { path=@mqilin xxx=mqinlin } { path=@mqilin2 xxx=mqilin2 } } #if %ismember( @temp, "钦法国") { path=@mqinfa xxx=mqinfa } #if %ismember( @temp, "青龙山") { path=@mqinglong xxx=mqinglong } #if %ismember( @temp, "天竺国") { path=@mtianzhu xxx=mtianzhu } #if %ismember( @temp, "通天河") { path=@mtongtian xxx=mtongtian } #if %ismember( @temp, "乌鸡国") { path=@mwuji xxx=mwuji } #if %ismember( @temp, "无底洞") { path=@mwudidong xxx=mwudidong } #if %ismember( @temp, "五庄观") { path=@mwuzhuang xxx=mwuzhuang } #if %ismember( @temp, "小西天") { path=@mxiaoxitian xxx=mxiaoxitian } #if %ismember( @temp, "阴曹地府") { path=@mhell xxx=mhell } #if %ismember( @temp, "地府二") { path=@mhell2 xxx=mhell2 } #if %ismember( @temp, "隐雾山") { path=@myinwu xxx=myinwu } #if %ismember( @temp, "玉华县") { path=@myuhua xxx=myuhua } #if %ismember( @temp, "月宫") { path=@mmoon xxx=mmoon } #if %ismember( @temp, "朱紫国") { path=@mzhuzi xxx=mzhuzi } #if %ismember( @temp, "竹节山") { path=@mzhujie xxx=mzhujie } #if (@path=nofind) {#say Job fail:Monster:@monster Place:@where Reason:nomap} { #wa 2000 findstart }} |
![]() |
![]() |
![]() |
#2 |
初级会员
![]() ![]() 注册: 06年11月12日
帖子: 18
声望力: 0
声望:
10
![]() 现金:5两梁山币
资产:5两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 找怪机器(非path类型)讨论
#ALIAS findstart {#t- hprecover;#t+ @xxx;partnum=%numwords(@path,|);follow=1;findmonster=finding;pathpart=none;vc=0;findgo} #ALIAS findgo {#if (@vc<@partnum) {#add vc 1;#var pathpart %word(@path,@vc,|);fgofind}} #ALIAS fgofind {va=0;#t+ find;do=finding;#var steps %numwords(@pathpart,%char(59));#loop @steps {#add va 1;%word(@pathpart,@va,%char(59))};#say Mouse is best} #alias backset {#if (@go=e) {back=w} {#if (@go=w) {back=e} {#if (@go=s) {back=n} {#if (@go=n) {back=s} {#if (@go=nw) {back=se} {#if (@go=ne) {back=sw} {#if (@go=se) {back=nw} {#if (@go=sw) {back=ne} {#if (@go=enter) {back=out} {#if (@go=out) {back=enter} {#if (@go=left) {back=right} {#if (@go=right) {back=left} {#if (@go=up) {back=down} {#if (@go=down) {back=up} {#if (@go=eu) {back=wd} {#if (@go=wu) {back=ed} {#if (@go=su) {back=nd} {#if (@go=nu) {back=sd} {#if (@go=wd) {back=eu} {#if (@go=ed) {back=wu} {#if (@go=nd) {back=su} {#if (@go=sd) {back=nu}}}}}}}}}}}}}}}}}}}}}}} #TRIGGER {^Moust is best} {#cw 146;#t- find;#math wtime {@steps*40};#if (@do=finded) {findset} {#if (@wtime<100) {findset} {#wa @wtime;findset}}} {find} 548 #alias findset {#if (@do=finded) {findback} #if (@findmonster=finding and @vc>=@partnum) {findend} #if (@findmonster=finded and @vc>=@path and @do=finding) {findstart} #if (@do=finding and @vc<@partnum) {findgo}} #TRIGGER {^%s{@monster_title}%s@monster~(@id~)} {#cw white;guai_title={百年|龙宫怪物|五庄观凶徒|无底洞小妖|普陀恶僧|月宫魔女|将军府叛将|幽冥恶鬼|方寸妖道|雪山老妖};checkmonster} #ALIAS checkmonster {#cw white;findmonster=finded;vb=0;#if (@do=findback) {do=findedag};#if (@do=finding or @do=finded) {#t+ find-vb;do=finded}} #TRIGGER {这里(*)出口是} {#add vb 1} {findback} 548 #ALIAS findback {#t- findback;vamax=@va;do=findback;fgomonster} #alias fgomonster {#t+ find #if (@vb=0) {follow @monsterid} { #loop @vb { #var go %word( @pathpart, @va, %char( 59)) #add va -1 #if (@va<0 and @do=findback) {#say Beyond the part,research again} { backset @back } } follow @monsterid }} |
![]() |
![]() |
![]() |
#3 |
初级会员
![]() ![]() 注册: 06年11月12日
帖子: 18
声望力: 0
声望:
10
![]() 现金:5两梁山币
资产:5两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 找怪机器(非path类型)讨论
#TRIGGER {^这里没有%s@monsterid。} {follow=1;#if (@do=findedag) {#add va 1;#if (@va<=@vamax) {#var vd %word(@pathpart,@va,%char(59));@vd;follow @monsterid} {findgo}};#if (@do=findback) {#t- find;vb=1;fgomonster}} {find} 548 怪走动处理 我在zmud721上运行有问题,回头寻找的时候总是少走1步,不知道问题在那里. 还有就是555以上有时候会有乱码导致不能触发. 7xxx以上的版本有一个好处就是触发行前面不会出现命令提示符号.乱码问题可能是不支持汉字. 不用path唯一的好处就是速度快,可以处理一些复杂的路径,比如进出路径不同的情况 path就不行了. 路径用变量来定义 eg: #FUNC mjingjiling {fly jingjiling;wu;sw;w;nw;wu;|nw;wu;s;su;sw;e;e;sw;w} |
![]() |
![]() |
![]() |
#4 |
中级会员
![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 05年11月04日
帖子: 121
声望力: 21
声望:
10
![]() 现金:-54两梁山币
资产:-54两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 找怪机器(非path类型)讨论
灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌灌
|
![]() |
![]() |
![]() |
#5 |
正式会员
![]() 注册: 07年10月17日
帖子: 4
声望力: 0
声望:
10
![]() 现金:5两梁山币
资产:5两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 找怪机器(非path类型)讨论
![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#6 |
中级会员
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 注册: 08年04月22日
帖子: 327
声望力: 21
声望:
10
![]() 现金:-659两梁山币
资产:-559两梁山币
致谢数: 0
获感谢文章数:0
获会员感谢数:0 |
回复: 找怪机器(非path类型)讨论
鼎 鼎破 鼎坡天 顶顶顶顶 丁丁丁丁丁 |
![]() |
![]() |