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

【求助】技能编写触发不了(没错又是我 %>_<% )

只看楼主收藏回复

LuaNueshaBuff = sgs.CreateTriggerSkill{
name = "#LuaNueshaBuff",
frequency = sgs.Skill_Frequent,
events = {sgs.DamageCaused},
on_trigger = function(self, event, player, data)
local damage = data:toDamage()
if damage.chain or damage.transfer or (not damage.by_user) then return false end
local reason = damage.card
if reason and (reason:isNDTrick()) then
local log = sgs.LogMessage()
log.type = "#LuaNueshaBuff"
log.from = player
log.to:append(damage.to)
log.arg = tostring(damage.damage)
log.arg2 = tostring(damage.damage + 1)
room:sendLog(log)
damage.damage = damage.damage + 1
data:setValue(damage)
end
return false
end,
can_trigger = function(self, target)
return target and target:hasFlag("LuaNuesha") and target:isAlive()
end
}
LuaNuesha = sgs.CreateTriggerSkill{
name = "LuaNuesha",
frequency = sgs.Skill_NotFrequent,
events = {sgs.EventPhaseStart},
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local phase = player:getPhase()
if phase == sgs.Player_Play then
local count = player:getMark("@jian")
if count > 0 then
if room:askForSkillInvoke(player, self:objectName(), data) then
player:loseMark("@jian",1)
room:setPlayerFlag(player, "LuaNuesha")
end
end
end
end
}


IP属地:四川1楼2014-10-17 23:58回复
    二楼技能:
    "出牌开始阶段,你可以弃置一枚“剑”,令本回合你使用的非延时锦囊造成的伤害加1。


    IP属地:四川2楼2014-10-17 23:59
    收起回复
      @低调的付尼玛 @医治永恒


      IP属地:四川3楼2014-10-18 00:00
      回复
        你压根没getRoom()。。。


        来自Android客户端4楼2014-10-18 00:03
        收起回复
          LuaNueshaBuff = sgs.CreateTriggerSkill{
          name = "#LuaNueshaBuff",
          frequency = sgs.Skill_Frequent,
          events = {sgs.DamageCaused},
          on_trigger = function(self, event, player, data)
          local damage = data:toDamage()
          if damage.chain or damage.transfer or (not damage.by_user) then return false end
          if damage.card and damage.card:isNDTrick() and damage.from:hasFlag("LuaNuesha") then
          local log = sgs.LogMessage()
          log.type = "#LuaNueshaBuff"
          log.from = player
          log.to:append(damage.to)
          log.arg = tostring(damage.damage)
          log.arg2 = tostring(damage.damage + 1)
          player:getRoom():sendLog(log)
          damage.damage = damage.damage + 1
          data:setValue(damage)
          end
          return false
          end
          }
          LuaNuesha = sgs.CreateTriggerSkill{
          name = "LuaNuesha",
          events = {sgs.EventPhaseStart},
          on_trigger = function(self, event, player, data)
          if player:getPhase() == sgs.Player_Play and player:getMark("@jian") > 0 and player:askForSkillInvoke(self:objectName(), data) then
          player:loseMark("@jian")
          player:getRoom():setPlayerFlag(player, "LuaNuesha")
          end
          end
          }
          改了下写法,测试过没有问题了。
          有看不懂的问我……
          ------来自 爱贴吧HD for Windows8


          来自Windows8客户端5楼2014-10-18 11:56
          收起回复