cgmsv引擎论坛

 找回密码
 注册/Sign up
搜索
123
返回列表 发新帖
楼主: ahsin

【新框架】战斗看血lua,全新制作

[复制链接]

Rank: 1

 楼主| 发表于 2024-5-23 10:11:34 | 显示全部楼层
Allen 发表于 2024-5-21 20:45
大佬,能不能改成回合前显示?目前应该是人物行动后才显示的

怪没动的话,获取不到数据。目前只能延迟一回合获取,凑合用哈

Rank: 1

发表于 2024-5-26 16:22:45 | 显示全部楼层
ahsin 发表于 2024-5-23 10:11
怪没动的话,获取不到数据。目前只能延迟一回合获取,凑合用哈

我整合了下,可以用了

Rank: 1

 楼主| 发表于 2024-5-27 18:30:59 | 显示全部楼层
Allen 发表于 2024-5-26 16:22
我整合了下,可以用了

改到首回合了?看看用哪个函数

Rank: 1

发表于 2024-5-27 19:11:44 | 显示全部楼层
本帖最后由 Allen 于 2024-5-27 19:12 编辑
ahsin 发表于 2024-5-27 18:30
改到首回合了?看看用哪个函数
注销的是以前版本显血,没有删掉
  1. function BattleHelperModule:onBattleCommand(battleIndex)
  2.         -- local enemyTable = {}
  3.         local battleTurn = Battle.GetTurn(battleIndex) + 1
  4.         for slot = 10, 19 do
  5.                 local guai = Battle.GetPlayer(battleIndex, slot)
  6.                 if (guai >= 0) then
  7.                         guaihp[slot] = Char.GetData(guai,%对象_血%) or 0
  8.                         guaihp2[slot] = Char.GetData(guai,%对象_最大血%) or 0
  9.                         guaimp[slot] = Char.GetData(guai,%对象_魔%) or 0--留着,但一般不显示魔量,没做
  10.                         guaimp2[slot] = Char.GetData(guai,%对象_最大魔%) or 0--留着,但一般不显示魔量,没做
  11.                 else
  12.                         guaihp[slot] = 0
  13.                         guaihp2[slot] = 0
  14.                         guaimp[slot] = 0--留着,但一般不显示魔量,没做
  15.                         guaimp2[slot] = 0--留着,但一般不显示魔量,没做
  16.                         -- local level = Char.GetData(charIndex, CONST.CHAR_等级)
  17.                         -- local hp = Char.GetData(charIndex, CONST.CHAR_血)
  18.                         -- local maxHp = Char.GetData(charIndex, CONST.CHAR_最大血)
  19.                         -- local hpRatio = math.floor(hp / maxHp * 1000) / 10
  20.                         -- local mp = Char.GetData(charIndex, CONST.CHAR_魔)
  21.                         -- local maxMp = Char.GetData(charIndex, CONST.CHAR_最大魔)
  22.                         -- local mpRatio = math.floor(mp / maxMp * 1000) / 10
  23.                         -- local endPos = Battle.GetPos(battleIndex,charIndex);
  24.                         -- local name = Char.GetData(charIndex, CONST.CHAR_名字)
  25.                         -- local outputStr = { endPos, ', ', name, ', 等级:', level, ', HP:', hp, ', MP:', mp, '' }
  26.                         -- table.insert(enemyTable, table.concat(outputStr))
  27.                 end
  28.         end
  29.         local playerIndex = Battle.GetPlayer(battleIndex, 0)
  30.         if showEnemyInfo then
  31.                 -- pd[battleindex] = 1--防重复显示
  32.                 -- Char.AddGold(player,-jiage)--扣费
  33.                 neirong0 = "----------------------------------------"
  34.                 neirong1 = "后排: "..show(guaihp[14],guaihp2[14]).." | "..show(guaihp[12],guaihp2[12]).." | "..show(guaihp[10],guaihp2[10]).." | "..show(guaihp[11],guaihp2[11]).." | "..show(guaihp[13],guaihp2[13])
  35.                 neirong2 = "前排: "..show(guaihp[19],guaihp2[19]).." | "..show(guaihp[17],guaihp2[17]).." | "..show(guaihp[15],guaihp2[15]).." | "..show(guaihp[16],guaihp2[16]).." | "..show(guaihp[18],guaihp2[18])
  36.                 neirong3 = "---------------回合数:"..battleTurn.." ---------------"
  37.                 NLG.Say(playerIndex,-1,neirong0,4,0)
  38.                 NLG.Say(playerIndex,-1,neirong1,4,0)--结尾4,0,4为字体颜色,第二个0为字体大小,数字自己改了测试
  39.                 NLG.Say(playerIndex,-1,neirong2,4,0)
  40.                 NLG.Say(playerIndex,-1,neirong3,4,0)
  41.                 -- NLG.TalkToCli(playerIndex, -1, '========== 回合: ' .. battleTurn .. ' ==========', 4, 1)
  42.                 -- for idx, outputStr in ipairs(enemyTable) do
  43.                         -- NLG.TalkToCli(playerIndex, -1, '> ' .. outputStr, 4, 1)
  44.                 -- end
  45.                 -- NLG.TalkToCli(playerIndex, -1, '  ', 4, 1)
  46.         end
  47. end
复制代码

Rank: 1

 楼主| 发表于 2024-5-28 04:39:12 | 显示全部楼层
本帖最后由 ahsin 于 2024-5-28 04:41 编辑
Allen 发表于 2024-5-27 19:11
注销的是以前版本显血,没有删掉

啊?onbattlecommand没有这个函数啊?改的iswaitingcommand?

或者BeforeBattleTurnEvent?

Rank: 1

发表于 2024-5-28 19:52:41 | 显示全部楼层
ahsin 发表于 2024-5-28 04:39
啊?onbattlecommand没有这个函数啊?改的iswaitingcommand?

或者BeforeBattleTurnEvent?

就是定义一下这个就可以用了

  1. self:regCallback('BeforeBattleTurnEvent', Func.bind(self.onBattleCommand, self));
复制代码
您需要登录后才可以回帖 登录 | 注册/Sign up

本版积分规则

手机版|cgmsv引擎论坛

GMT+8, 2024-11-21 22:39 , Processed in 0.128000 second(s), 4 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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