谁能帮忙写一个魔兽世界随机骑乘的宏
发布网友
发布时间:2024-04-09 20:52
我来回答
共1个回答
热心网友
时间:2024-06-25 03:37
现在好多人都不止一个坐骑了哦,所以我曾经作了一个可以随机使用坐骑的宏,按一下随机骑上一个坐骑,再按一下就下来啦。先贴一下主程序哈:
/scriptzqChar={"Kodo_01","DireWolf","Fortitude"};
/scripti=CheckZQ(zqChar);ifi==-1thenifstring.find(GetZoneText(),"安其拉")thenUseContainerItem(4,3);elseUseContainerItem(4,random(2));end;elseCancelPlayerBuff(i);end;
有必要解释一下,我能骑的坐骑有中将的科多和狼,在安其拉副本骑大虫子(银行里还有中将的跳跳龙和骷髅马,可惜声望不够=。=)所以第一行声明了数组,里面有三个字符串,依次是科多,狼和大虫子的关键字。第二行开始是关键了哈:i=CheckZQ(zqChar);调用了一个函数CheckZQ(str),用来检查人物现在是否为坐骑状态(坐骑在游戏中定义就是一个buff,屏幕右上方各个buff的编号最右边是0,然后依次+1),是的话会返回坐骑buff的编号并且取消这个buff(也就等于下马了啊~CancelPlayerBuff(i)实现了这个功能);不是做骑状态的话会返回-1,然后接下来又是一个判断:在安其拉副本的话(ifstring.find(GetZoneText(),"安其拉")就是这个作用了),直接骑上大虫子(UseContainerItem(4,3)就等于使用了第4个包里面第3个格子的物品,我把大虫子放在了这里~第0个包就是右边第一个啊,别弄错了~);如果不在安其拉副本的话,便调用了UseContainerItem(4,random(2)),这等于随机使用了第4个包里面第1个格子和第2个格子的物品(random(2)随机返回1和2)。呵呵~说了之后也不算复杂哈~
接下来还有一个重要的函数需要我们编写:CheckZQ(str),我们需要再建一个宏放这个函数,也就是说我们写了两个宏,以后想正常使用坐骑宏,我们还必须先点一下这个宏==!(我也不想弄这么麻烦的,无奈游戏里的宏只能写256个字符,所以我只好把它分成两部分写了)。具体代码如下阿:
/scriptfunctionCheckZQ(ZQc)i=0;whileGetPlayerBuff(i)~=-1doforj=1,3doifstring.find(GetPlayerBuffTexture(i),ZQc[j])thenreturni;end;end;i=i+1;end;return-1;end;
这个函数的功能就是把人物现在的buff和前面声明的数组zqChar做比较。
好了,还需要提醒一下的是:如果你的坐骑和我不同还需要修改几个参数的啊:UseContainerItem(,)的参数(看你把坐骑放在什么位置了),random()的参数(看你有几个可以满世界跑的坐骑~),第2个宏里面forj=1,3里的3这个参数也是由你的坐骑数量来决定的啊,最后还有一个要修改的是zqChar数组里的字符串,这个是你的坐骑的关键字(不知道怎么找关键字??做一个这样子的宏:
/scriptSendChatMessage(GetPlayerBuffTexture(0),"SAY");
然后保证自己身上没有buff再起上坐骑,点一下就可以看到你胯下的关键字了~把最后面几个字母记下来就可以了)。
好了,就写这么一个宏吧。希望大家在魔兽世界里跑得愉快~~