So today I wanted to create my own YGOPro card for personal use only of course, I was able to add the card into YGOPro very easily, however, like most people, scripting seems impossible, especially when it's a monster with this sort of effect. Please if anyone is good at scripting cards please try. The effect is below. It's a combination of Raviel Lord of Phantasms, Yubel, and Vennominaga. Completely indestructible.

Effect:
Cannot be Normal Summoned or Set. Must be Special Summoned (from your hand, or graveyard) by Tributing 1 WATER, EARTH, FIRE, WIND, and LIGHT Monster. This card cannot be destroyed by battle. You take no Battle Damage from battles involving this card. This card cannot be targeted or affected by the effects of other monsters, Spells, and Traps.
I copy this script from my vary card. Just change it code for yourself (don't forget to run effect order)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(47826112,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c47826112.spcon)
e1:SetCost(c47826112.spcost)
e1:SetTarget(c47826112.sptg)
e1:SetOperation(c47826112.spop)
c:RegisterEffect(e1)
--indes
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
c:RegisterEffect(e1)
--damage val
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e2:SetValue(1)
c:RegisterEffect(e2)
--immune
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetCode(EFFECT_IMMUNE_EFFECT)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
c:RegisterEffect(e2)
--cannot be target
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(1)
c:RegisterEffect(e5)
function c9596126.spfilter(c,att)
return c:IsAttribute(att) and c:IsFaceUp()
end
function c9596126.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c9596126.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(c9596126.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_WATER)
and Duel.IsExistingMatchingCard(c9596126.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_FIRE)
and Duel.IsExistingMatchingCard(c9596126.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_EARTH)
and Duel.IsExistingMatchingCard(c9596126.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_WIND)
end
function c47826112.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c47826112.spfilter,5,nil) end
local g=Duel.SelectReleaseGroup(tp,c47826112.spfilter,5,5,nil)
Duel.Release(g,REASON_COST)
end
function c47826112.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-5
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c47826112.spop(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,1,tp,tp,false,false,POS_FACEUP)
end
end
Thank you very much, but for some reason I get a error on line 49, it reads "49: attempt to index local 'c' (a number value)
I think this error allows the card to be normal summoned or set by tributing only 2 cards. Line 49 highlighted below
--Creator of All Things
function c97285760.initial_effect(c)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(97285760,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_HAND+LOCATION_GRAVE)
e1:SetCondition(c97285760.spcon)
e1:SetCost(c97285760.spcost)
e1:SetTarget(c97285760.sptg)
e1:SetOperation(c97285760.spop)
c:RegisterEffect(e1)
--indes
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_SINGLE)
e2:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e2:SetRange(LOCATION_MZONE)
e2:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e2:SetValue(1)
c:RegisterEffect(e2)
--damage val
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetCode(EFFECT_AVOID_BATTLE_DAMAGE)
e3:SetValue(1)
c:RegisterEffect(e3)
--immune
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetCode(EFFECT_IMMUNE_EFFECT)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
c:RegisterEffect(e4)
--cannot be target
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetRange(LOCATION_MZONE)
e5:SetValue(1)
c:RegisterEffect(e5)
end
function c97285760.spfilter(c,att)
return c:IsAttribute(att) and c:IsFaceUp()
end
function c97285760.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and Duel.IsExistingMatchingCard(c97285760.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_LIGHT)
and Duel.IsExistingMatchingCard(c97285760.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_WATER)
and Duel.IsExistingMatchingCard(c97285760.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_FIRE)
and Duel.IsExistingMatchingCard(c97285760.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_EARTH)
and Duel.IsExistingMatchingCard(c97285760.spfilter,tp,LOCATION_MZONE,0,1,nil,ATTRIBUTE_WIND)
end
function c97285760.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c97285760.spfilter,5,nil) end
local g=Duel.SelectReleaseGroup(tp,c97285760.spfilter,5,5,nil)
Duel.Release(g,REASON_COST)
end
function c97285760.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-5
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c97285760.spop(e,tp,eg,ep,ev,re,r,rp,c)
local c=e:GetHandler()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c,1,tp,tp,false,false,POS_FACEUP)
end
end
Edited by user
2014-03-21T19:45:32Z
|
Reason: Not specified