太阳神三国杀lua吧 关注:2,630贴子:73,373
  • 2回复贴,共1

关于距离技的问题

只看楼主收藏回复

如何在距离技里面获得一个私家牌堆的牌的详细信息呀?
技能主要是根据私家牌堆Test的牌的花色来决定距离计算
LuaDemo = sgs.CreateDistanceSkill {
——name = "#LuaDemo",
——correct_func = function(self, from, to)
————if to:hasSkill(self:objectName()) and to:getPile("Test"):length() ~= 0 then
——————local cid = to:getPile("Test"):first()
——————local cardSuit = sgs.Sanguosha:getCard(cid):getSuit()--这里会说attemp to index a nil value
——————if cardSuit == sgs.Card_Heart then
————————return 1
——————end
————end
——end,
}
本来想用tag打标记,然后发现距离技里面room也用不了(悲)


IP属地:湖北1楼2023-03-12 01:17回复
    估计问题不是这一行,而是上两行。因为to:getPile():length()这个函数,to和to:getPile()都要是对象才能执行,否则非对象不能调用方法,所以出错。


    IP属地:新疆来自Android客户端2楼2023-03-12 20:41
    回复
      曲线救国,私人牌堆有特定花色的牌的时候加个标记,有标记的时候改变距离,私人牌堆没有特定花色的牌的时候移除标记就行了。


      IP属地:江苏来自Android客户端3楼2023-03-15 17:05
      回复