level 11
御神光
楼主
从标准全武将标准包里把鬼才的技能拷贝出来,稍作修改后进到神杀09/10版本进行试验,结果发现牌可以正常替换,但是实际判定牌是原来的判定牌,改判定无效,求各位指点
代码如下:
luatianming_card = sgs.CreateSkillCard{--天命技能卡 name = "luatianming_card", target_fixed = true, will_throw = false,}
luatianming_cardvs = sgs.CreateViewAsSkill{--天命Viewas name = "luatianming_cardvs", n = 1, view_filter = function(self, selected, to_select)return true end, view_filter = function(self, selected, to_select) return trueend, view_as = function(self, cards) if #cards == 1 then local acard = luatianming_card:clone() acard:addSubcard(cards[1]) acard:setSkillName("luatianming") return acard end end, enabled_at_play = function() return false end, enabled_at_response = function(self, player, pattern) return pattern == "@@luatianming" --仅响应 要求一张luaguicai_card end}
luatianming=sgs.CreateTriggerSkill{--天命主技能name="luatianming",events=sgs.AskForRetrial,view_as_skill=luatianming_cardvs,on_trigger=function(self,event,player,data)local room=player:getRoom()local simashi=room:findPlayerBySkillName(self:objectName())local judge=data:toJudge() --获取判定结构体 simashi:setTag("Judge",data) --SET技能拥有者TAG--room:playSkillEffect("luatianming", 1)local card=room:askForCard(simashi,"@luatianming","@luatianming",data) if card~=nil then -- 如果打出了simashi:obtainCard(judge.card)judge.card = sgs.Sanguosha:getCard(card:getEffectiveId()) --判定牌更改room:moveCardTo(judge.card, nil, sgs.Player_Special) --移动到判定区local log=sgs.LogMessage() --LOG 以下是改判定专用的TYPElog.type = "$ChangedJudge"log.from = playerlog.to:append(judge.who)log.card_str = card:getEffectIdString()room:sendLog(log)room:sendJudgeResult(judge) endreturn falseend, }
2012年09月22日 14点09分
1
代码如下:
luatianming_card = sgs.CreateSkillCard{--天命技能卡 name = "luatianming_card", target_fixed = true, will_throw = false,}
luatianming_cardvs = sgs.CreateViewAsSkill{--天命Viewas name = "luatianming_cardvs", n = 1, view_filter = function(self, selected, to_select)return true end, view_filter = function(self, selected, to_select) return trueend, view_as = function(self, cards) if #cards == 1 then local acard = luatianming_card:clone() acard:addSubcard(cards[1]) acard:setSkillName("luatianming") return acard end end, enabled_at_play = function() return false end, enabled_at_response = function(self, player, pattern) return pattern == "@@luatianming" --仅响应 要求一张luaguicai_card end}
luatianming=sgs.CreateTriggerSkill{--天命主技能name="luatianming",events=sgs.AskForRetrial,view_as_skill=luatianming_cardvs,on_trigger=function(self,event,player,data)local room=player:getRoom()local simashi=room:findPlayerBySkillName(self:objectName())local judge=data:toJudge() --获取判定结构体 simashi:setTag("Judge",data) --SET技能拥有者TAG--room:playSkillEffect("luatianming", 1)local card=room:askForCard(simashi,"@luatianming","@luatianming",data) if card~=nil then -- 如果打出了simashi:obtainCard(judge.card)judge.card = sgs.Sanguosha:getCard(card:getEffectiveId()) --判定牌更改room:moveCardTo(judge.card, nil, sgs.Player_Special) --移动到判定区local log=sgs.LogMessage() --LOG 以下是改判定专用的TYPElog.type = "$ChangedJudge"log.from = playerlog.to:append(judge.who)log.card_str = card:getEffectIdString()room:sendLog(log)room:sendJudgeResult(judge) endreturn falseend, }