企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
白板武将虽然不算弱,但是游戏体验还是差了点。 </br>解决方法?添加个技能吧。比如说……无双。 </br>打开之前创建的study.lua,找到孙悟空的代码部分,添加如下代码: ``` sunwukong:addSkill("wushuang") ``` </br>就可以了。 </br>在这里,像`addSkill`这样后面带括号的、可以帮我们完成一项功能的具体的方法,就是传说中的“函数”了。太阳神三国杀的绝大多数武将扩展行为,都是通过各种各样的函数分工合作,才能顺利完成的。 </br>这个添加技能的函数原型有两个,分别是这样的: ``` addSkill(skill) addSkill(skill_name) ``` </br>其中skill是一个技能对象,表示一个当前文件中创建的技能;而skill_name是技能的名字,是一个字符串,表示引用一个已经存在的技能。我们这里用的就是第二个原型啦。 </br>注意武将名称(sunwukong)和函数名称(addSkill)之间的那个符号,是冒号! </br>因为我们的武将名称sunwukong在之前那个`sgs.General`函数的引诱下已经成为了孙悟空这个武将的形象代言人了,它代表了一个武将对象(General);而这个函数`addSkill`正是武将对象中的一个功能,我们称它为General的成员函数。一个对象调用自己的成员函数的时候,代码里需要用冒号手拉手,来表示这种调用关系的。 </br>无双的技能名字是wushuang。一般地,技能的名字就是它的汉语拼音了,比如马术就是mashu,奸雄就是jianxiong,挑衅就是tiaoxin。 </br>当然也有例外,如曹操的护驾是hujia,倚天包蔡昭姬的胡笳则是caizhaoji_hujia,毕竟不能重名嘛。 </br>有关技能名字的信息,必要的时候还是要查看一下源码(可在群文件里搜索 秒沉水 查找到源码)的。想一想要添加的技能最早出现在哪个代码包,找到它,抄过来就行了。 </br>源码(可在群文件里搜索 秒沉水 查找到源码)?从网上搜一下,会有的。比如下面的链接地址: <https://github.com/gaodayihao/QSanguosha>(来自Paracel) </br>*PS:* 1. *除了看网址,要知道技能的名称的话可以查看游戏里lang文件夹里的Package文件夹,里面有所有技能在lua中的名字信息* 2. *怀旧包(原标准包)或者其他旧武将的技能名称通常nos开头,比如旧标包-黄月英的集智是nosjizhi,旧于吉的蛊惑是nosguhuo,无法推断出来的名字可以通过上面的①来查看所需的技能名称,如果是lua拓展的武将找到对应的lua即可。* 3. *区分是否为lua武将的方法:lua拓展武将的武将包在武将一览里是蓝色背景的,你可以写好新武将后去武将一览下拉到最后康康* </br>有些技能虽然看上去是单独的一个技能,但实际上是许多小技能拼凑起来的,添加的时候要全部加上,漏掉了就不好用了。比如要添加神诸葛亮的七星,就要写上: ``` General:addSkill("qixing") General:addSkill("#qixing") General:addSkill("#qixing-ask") General:addSkill("#qixing-clear") ``` </br>就是这样。很狡猾是吧?没关系,源码(可在群文件里搜索 秒沉水 查找到源码)在手,一查便知,不怕不怕啦。 </br>顺便提一句,七星里面那三个以#开头的技能就是传说中的隐藏技能。也就是说,虽然添加技能后武将会拥有这个技能,但是在游戏界面上却是看不到的。这下知道了为什么明明是四个技能,看上去却只有一个的原因了吧。 </br>添加完技能后,武将一览里面立刻就能看到变化了: ![](https://img.kancloud.cn/45/10/4510189ab9d3949076895ad04e561fac_497x208.png) </br>一句话,就能添加一个技能,是不是很简单? </br>好了,现在我们的孙悟空同志也有技能了,到游戏里面体验一下吧。 ![](https://img.kancloud.cn/6b/7c/6b7cea0896514f712c2245f9ab8fede7_457x199.png) </br>(吕布:5555……你们欺负人……)