找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 5|回复: 1

[教程] 让技能点从低次数转职向高次数转职反向分配的一种设想。

[复制链接]

4

主题

12

回帖

33

积分

新手上路

积分
33
发表于 昨天 22:07 | 显示全部楼层 |阅读模式
本帖最后由 江奈Mizuki 于 2025-10-2 22:04 编辑

为什么会想做这个

我在玩复古版本的冒险岛时,喜欢玩牧师。不是为了打经济什么的,只是觉得辅助别人是一件很有存在感的事。但是二转的时候,我看到牧师如果要满上其它的辅助技能,必然要放弃圣箭术,导致牧师一路用魔法双击作为单体技能到四转。不是说嫌弃魔法双击的伤害,只是觉得,既然都已经转职成为这样一个神圣的职业,不用特色的箭术缺乏点仪式感。“要是能把魔法双击洗成圣箭术就好了。”我这样想。


有的时候对复古版本的冒险岛技能设计挺无语的,有一些技能明明仪式上很有职业的味道,但是应用上效果一坨,让人根本不想学。打算对一些有意思但是一直没用的技能加上一点有创意的改进,但是真要把所有技能都弄成有用,技能点怕是又不够。“明明一转输出技能早就没用了,不能把一转技能点拿上来用吗?”我有这样的想法


实现的功能

如题目所言,让技能点从低转职向高转职分配。不过具体到每个开服的人的个人想法,可以给这种反向分配加一些约束(比如:必须60级以上,才能把一转技能点拿出来给二转用;不然30级刚转职直接满一个二转输出技能,也是太过分了。)


尚存的问题

1.目前转职有太多的技能点的话,手动点技能点会提示低转技能点不足,一旦用了这个功能,不通过这个功能、像之前那样手点技能是点不上去的。


2.“把目前转职的技能点全部洗下”的功能,数据库里虽然把技能点发给角色了,但是客户端不会及时收包更新,必须换地图或者小退以后才能看见。-“我点一下这个按钮以后我的技能点全没了!”-“你换个地图就看到了。”


实现的思路

纯粹用npc脚本实现。当然,如果想找一个原本不走脚本的npc来实现的话,也要自己改一下wz。


实现这个功能的路上花最多时间找的函数是“找到某个职业某次转职的所有技能”:


  1. //获得角色的职业
  2. Ujob = cm.getJob().getId();
  3. //举例:打印这名角色职业对应一转职业的所有技能列表,变成npc对话中的选项罗列出来
  4. DownSkillArr = cm.getPlayer().getSkillsByJobIdCharacter(Math.floor(Ujob/100)*100);

  5. for(let i = 0; i < DownSkillArr.length; i++){
  6.         text += "#L" + i + "#" + DownSkillArr[i][1] + "#l\r\n";
  7.         }
  8. cm.sendSimple(text);
  9. //仅作举例,没有定义的变量要自己定义哦
复制代码

当然,不得不提的是,重要的“传授技能函数”,这肯定是要用的。


  1. public void teachSkill(int skillid, byte level, byte masterLevel, long expiration)
  2. //四个参数:技能id、传授等级、最高等级、有效期(直接写-1)
复制代码

完整npc脚本示范(仅适用于冒险家)

游客,如果您要查看本帖隐藏内容请回复



40

主题

31

回帖

352

积分

管理员

积分
352
发表于 昨天 23:35 | 显示全部楼层
我也玩过一段时间牧师,如果魔法双击和圣剑术都满级的情况下,我还是更愿意使用魔法双击。因为圣剑术这类有弹道的攻击都有被卡墙的情景,魔法双击就不会,圣剑术的伤害系数比魔法双击又高不了多少。

针对你的想法,我感觉直接用技能换技能,比你说的洗点来的实在。
NPC对话
Page1 玩家选择要洗的职业
Page2 玩家选择要洗的技能(只列出已学习的)
Page3 玩家选择要学习的职业
Page4 玩家选择要学习的技能

然后计算要洗的技能点,把Page2的技能等级扣掉,Page4的技能等级加上去,相关方法参考@skill命令即可

这样不用一个个技能点操作,也不会出现你说的问题
有问题欢迎跟帖提问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|蘑菇物语

GMT+8, 2025-10-3 01:18 , Processed in 0.053231 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表