cgmsv引擎论坛

 找回密码
 注册/Sign up
搜索
查看: 975|回复: 2

求一个M佬新框架能用的快速加点

[复制链接]

Rank: 1

发表于 2022-12-8 20:59:54 | 显示全部楼层 |阅读模式
论坛搜到那个旧框架好像不能直接用,缺少了什么支持。

Rank: 1

发表于 2022-12-18 20:58:45 | 显示全部楼层
ng.lua里面加了个方法,代码如下


function commandsNormal.ap(charIndex,args)
  if args[1] ~="t" and args[1] ~="l" and args[1] ~="q" and args[1] ~="s" and args[1] ~="m" then
    NLG.SystemMessage(charIndex,"参数错误: t-体力 l-力量 q-强度 s-速度 m-魔力   例:/ap t 100  加体力100")
    return
  end

  local addPoint = tonumber(args[2]);
  if addPoint<=0 then
    NLG.SystemMessage(charIndex,"加点数值小于0,参数错误: t-体力 l-力量 q-强度 s-速度 m-魔力   例:/ap t 100  加体力100")
    return
  end

  local leftPoint = Char.GetData(charIndex, CONST.CHAR_升级点);
  if addPoint>leftPoint then
    NLG.SystemMessage(charIndex,"加点数值大于剩余数值,以剩余数值为准")
    addPoint = leftPoint
  end

  --点数计算
  local allPoint = 0;
  local s = { CONST.CHAR_体力, CONST.CHAR_力量, CONST.CHAR_强度, CONST.CHAR_速度, CONST.CHAR_魔法 }
  for i, v in pairs(s) do
    allPoint = Char.GetData(charIndex, v)/100 + allPoint;
  end
  allPoint = leftPoint + allPoint;
  -- NLG.SystemMessage(charIndex,'全部点数:  '..allPoint);

  local keyWord = {"t","l","q","s","m"}

  --匹配加点类型计算加点
  local oneMax = allPoint/2
  for i, v in pairs(keyWord) do
    if args[1] ==v then
      local nowTypePoint = Char.GetData(charIndex, s[i])/100
      if addPoint + nowTypePoint > oneMax then
        addPoint = oneMax-nowTypePoint
      end
      leftPoint = leftPoint-addPoint

      Char.SetData(charIndex, s[i],(addPoint + nowTypePoint)*100)
      Char.SetData(charIndex, CONST.CHAR_升级点,leftPoint)
    end
  end
  NLG.UpChar(charIndex)
end


ng.rar

3.76 KB, 下载次数: 34

Rank: 1

 楼主| 发表于 2022-12-19 18:47:59 | 显示全部楼层
bgghg2000 发表于 2022-12-18 20:58
ng.lua里面加了个方法,代码如下

谢谢你~
您需要登录后才可以回帖 登录 | 注册/Sign up

本版积分规则

手机版|cgmsv引擎论坛

GMT+8, 2024-5-19 09:49 , Processed in 0.201751 second(s), 10 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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