したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

【遊戯王】ADS自作スクリプト投稿スレ

727名無しデュエリスト:2020/04/05(日) 08:50:46 ID:bCBx8iMo0
①の効果は1ターンに2度までしか使用できない。
①:自分のデッキ・手札・フィールドからチューナー1体とチューナー以外のモンスターを任意の数だけ墓地へ送り、
墓地へ送ったモンスターのレベルの合計と同じレベルを持つSモンスター1体を、エクストラデッキからS召喚扱いで特殊召喚する。
②:このカードが墓地に存在する場合、自分の墓地の「シンクロ・フュージョン」以外のカードを3枚除外して発動できる。
墓地のこのカードを手札に加える。
というカードのスクリプトを作ったのですが、デッキのモンスターのレベル的に特殊召喚できないはずのSモンスターを選択出来て、
その後[Script Error]: [string "./script/c134217715.lua"]:49: attempt to index a nil value とエラーを吐いてしまいます、何処をどうすればいいのか教えてください。
--シンクロ・フュージョン
function c134217715.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCountLimit(2,134217715+EFFECT_COUNT_CODE_OATH)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c134217715.activate)
c:RegisterEffect(e1)
--salvage
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetDescription(aux.Stringid(134217715,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c134217715.thcost)
e2:SetTarget(c134217715.thtg)
e2:SetOperation(c134217715.thop)
c:RegisterEffect(e2)

end

function c134217715.filter1(c,e,tp)
local lv=c:GetLevel()
return c:IsType(TYPE_SYNCHRO) and lv<13
and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c134217715.filter2(c,tp,lv)
local rlv=lv-c:GetLevel()
local rg=Duel.GetMatchingGroup(c134217715.filter3,tp,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_HAND,0,c)
return rlv>0 and c:IsType(TYPE_TUNER) and rg:CheckWithSumEqual(Card.GetLevel,rlv,1,63)
end
function c134217715.filter3(c)
return c:GetLevel()>0 and not c:IsType(TYPE_TUNER)
end

function c134217715.activate(e,tp,eg,ep,ev,re,r,rp)

if aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL)
and Duel.IsExistingMatchingCard(c134217715.filter1,tp,LOCATION_EXTRA,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(134217715,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g1=Duel.SelectMatchingCard(tp,c134217715.filter1,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local lv=g1:GetFirst():GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c134217715.filter2,tp,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_HAND,0,1,1,nil,tp,lv)
local rlv=lv-g2:GetFirst():GetLevel()
local rg=Duel.GetMatchingGroup(c134217715.filter3,tp,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_HAND,0,g2:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,63)
g2:Merge(g3)
Duel.SendtoGrave(g2,POS_FACEUP,REASON_MATERIAL+REASON_SYNCHRO)
Duel.SpecialSummon(g1,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
g1:GetFirst():CompleteProcedure()
end
end


function c134217715.thfilter(c)
return c:IsAbleToRemoveAsCost() and not c:IsCode(134217715)
end
function c134217715.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c134217715.thfilter,tp,LOCATION_GRAVE,0,3,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c134217715.thfilter,tp,LOCATION_GRAVE,0,3,3,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c134217715.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c134217715.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板