Primeiro vamos começar com uma carta fácil : Raigeki
Código dela é 1258 0477
Pesquisando c12580477 na pasta do EDOPro , achamos o script dela formato LUA , abrindo ele :
--サンダー・ボルト = Nome em japonês da carta
local s,id=GetID() = Pega o ID da carta automaticamente
function s.initial_effect(c) = O EDOPro chama essa função em todas cartas , só sei disso por enquanto
--Activate
local e1=Effect.CreateEffect(c) = Efeito
e1:SetCategory(CATEGORY_DESTROY) = Pra achar esse efeito , deve chamar a função e por o nome dela , ficando assim : .c category_destroy
Descrição : Describes that an effect destroys cards / Descreve que um efeito destrói cartas
e1:SetType(EFFECT_TYPE_ACTIVATE) = Tipo de efeito
Aqui é a mesma coisa de cima , .c effect_type_activate
Descrição : Spell/Trap Activation / Ativação de feitiço / armadilha
e1:SetCode(EVENT_FREE_CHAIN) = Se é efeito rápido ou de resposta
Mesma coisa : .c event_free_chain
Descrição : Durante qualquer janela de resposta válida ou estado de jogo aberto
e1:SetOperation(s.activate) = Função da carta
c:RegisterEffect(e1)
end
A partir daqui iremos trabalhar com funções ( .f )
function s.target(e,tp,eg,ep,ev,re,r,rp,chk)
e = effect / efeito
tp = triggering player / acionando o jogador
eg = event group / grupo de evento
ep = event player / jogador do evento
ev = event value / valor do evento
re = reason effect = razão do efeito
r = reason = razão
rp = reason player = razão jogador
chk = check = checar
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
Pesquisando : .f ExistingMatchingCard
Descrição : Verifica se (contagem interna) cartas existem em locais (int s) (no lado do campo de (jogador interno)) e (int o) (em seus oponentes) para os quais (funções) retorna verdadeiro, exceto (Cartão ex)
Pesquisando : .f aux.true
Descrição : Função que retorna verdadeiro. Pode ser usado para retornar um grupo inteiro de cartas em um determinado local
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
Pesquisando = .f GetMatchingGroup
Encontramos :
[01] Group | Duel.GetMatchingGroup(function f, int player, int s, int o, Group|Card ex|nil, ...)
[02] int | Duel.GetMatchingGroupCount(function f, int player, int s, int o, Group|Card ex|nil, ...)
[03] int | Duel.GetMatchingGroupCountRush(function f, int player, int s, int o, Group|Card ex|nil, ...)
O nosso é o primeiro :
Descrição : Obtém todos os cartões em locais (int s) (no (int jogador) do lado do campo) e (int o) (em seus oponentes) para os quais (funções) retorna verdadeiro, exceto (cartão ex)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,sg,#sg,0,0)
Aqui colocamos o tipo de efeito
end
function s.activate(e,tp,eg,ep,ev,re,r,rp)
local sg=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
Duel.Destroy(sg,REASON_EFFECT)
end
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.