找回密码
 注册/Sign up
搜索
楼主: 星光

希望多点人一起优化佣兵系统,积少成多

[复制链接]

发表于 2025-5-11 15:04:35 | 显示全部楼层
星光 发表于 2025-5-11 14:34
太帅了~这么快就回复,下午还想去研究不显示的问题~瞬间解决了,开心,按照这个逻辑玩家之间的交易也可以 ...

这我没机会去测试,旧方法可以试试传送事件,刷新假人
或是利用这个,手动加?

---设置头顶技能图标
---@param charIndex number 对象的index
---@param skillNo number 图标旗标,取值0~15

Char.SetSkillAction(charIndex,?skillNo)

发表于 2025-5-15 17:43:07 | 显示全部楼层
星光 发表于 2025-5-11 14:34
太帅了~这么快就回复,下午还想去研究不显示的问题~瞬间解决了,开心,按照这个逻辑玩家之间的交易也可以 ...

这种情况和Item.UpItem一样,应该是没NLG.UpChar

发表于 2025-5-17 00:05:49 | 显示全部楼层
提个建议,佣兵的技能问题,估计很多人都不喜欢每升10级重新学佣兵技能,可以考虑弄个自动学习,包括宠物的也是

 楼主| 发表于 2025-5-17 07:42:05 | 显示全部楼层
3077113839 发表于 2025-5-17 00:05
提个建议,佣兵的技能问题,估计很多人都不喜欢每升10级重新学佣兵技能,可以考虑弄个自动学习,包括宠物的 ...

还没整理到那里,我也是觉得很繁琐这样的设置

 楼主| 发表于 2025-5-17 07:43:08 | 显示全部楼层
拉提亚斯 发表于 2025-5-15 17:43
这种情况和Item.UpItem一样,应该是没NLG.UpChar

NLG.UpChar这个参数记得以前测试过应该是不行的,快整理到这里了,下一步准备测试

 楼主| 发表于 2025-5-17 07:44:42 | 显示全部楼层
xman 发表于 2025-5-11 15:04
这我没机会去测试,旧方法可以试试传送事件,刷新假人
或是利用这个,手动加?

之前有人也应该测试过这个函数,0-15没有拐杖,群里也报告给M佬了

 楼主| 发表于 2025-5-17 07:49:52 | 显示全部楼层
本帖最后由 星光 于 2025-5-17 15:07 编辑
魔力奶妈 发表于 2025-5-9 22:28
佣兵打卡问题解决了吗

之前的回答过于果断,不过之前打卡也确实是好用的,今天做卡时测试时,发现佣兵根本没有卡时的独立函数,这个佣兵打卡也不会按照原游戏模式每天增加1小时,可以说根本就没写佣兵打卡系统,但是我们可以利用玩家自身的打卡时间来实现佣兵打卡系统的闭环,按照这个逻辑只看玩家卡时,佣兵的卡时显示也就没必要存在了~
还可以添加调用条件,利用原游戏打卡NPC来实现佣兵打卡


复制代码
  1. function module:partyFeverControl(charIndex,command)
  2.   -- 如果是开启打卡,先检查玩家卡时
  3.   if command == 1 then
  4.     local playerFeverTime = Char.GetData(charIndex, CONST.对象_卡时)
  5.     if playerFeverTime <= 0 then
  6.       NLG.SystemMessage(charIndex, "无法打卡,您已经没有卡时剩余。")
  7.       return
  8.     end
  9.   end
  10.   for slot = 0,4 do
  11.     local p = Char.GetPartyMember(charIndex,slot)
  12.     if(p>=0) then
  13.       if Char.IsDummy(p) then
  14.           Char.SetData(p, CONST.对象_卡时, 24 * 3600);
  15.       end
  16.       local name = Char.GetData(p,CONST.对象_名字);
  17.       if(command ==1) then
  18.         Char.FeverStart(p);
  19.         NLG.UpChar(p);
  20.         NLG.SystemMessage(charIndex, name.."打卡成功。");       
  21.       elseif(command ==0) then
  22.         Char.FeverStop(p);
  23.         NLG.UpChar(p);
  24.         NLG.SystemMessage(charIndex, name.."关闭了打卡。");       
  25.       end
  26.     end
  27.   end
  28. end
复制代码

2025-05-17_080633.png

发表于 2025-5-21 08:31:22 | 显示全部楼层
星光 发表于 2025-5-17 07:49
之前的回答过于果断,不过之前打卡也确实是好用的,今天做卡时测试时,发现佣兵根本没有卡时的独立函数, ...

直接改成玩家打卡佣兵也双倍经验就可以了,经验函数那边判断一下队伍里哪些是佣兵,队长本身是否打卡就行
您需要登录后才可以回帖 登录 | 注册/Sign up

本版积分规则

手机版|cgmsv引擎论坛

GMT+8, 2026-6-5 03:19 , Processed in 0.034832 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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