白板武将虽然不算弱,但是游戏体验还是差了点。
</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……你们欺负人……)
- 编写说明
- 第一章 创建一个新武将
- 1.1 开发环境准备
- 1.2 创建一个新的武将扩展包
- 1.3 创建我们的新武将
- 第二章 添加技能
- 第三章 武将美化
- 3.1 美化环境准备
- 3.2 添加武将卡牌
- 3.3 添加武将头像
- 3.4 添加武将标签
- 第四章 创建一个新技能
- 第五章 添加音效
- 5.1 打造自己的声音工作室
- 5.2 添加技能使用音效
- 5.3 添加武将阵亡音效
- 第六章 添加提示信息
- 6.1 添加代码注释
- 6.2 显示提示信息
- 6.3 启动全屏信息特效
- 第七章 武将变更
- 第八章 启用AI
- 8.1 创建我们的AI文件
- 8.2 真实的AI
- 8.3 动手写AI
- 第九章 修改距离
- 第十章 技能管理
- 10.1 技能判定
- 10.2 创建技能
- 10.3 获得技能
- 10.4 失去技能
- 第十一章 修改手牌上限
- 第十二章 体力变更
- 12.1 流失体力
- 12.2 制造伤害
- 13.3 恢复体力
- 12.4 流失体力上限
- 12.5 增长体力上限
- 第十三章 游戏进程的变更
- 13.1 创建阶段触发技能
- 13.2 跳过回合阶段
- 13.3 插入一个额外的回合阶段
- 13.4 启用翻面
- 13.5 获得一个额外的回合
- 第十四章 启用标记(Mark)
- 14.1 添加标记
- 14.2 获得标记
- 14.3 失去标记
- 14.4 查看标记数目
- 第十五章 卡牌转换
- 15.1 主动牌的转换
- 15.2 被动牌的转换
- 第十六章 卡牌传递
- 16.1 创建摸牌技能
- 16.2 游戏中摸牌
- 16.3 游戏中弃牌
- 16.4 从其他武将处获得牌
- 16.5 判断目标区域是否有牌
- 16.6 移动场上的牌
- 第十七章 用牌实现技能效果
- 第十八章 启用标志(Flag)
- 第十九章 涉足判定领域
- 19.1 启用判定
- 19.2 更改判定
- 19.3 获得判定牌
- 第二十章 私家牌堆
- 20.1 向牌堆中添加牌
- 20.2 查看牌堆中牌的数量
- 20.3 从牌堆中移除牌
- 第二十一章 牌的锁定
- 第二十二章 免疫牌
- 第二十三章 让房间提供牌
- 23.1 提供主动牌
- 23.2 提供被动牌
- 第二十四章 启用标签(Tag)
- 第二十五章 濒死结算
- 第二十六章 交换座次
- 第二十七章 创建主公技
- 27.1 创建由主公发起的主公技
- 27.2 创建由他人发起的主公技
- 第二十八章 强力技能
- 28.1 直接死亡
- 28.2 改换身份
- 28.3 原地复活
- 28.4 立即胜利