求问为什么这个技能没有效果
太阳神三国杀lua吧
全部回复
仅看楼主
level 14
lsx00002 楼主
技能描述:锁定技,出牌阶段,你使用的第一张牌结算后,你摸1张牌,使用的第二张牌结算后,你须弃1张牌;其他角色的出牌阶段,其他角色使用的第三和第四张牌结算后,你摸一张牌.
我是仿照代码手册中的精策写的,然而,测试时发现什么也没有发生.楼下发代码.
2017年02月12日 07点02分 1
level 14
lsx00002 楼主
luaxuyu = sgs.CreateTriggerSkill{
name = "luaxuyu" ,
events = {sgs.PreCardUsed, sgs.CardResponded, sgs.EventPhaseStart, sgs.CardUsed} ,
frequency = sgs.Skill_Compulsory ,
on_trigger = function(self, event, player, data)
local room = player:getRoom()
local source = room:findPlayersBySkillName(self:objectName())
if ((event == sgs.PreCardUsed) or (event == sgs.CardResponded)) and (player:getPhase() <= sgs.Player_Play) then
local card = nil
if event == sgs.PreCardUsed then
card = data:toCardUse().card
else
local response = data:toCardResponse()
if response.m_isUse then
card = response.m_card
end
end
if card and (card:getHandlingMethod() == sgs.Card_MethodUse) then
player:addMark(self:objectName())
end
elseif (event == sgs.EventPhaseStart) and (player:getPhase() == sgs.Player_RoundStart) then
player:setMark(self:objectName(), 0)
elseif event == sgs.CardUsed and player:getPhase() == sgs.Player_Play then
local x = player:getMark(self:objectName())
if x == 1 and (player:objectName() == source:objectName()) then
player:drawCards(1)
elseif x == 2 and (player:objectName() == source:objectName()) then
room:askForDiscard(player, self:objectName(), 1, 1, false, true)
elseif x == 3 and (player:objectName() ~= source:objectName()) then
source:drawCards(1)
elseif x == 4 and (player:objectName() ~= source:objectName()) then
source:drawCards(1)
end
end
return false
end,
can_trigger = function(self,target)
return target and target:isAlive()
end
}
2017年02月12日 07点02分 2
1