重头戏来了!
</br>前面我们就知道了,武将的游戏体验和TA的技能如何有着好大好大的关系。怎么样?五体力上限带无双的孙悟空是不是比五体力上限的白板孙悟空玩起来带劲儿多了?
</br>现在我们要继续强化这种体验感了!打造真正拥有自己个性的新技能!
</br>听说周瑜因为长得帅所以能多摸牌?我们美猴王孙悟空怎么样?摸死你!
</br>现在打开刚刚遗忘在角落里的study.lua吧,要写代码了~
</br>先把一份英姿的代码拷贝到我们的扩展包文件里面去吧。
![](https://img.kancloud.cn/f8/b1/f8b1a8d108590a7cfe2c84ecdd2c7cb2_677x349.png)
</br>什么?哪里搞到的?
</br>不过话说回来,这些太阳神三国杀中已有的技能都是用C++而不是Lua语言写的,所以只翻游戏源码(可在群文件里搜索 秒沉水 查找到源码)应该是找不到它们的Lua代码的。
</br>咱们私下里透露一下:网上实在找不到了,试试
<https://github.com/Mogara/LuaSkillsForQSGS>。
</br>言归正传,孙悟空那头都快上火了。
</br>周瑜英姿多摸了一张牌,看到代码里面那个橘黄色的数字"1"了吧?
![](https://img.kancloud.cn/ee/73/ee73553d53314d4ef2f354ad7ac9e984_322x50.png)
</br>孙大圣那可是"美"猴"王"啊,才多摸一张牌哪儿说得过去啊?在后面加个零,多摸十张!
![](https://img.kancloud.cn/d9/af/d9af746b18e466ecb754593c8d91e22c_336x52.png)
</br>行了,满意了。
</br>核心代码已经完成,不过还有点需要修饰的工作要做。
</br>技能名字要改改吧?
</br>把整个技能代码段选中,CTRL+H把替换窗口叫出来。原来的技能叫什么来着……LuaYingzi,嗯就是它,写在"查找目标"那里。再起个新名字,就叫LuaMeihouWang好了,写在"替换为"那里。
![](https://img.kancloud.cn/83/b1/83b1f944d190758f3f63339b7ebc4fb3_813x371.png)
</br>点击全部替换,名字就改掉了!
</br>像这个样子:
![](https://img.kancloud.cn/20/80/208086f79ece7220aafb3e3614caa803_713x266.png)
</br>然后是翻译(还记得那个sgs.LoadTranslationTable吧?):
![](https://img.kancloud.cn/96/4d/964d05695039ef0006a325d38f50edf0_598x68.png)
```
["LuaMeihouWang"] = "美王",
[":LuaMeihouWang"] = "摸牌阶段,你可以额外摸十张牌。",
```
</br>翻译一个技能是有一些要注意的地方的。
</br>翻译技能的通式是这样的:
```
["技能名字"] = "技能名字的译文",
[":技能名字"] = "技能的描述",
```
</br>技能名字的译文不要超过两个汉字,否则在游戏界面里面会显示不开……
</br>技能名字前面加冒号,表示的是技能的描述。这个描述文本中可以加上格式控制标签以制造某些文字效果,就跟网页代码一样。比如用`<b>`和`</b>`将一段文本夹起来,这段文本就被加粗了,要知道字体加粗是可以来显示锁定技、限定技、觉醒技之类的提示语的。
</br>现在技能已经写好了,剩下的只需要把这个技能添加到武将身上就行了。没错,还是用我们已经熟悉的addSkill函数,不过这次用的是第一个原型:
`addSkill(skill)`
</br>这是因为技能对象LuaMeihouWang是在同一个文件中创建好了的,不用引用别人的恩赐了!
</br>好,那就快点写上这么一句吧:
```
sunwukong:addSkill(LuaMeihouWang)
```
![](https://img.kancloud.cn/fe/cc/fecc642991d21167c4aeba0bf6974922_402x67.png)
</br>技能就添加完成了!
</br>最终代码效果:
![](https://img.kancloud.cn/cc/1c/cc1cfcf590cb24a151701064ae399433_763x662.png)
</br>赶快到游戏里面体验这个拥有强力摸牌技能的齐天大圣孙悟空吧!
- 编写说明
- 第一章 创建一个新武将
- 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 立即胜利