搜索
查看: 260|回复: 5

[求助] 自定义属性如何设置文字颜色?

[复制链接]
发表于 2024-8-19 14:25:22 | 显示全部楼层 |阅读模式
1000金钱

官方默认的lua代码:

--以下为20220511版增加
--输出物品自定义属性 function itemInfo.getState中调用
function itemInfo.getAttInfo(dbitem)
  local function showAtt(id)
        local tmp = ""
        local Att = 0
        local value = 0

        if id == 1 then
          Att = dbitem:getAtt()
          value = dbitem:getValue()
        elseif id == 2 then
      Att = dbitem:getAtt1()
          value = dbitem:getValue1()
        elseif id == 3 then
          Att = dbitem:getAtt2()
          value = dbitem:getValue2()
        elseif id == 4 then
          Att = dbitem:getAtt3()
          value = dbitem:getValue3()
        elseif id == 5 then
          Att = dbitem:getAtt4()
          value = dbitem:getValue4()
        elseif id == 6 then
          Att = dbitem:getAtt5()
          value = dbitem:getValue5()
        --20221225增加
        elseif id == 7 then
          Att = dbitem:getAtt6()
          value = dbitem:getValue6()
        elseif id == 8 then
          Att = dbitem:getAtt7()
          value = dbitem:getValue7()
        elseif id == 9 then
          Att = dbitem:getAtt8()
          value = dbitem:getValue8()
        elseif id == 10 then
          Att = dbitem:getAtt9()
          value = dbitem:getValue9()       
        --20221225结束       
        end
        if Att > 0 then
      local _tbl = const.Att_tbl[Att]--取自定义属性名
      if _tbl then
                --20221225增加
                if (Att == 57) or (Att == 58) then value = value / 100 end       
                --20221225结束       
                if (Att == 81) or (Att == 83) or (Att == 85) or (Att == 93) then value = value / 10 end
            if value > 0 then
                  if (Att == 89) or(Att == 94) or (Att == 99) or ((Att >= 179) and (Att <= 187)) or ((Att >= 190) and (Att <= 192)) or
                         (Att == 238) or (Att == 239) or
                         --20230902增加
                     ((Att >= 318) and (Att <= 323)) or (Att == 331) or (Att == 332)
                         --20230902结束
                         --20230518修改  
                         --or (Att == 300)
                         --20230518结束
                  then--部分属性不需显点数 20230320版修改
                        tmp = _tbl[1]
                  else
                tmp = _tbl[1]..value
                  end
              if _tbl[2] ~= "nil" then tmp = tmp.._tbl[2] end
              tmp = tmp.."\\"
            end
      end
        end
        return tmp
  end

  local ret = ""
  ret = ret..showAtt(1)--属性解析
  ret = ret..showAtt(2)--属性1解析
  ret = ret..showAtt(3)--属性2解析
  ret = ret..showAtt(4)--属性3解析
  ret = ret..showAtt(5)--属性4解析
  ret = ret..showAtt(6)--属性5解析
  --20221225增加
  ret = ret..showAtt(7)--属性6解析
  ret = ret..showAtt(8)--属性7解析
  ret = ret..showAtt(9)--属性8解析
  ret = ret..showAtt(10)--属性9解析





由于能力有限,只知道上面的:showAtt(1)-(10)代表了属性文字,不知道如何设置文字颜色,求大佬指点。
附件: 您需要 登录 才可以下载或查看,没有账号?立即注册

最佳答案

查看完整内容

if _tbl[2] ~= "nil" then tmp = tmp.._tbl[2] end tmp = tmp.."\\" end 在这段里加
发表于 2024-8-19 14:25:23 | 显示全部楼层
         if _tbl[2] ~= "nil" then tmp = tmp.._tbl[2] end
              tmp = tmp.."\\"
            end

在这段里加
 楼主| 发表于 2024-8-19 19:40:28 | 显示全部楼层
diaosi 发表于 2024-8-19 19:22
if _tbl[2] ~= "nil" then tmp = tmp.._tbl[2] end
              tmp = tmp.."\\"
            e ...

试了下,试出来了,感谢大佬
 楼主| 发表于 2024-8-19 19:50:22 | 显示全部楼层
diaosi 发表于 2024-8-19 14:25
if _tbl[2] ~= "nil" then tmp = tmp.._tbl[2] end
              tmp = tmp.."\\"
            e ...

再问下大佬,能不能实现,属性名称和属性值分开设置颜色?
发表于 2024-8-20 13:14:04 | 显示全部楼层
只要你想,必能实现
 楼主| 发表于 2024-8-20 15:36:33 | 显示全部楼层
传奇的新手 发表于 2024-8-20 13:14
只要你想,必能实现

奈何水平有限哈哈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2025-1-22 19:34 , Processed in 0.422564 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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