Já vimos na parte 5 todos comandos do Bastion
.commands
.counter
.dbfind
.deck
.eff
.f
.help
.id
.link
.match
.param
.ping
.randcard
.ruling
.script
.search
.set
.skill
.stats
.strings
.strfind
.top
.yugi
Já vimos na parte 5 todos comandos do Bastion
.commands
.counter
.dbfind
.deck
.eff
.f
.help
.id
.link
.match
.param
.ping
.randcard
.ruling
.script
.search
.set
.skill
.stats
.strings
.strfind
.top
.yugi
Desculpem a demora , pois eu estava pensando em postar na quarta-feira , já que na segunda eu postei 2 tópicos , porém desanimei , mas postei outro projetos
Hoje resolvi pesquisar condições devido a uma dúvida na internet
Tipos de cartas ( Anotei alguns , não todos , irei atualizar conforme eu vejo )
[Efeito Rápido]
Ex : Infernobre Knight Roland ( 815 704 )
Durante a Fase
Principal
Ex : Fazticeira Genni
Durante o cálculo de
dano
Ex : Dinolutador Ampelo Marcial
Durante o turno de
qualquer duelista
Ex : Rapariga Demônio Subterror
Durante sua Fase
Principal
Ex : Bebê de Flamvell
Enquanto este card
Ex : Brandistock Dragunidade
Enquanto você
controlar
Ex : Otoshidamashi ( 149 574 )
Enquanto você tiver
Ex : General Samurai
Este card com a face
para cima
Ex : Asanegra-Vayu, o Emblema de Honra
Este card em Posição
Ex : Gouki Corajoso
Este card ganha
Ex : Robô-Secret 001
Este card pode
Ex : Reparador ESPIRÃ
Este monstro pode
Ex : Lâmpada Mística
Não pode ser invocado
Ex : Senhormek Imperador Wisel ( 302 218 )
Quando este card for
descartado
Ex : Catsith Mitológico
Quando este card for
destruído
Ex :Blizzed,Defensora
Quando este card for
enviado
Ex : Macrotema das Profundezas
Quando este card for
invocado por Invocação-Normal
Ex : Protetor com Azul nos Olhos
Quando este card
inflige
Ex : Espadachim Agulha
Quando o controle
deste card
Ex : Griggle
Quando um card ou
efeito
Ex : Dragão-Guarda
Quando um monstro
Ex : Salamagrande Guaxinim
Se este card batalhar
Ex : Asanegra-Jin
Se este card com a
face para cima
Ex : Brisawntarilho & Águian ( 543 344 )
Se este card é Normal
/ Esp Sum
Ex : Dimension Conjurer ( 776 833 )
Se este card estiver
na sua Mão
Ex : Cão de Caça Místico
Se este card estiver
no Cemitério
Ex : Recaparar
Se este card for
destruído
Ex : Pequeno Soldado
Se este card for
enviado
Ex : Boca-de-leão Silvestre
Se este card for
escolhido
Ex : Larva Cibernética
Se este card for
invocado
Ex : Edea, o Escudeiro Celestial
Se um monstro
equipado com este card
Ex : Corsesca Dragunidade
Se seu oponente
Ex : Topi Mitológico
Se seus PV forem
maiores
Ex : Aromágico Louro ( 141 698 )
Se todos os monstros
no seu Cemitério
Ex : Uniflora, Besta Mística da Floresta
Se você controlar
Ex : Heroi Challenge-Knuckle ( 101 108 )
Uma vez por turno
Ex : Sorteador Inférmico
Vire : Quando este
card for virado
Ex : Verme Esperança
Você pode banir 1
monstro
Ex : Lucius, o Vassalo das Sombras
Você pode enviar 1
monstro
Ex : Neptabismo, o Príncipe Atlante
Você pode enviar este
card
Ex : Filhote do Dragão Negro
Você pode escolher
Ex : Dragão Metálico Negro
Você pode oferecer
este card
Ex : Bruxa da Rosa Escarlate ( 291 074 )
Você pode selecionar
Ex : Saraivada do Cupido
Comandos traduzidos do Bastion ( bot do discord ProjectIgnis )
.commands: gera uma lista de comandos aos quais o usuário tem acesso.
Explicativo
.c: Pesquisa por nome por uma constante nos scripts YGOPro Percy e retorna uma lista paginada de todos os resultados correspondentes.
Comandos locais no script
.counter: pesquisa um contador (por exemplo, contador Bushido) por nome ou valor hexadecimal YGOPro e exibe ambos
Pesquisei por .counter 20 e o Bastion falou : 0x20 Plant Counter
Pesquisei por <Plant Counter> e o Bastion mostrou o efeito dela
.dbfind: Lista todos os bancos de dados YGOPro dos quais o Bastion está obtendo os dados de um determinado cartão.
Pesquisei por .dbfind plant counter e o Bastion falou : A entrada do último contador pode ser encontrada em: en / cards.cdb, ja / cards.cdb, cn / cards.cdb, de / cards_de.cdb, es / cards_es.cdb, fr / cards_fr.cdb, it / cards_it.cdb, ko / cards.cdb.
en/cards.cdb, ja/cards.cdb, cn/cards.cdb, de/cards_de.cdb, es/cards_es.cdb, fr/cards_fr.cdb, it/cards_it.cdb, ko/cards..eff: Pesquisa por nome uma função de scripts YGOPro Percy e retorna uma lista paginada de todos os resultados correspondentes.
Pesquisei por .eff counter e o Bastion falou : Contraforça
Quando o ataque de um monstro que visava um monstro virado para cima em Posição de Ataque é negado: Inflija dano ao seu oponente igual à diferença de ATK entre os 2 monstros 30488793
Pesquisei por .eff Draw e o Bastion falou : Gaveta
Quando esta carta é Normal Summoned: Você pode devolver qualquer número de cartas de sua mão para o Deck, e se o fizer, esta carta ganha 500 ATK / DEF para cada carta devolvida. Se esta carta destruir um monstro em Posição de Ataque por batalha, coloque o monstro destruído no fundo do Baralho, ao invés de enviá-lo para o Cemitério. 511000470
.help: Fornece uma mensagem de ajuda geral se chamado sozinho, ou os detalhes para o comando fornecido.
Digitei .help e o Bastion falou : Use .help <commandname> para obter ajuda detalhada sobre um comando específico.
Envie-me um ping para obter mais informações gerais.
Digitei .help id e o Bastion falou : .identificação
(também conhecido como código, senha)
Uso: cartão .id
Procura um cartão por ID ou nome e mostra ambos sem nenhuma informação extra.
Além do óbvio, é útil para traduções rápidas de nomes, já que todas as buscas de cartões suportam opções de idioma.
.id: Pesquisa um cartão por ID ou nome e mostra ambos sem nenhuma informação extra.
Digitei .id 30606547 e o Bastion falou : The Dark Door: 30606547
.link: Substituído por / link
.match: Pesquisa por cartões por correspondência difusa com o nome do cartão e retorna uma lista paginada de todos os resultados.
Digitei .match Raigeki e o Bastion falou : Top 6 card name fuzzy searches for Raigeki (Page 1/1)
1. Raigeki
2. Raigeki Break
3. Raigeki Bottle
4. Anti Raigeki
5. Crystal Raigeki
6. Speed Spell - Raigeki
.param: Pesquisa por nome um parâmetro de função de scripts YGOPro Percy e retorna uma lista paginada de todos os resultados correspondentes.
Digitei .help param e o Bastion falou : .param
Uso: consulta .param
Pesquisa por nome um parâmetro de função de scripts YGOPro Percy e retorna uma lista paginada de todos os resultados correspondentes.
Use as reações das setas ou .p <número> para navegar nas páginas.
Use reações numéricas ou .d <número> para mostrar a descrição de um parâmetro.
.ping: Envia uma resposta básica para testar a conectividade e observa quanto tempo demorou.
Digitei .ping e o Bastion falou : Pong! (344 ms)
ms é MiliSegundos
344 ms = 0,344 segundos
.randcard: Mostra o perfil de um cartão aleatório que atenda aos filtros fornecidos.
Digitei .help randcard e o Bastion falou : .randcard
(também conhecido como cartão aleatório)
Uso: filtro .randcard
Mostra o perfil de um cartão aleatório que atenda aos filtros fornecidos.
Para obter detalhes sobre o sistema de filtro, consulte https://github.com/AlphaKretin/ygo-data/wiki/Filter-system.
Para obter vários resultados, tente .search | filter.
.ruling: Procura um cartão por ID ou nome e exibe um link para o banco de dados de regras OCG japonês para esse cartão
Digitei : .ruling Magic e cai numa página em japonês
https://www.db.yugioh-card.com/yugiohdb/faq_search.action?ope=4&request_locale=ja&cid=8322
.script: Pesquisa um cartão por ID ou nome e exibe um link para o script do cartão no GitHub, se disponível. Também exibe o script no Discord se for curto o suficiente para caber na mensagem
Digitei : .script effect e o Bastion falou :
Effect Veiler
Direct Link: https://raw.githubusercontent.com/ProjectIgnis/CardScripts/master/official/c97268402.lua
GitHub Link: https://github.com/ProjectIgnis/CardScripts/blob/master/official/c97268402.lua
Digitei : .script effect_cannot e o Bastion falou :
Sorry, I can't find a card for EFFECT_CANNOT!
.set: Pesquisa um código de conjunto de arquétipo (por exemplo, Aliado da Justiça) por nome ou valor hexadecimal YGOPro e exibe ambos
Digitei : .set Ally of Justice e o Bastion falou : 0x1:
Ally of Justice
.stats: exibe apenas as estatísticas de um determinado cartão, sem o texto do cartão.
Digitei : .stats Pot of Greed e o Bastion falou :
Pot of Greed
Status: OCG: 0/TCG: 0 Price: $0.99-$20.19-$599.00 USD
Type: Spell :SPELL:
Imagem
55144522
.strings: Pesquisa um cartão por ID ou nome e exibe suas sequências de banco de dados YGOPro.
Digitei : .strings magicat e o Bastion falou ::
Strings for Magicat:
0: Return to deck
Digitei : <magicat> e o Bastion falou :
Summoner Monk
Status: OCG: 3/TCG: 3 Price: $0.99-$2.60-$37.87 USD
Type: Spellcaster/Effect :Spellcaster: Attribute: DARK :DARK:
Level: 4 :level: ATK: 800 DEF: 1600
Monster Effect
While this card is face-up on the field, it cannot be Tributed. If this card is Normal or Flip Summoned: Change this card to Defense Position. Once per turn: You can discard 1 Spell; Special Summon 1 Level 4 monster from your Deck, but that monster cannot attack this turn.
Imagem
423585
.strfind: Procura por strings de cartão EDOPro e retorna uma lista paginada de todos os resultados.
Digitei : .strfind effect e o Bastion falou :
707 string matches for effect: (Page 1/71)
419,3: You gain the ff. effect.
Gain 200 LP for each card sent to the Graveyard.
419,4: Banish all S/T in your Grave and you gain "Extra Monster" effect.
4002,0: Activate "Galaxy Shockwave" effect?
4003,0: You gain the following effect.
Gain 200 LP for each card sent to the Graveyard.
4003,1: Banish all S/T in your Grave and you gain "Extra Monster" effect.
4011,15: Other cards' effects only apply for 1 turn
296499,0: Tribute 1 monster for the effect of "The Regulation of Tribe"?
368382,0: Negate effect by destroying "Dinomist Brachion"?
402568,0: Prevent activation of effects
581014,0: Select effect
.top: exibe os cartões mais populares para pesquisa, até os 15 principais.
Digitei .top e o Bastion falou :
Top 15 card searches:
1. Vassal Token (99709 times)
2. Red-Eyes Dark Dragoon (5114 times)
3. Potato & Chips (3795 times)
4. Athena (3337 times)
5. Dragoncarnation (3295 times)
6. Ash Blossom & Joyous Spring (2804 times)
7. Kuriboh (2606 times)
8. Biofalcon (2595 times)
9. Mystic Mine (2589 times)
10. Quarantine (2509 times)
11. Predaplant Verte Anaconda (2470 times)
12. Pot of Greed (2464 times)
13. Nibiru, the Primal Being (2327 times)
14. Dark Magician (2318 times)
15. Forbidden Droplet (2275 times)
.yugi: substituído por / yugipedia
Digitei .yugi magic e o Bastion falou :
Este foi substituído por /yugipedia. Certifique-se de ter permissão para usar os Comandos Slash neste canal se você não puder ver o comando. Se Bastion foi adicionado a este servidor depois de 22 de março de 2021, os administradores do servidor precisarão me convidar novamente com um novo link.
Mágica Continua na qual estabelece a regra que só 1 monstro pode atacar durante a Fase de Batalha
Analisando o script :
(sempre que começar com -- é um comentário )
--暗黒の扉 = Nome da carta em japonês
function c30606547.initial_effect(c) = Isso aqui é opcional , se quise pode colocar function s.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
Criando Efeito1
e1:SetType(EFFECT_TYPE_ACTIVATE)
Já vimos que é um tipo de Ativação Mágica / Armadilha
e1:SetCode(EVENT_FREE_CHAIN)
Também vimos que esse Tipo de Ativação quer dizer que pode ser ativada em qualquer momento
c:RegisterEffect(e1)
Registrou efeito1
--cannot attack
local e2=Effect.CreateEffect(c)
Criando efeito2
e2:SetType(EFFECT_TYPE_FIELD)
Um efeito que se aplica a todo o campo
e2:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
O efeito se aplica independentemente de uma carta ser "Não afetada pelos efeitos das cartas"
e2:SetCode(EFFECT_CANNOT_ATTACK_ANNOUNCE)
O card afetado não pode declarar ataques (mas pode terminar de conduzir um ataque respondido com este efeito, Rugido Ameaçador / Threatening Roar )
Threatening Roar = Seu oponente não pode declarar um ataque neste turno.
Traduzindo isso : Se você ativar A Porta Obscura e declarar ataque , mesmo que o oponente ative a carta Rugido Ameaçador , o ataque irá passar , já a declaração do 2° ataque não
Se fosse EFFECT_CANNOT_ATTACK na carta ?
Se você ativar A Porta Obscura e declarar ataque , mesmo que o oponente ative a carta Rugido Ameaçador , o ataque irá passar , já o 2° ataque não
Se o monstro tivesse no Efeito : Se declarar ataque ele não pode ser negado ?
Ai automaticamente vai cancelar qualquer armadilha que fosse utilizada , o ataque dele iria passar
e2:SetRange(LOCATION_SZONE)
A Zona de Feitiço / Armadilha, incluindo Feitiço de Campo e Zona de Pêndulo (<= MR3). (valor decimal = 8)
SetRanger deve ser a extensão da carta, primeira vez que eu vejo
e2:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
Zona de Monstros (valor decimal = 4)
Alcance do efeito ativado
e2:SetCondition(c30606547.atkcon)
e2:SetTarget(c30606547.atktg)
c:RegisterEffect(e2)
Registrou efeito2
--check
Checagem
local e3=Effect.CreateEffect(c)
Criando efeito3
e3:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
Effect_Type_Field = Um efeito que se aplica a todo o campo
Effect_Type_Continuous = Efeito auxiliar / efeito persistente desencadeado por um evento
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
Efeito não pode ser negado
e3:SetCode(EVENT_ATTACK_ANNOUNCE)
Quando um ataque é declarado
e3:SetRange(LOCATION_SZONE)
e3:SetOperation(c30606547.checkop)
e3:SetLabelObject(e2)
c:RegisterEffect(e3)
Registrou Efeito3
end
function c30606547.atkcon(e)
return e:GetHandler():GetFlagEffect(30606547)~=0
.f GetHandler = Obtém o manipulador de cartas de um efeito (Efeito e) (sendo a carta em que o efeito está registrado), se o efeito não estiver anexado a uma carta (ou seja, registrado para o jogador), ele retorna seu dono.
end
function c30606547.atktg(e,c)
return c:GetFieldID()~=e:GetLabel()
.f GetField = Retorna o ID do campo "c" quando foi colocado no campo.
end
function c30606547.checkop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(30606547)~=0 then return end
local fid=eg:GetFirst():GetFieldID()
e:GetHandler():RegisterFlagEffect(30606547,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_END,0,1)
e:GetLabelObject():SetLabel(fid)
end
Depois de 2 partes aprendemos que a carta deve ter :
Categoria ( temos 32 )
[01] 0x1 | CATEGORY_DESTROY = Efeito de destruir cartas
Ex : Raigeki
[02] 0x2 | CATEGORY_RELEASE
[03] 0x4 | CATEGORY_REMOVE
[04] 0x8 | CATEGORY_TOHAND
[05] 0x10 | CATEGORY_TODECK
[06] 0x20 | CATEGORY_TOGRAVE
[07] 0x40 | CATEGORY_DECKDES
[08] 0x80 | CATEGORY_HANDES
[09] 0x100 | CATEGORY_SUMMON
[10] 0x200 | CATEGORY_SPECIAL_SUMMON
[11] 0x400 | CATEGORY_TOKEN
[12] 0x800 | CATEGORY_FLIP
[13] 0x1000 | CATEGORY_POSITION
[14] 0x2000 | CATEGORY_CONTROL
[15] 0x4000 | CATEGORY_DISABLE
[16] 0x8000 | CATEGORY_DISABLE_SUMMON
[17] 0x10000 | CATEGORY_DRAW = Retirar carta / s
Ex : Pot of Greed
[18] 0x20000 | CATEGORY_SEARCH
[19] 0x40000 | CATEGORY_EQUIP
[20] 0x80000 | CATEGORY_DAMAGE
[21] 0x100000 | CATEGORY_RECOVER
[22] 0x200000 | CATEGORY_ATKCHANGE
[23] 0x400000 | CATEGORY_DEFCHANGE
[24] 0x800000 | CATEGORY_COUNTER
[25] 0x1000000 | CATEGORY_COIN
[26] 0x2000000 | CATEGORY_DICE
[27] 0x4000000 | CATEGORY_LEAVE_GRAVE
[28] 0x8000000 | CATEGORY_LVCHANGE
[29] 0x10000000 | CATEGORY_NEGATE
[30] 0x20000000 | CATEGORY_ANNOUNCE
[31] 0x40000000 | CATEGORY_FUSION_SUMMON
[32] 0x80000000 | CATEGORY_TOEXTRA
Tipo de Efeito ( 15 )
[01] 0x0001 | EFFECT_TYPE_SINGLE
[02] 0x0002 | EFFECT_TYPE_FIELD = Um efeito que se aplica ao Campo
[03] 0x0004 | EFFECT_TYPE_EQUIP
[04] 0x0008 | EFFECT_TYPE_ACTIONS
[05] 0x0010 | EFFECT_TYPE_ACTIVATE = Ativação de Mágica / Armadilha
[06] 0x0020 | EFFECT_TYPE_FLIP
[07] 0x0040 | EFFECT_TYPE_IGNITION
[08] 0x0080 | EFFECT_TYPE_TRIGGER_O
[09] 0x0100 | EFFECT_TYPE_QUICK_O
[10] 0x0200 | EFFECT_TYPE_TRIGGER_F
[11] 0x0400 | EFFECT_TYPE_QUICK_F
[12] 0x0800 | EFFECT_TYPE_CONTINUOUS = Efeito Auxiliar ou Persistente desencadeado por um evento
[13] 0x1000 | EFFECT_TYPE_XMATERIAL
[14] 0x2000 | EFFECT_TYPE_GRANT
[15] 0x4000 | EFFECT_TYPE_TARGET
Bandeira de Efeito ( 35 )
[01] 0x0001 | EFFECT_FLAG_INITIAL
[02] 0x0002 | EFFECT_FLAG_FUNC_VALUE
[03] 0x0004 | EFFECT_FLAG_COUNT_LIMIT
[04] 0x0008 | EFFECT_FLAG_FIELD_ONLY
[05] 0x0010 | EFFECT_FLAG_CARD_TARGET
[06] 0x0020 | EFFECT_FLAG_IGNORE_RANGE
[07] 0x0040 | EFFECT_FLAG_ABSOLUTE_TARGET
[08] 0x0080 | EFFECT_FLAG_IGNORE_IMMUNE = O efeito se aplica independentemente de uma carta ser "Não afetada pelos efeitos das cartas"
[09] 0x0100 | EFFECT_FLAG_SET_AVAILABLE
[10] 0x0200 | EFFECT_FLAG_CANNOT_NEGATE
[11] 0x0400 | EFFECT_FLAG_CANNOT_DISABLE = Efeito não pode ser negado
[12] 0x0800 | EFFECT_FLAG_PLAYER_TARGET = O efeito tem como alvo um jogador ( Mystical Refpanel = É uma carta armadilha )
Mystical Refpanel = Ative apenas quando um Spell Card que tem como alvo 1 jogador é ativado. O efeito daquela Carta de Magia é aplicado ao outro jogador.
[13] 0x1000 | EFFECT_FLAG_BOTH_SIDE
[14] 0x2000 | EFFECT_FLAG_COPY_INHERIT
[15] 0x4000 | EFFECT_FLAG_DAMAGE_STEP
[16] 0x8000 | EFFECT_FLAG_DAMAGE_CAL
[17] 0x10000 | EFFECT_FLAG_DELAY
[18] 0x20000 | EFFECT_FLAG_SINGLE_RANGE
[19] 0x40000 | EFFECT_FLAG_UNCOPYABLE
[20] 0x80000 | EFFECT_FLAG_OATH
[21] 0x100000 | EFFECT_FLAG_SPSUM_PARAM
[22] 0x200000 | EFFECT_FLAG_REPEAT
[23] 0x400000 | EFFECT_FLAG_NO_TURN_RESET
[24] 0x800000 | EFFECT_FLAG_EVENT_PLAYER
[25] 0x1000000 | EFFECT_FLAG_OWNER_RELATE
[26] 0x2000000 | EFFECT_FLAG_CANNOT_INACTIVATE
[27] 0x4000000 | EFFECT_FLAG_CLIENT_HINT
[28] 0x8000000 | EFFECT_FLAG_CONTINUOUS_TARGET
[29] 0x10000000 | EFFECT_FLAG_LIMIT_ZONE
[30] 0x20000000 | EFFECT_FLAG_COF
[31] 0x40000000 | EFFECT_FLAG_CVAL_CHECK
[32] 0x80000000 | EFFECT_FLAG_IMMEDIATELY_APPLY
[33] 0x0001 | EFFECT_FLAG2_NAGA
[34] 0x0002 | EFFECT_FLAG2_COF
[35] 0x80000000 | EFFECT_FLAG2_MAJESTIC_MUST_COPY
Momento que ela pode ser ativada (76)
[01] 0x1000 | RESET_EVENT
[02] 0x800000 | EFFECT_FLAG_EVENT_PLAYER
[03] 1000 | EVENT_STARTUP
[04] 1001 | EVENT_FLIP
[05] 1002 | EVENT_FREE_CHAIN = Pode ser ativada em qualquer momento
[06] 1010 | EVENT_DESTROY
[07] 1011 | EVENT_REMOVE
[08] 1012 | EVENT_TO_HAND
[09] 1013 | EVENT_TO_DECK
[10] 1014 | EVENT_TO_GRAVE
[11] 1015 | EVENT_LEAVE_FIELD
[12] 1016 | EVENT_CHANGE_POS
[13] 1017 | EVENT_RELEASE
[14] 1018 | EVENT_DISCARD
[15] 1019 | EVENT_LEAVE_FIELD_P
[16] 1020 | EVENT_CHAIN_SOLVING
[17] 1021 | EVENT_CHAIN_ACTIVATING
[18] 1022 | EVENT_CHAIN_SOLVED
[19] 1023 | EVENT_CHAIN_ACTIVATED
[20] 1024 | EVENT_CHAIN_NEGATED
[21] 1025 | EVENT_CHAIN_DISABLED
[22] 1026 | EVENT_CHAIN_END
[23] 1027 | EVENT_CHAINING
[24] 1028 | EVENT_BECOME_TARGET
[25] 1029 | EVENT_DESTROYED
[26] 1030 | EVENT_MOVE
[27] 1040 | EVENT_ADJUST
[28] 1100 | EVENT_SUMMON_SUCCESS
[29] 1101 | EVENT_FLIP_SUMMON_SUCCESS
[30] 1102 | EVENT_SPSUMMON_SUCCESS
[31] 1103 | EVENT_SUMMON
[32] 1104 | EVENT_FLIP_SUMMON
[33] 1105 | EVENT_SPSUMMON
[34] 1106 | EVENT_MSET
[35] 1107 | EVENT_SSET
[36] 1108 | EVENT_BE_MATERIAL
[37] 1109 | EVENT_BE_PRE_MATERIAL
[38] 1110 | EVENT_DRAW
[39] 1111 | EVENT_DAMAGE
[40] 1112 | EVENT_RECOVER
[41] 1113 | EVENT_PREDRAW
[42] 1114 | EVENT_SUMMON_NEGATED
[43] 1115 | EVENT_FLIP_SUMMON_NEGATED
[44] 1116 | EVENT_SPSUMMON_NEGATED
[45] 1120 | EVENT_CONTROL_CHANGED
[46] 1121 | EVENT_EQUIP
[47] 1130 | EVENT_ATTACK_ANNOUNCE = Quando um ataque é declarado
[48] 1131 | EVENT_BE_BATTLE_TARGET
[49] 1132 | EVENT_BATTLE_START
[50] 1133 | EVENT_BATTLE_CONFIRM
[51] 1134 | EVENT_PRE_DAMAGE_CALCULATE
[52] 1135 | EVENT_DAMAGE_CALCULATING
[53] 1136 | EVENT_PRE_BATTLE_DAMAGE
[54] 1137 | EVENT_BATTLE_END
[55] 1138 | EVENT_BATTLED
[56] 1139 | EVENT_BATTLE_DESTROYING
[57] 1140 | EVENT_BATTLE_DESTROYED
[58] 1141 | EVENT_DAMAGE_STEP_END
[59] 1142 | EVENT_ATTACK_DISABLED
[60] 1143 | EVENT_BATTLE_DAMAGE
[61] 1150 | EVENT_TOSS_DICE
[62] 1151 | EVENT_TOSS_COIN
[63] 1152 | EVENT_TOSS_COIN_NEGATE
[64] 1153 | EVENT_TOSS_DICE_NEGATE
[65] 1200 | EVENT_LEVEL_UP
[66] 1201 | EVENT_PAY_LPCOST
[67] 1202 | EVENT_DETACH_MATERIAL
[68] 1203 | EVENT_RETURN_TO_GRAVE
[69] 1210 | EVENT_TURN_END
[70] 0x1000 | EVENT_PHASE
[71] 0x2000 | EVENT_PHASE_START
[72] 0x10000 | EVENT_ADD_COUNTER
[73] 0x20000 | EVENT_REMOVE_COUNTER
[74] 0xx10000000 | EVENT_CUSTOM
[75] 1 | HINT_EVENT
[76] 0x10 | GLOBALFLAG_DETACH_EVENT
Vamos assistir :
FAQ #01 ygopro/edopro criar cartas e modificar o jogo.
https://www.youtube.com/watch?v=37HRN2a0yeI
----------------------------------------------------
E a carta de hoje é : Pot of Greed
Dessa vez irei postar o script dela também
Agora vamos analisar :
--強欲な壺 = Nome da carta em japonês
function c55144522.initial_effect(c) = No caso ele vai chamar essa função
--Activate
local e1=Effect.CreateEffect(c) = Criando efeito
e1:SetCategory(CATEGORY_DRAW) = Categoria
Descreve que um cartão é comprado
e1:SetType(EFFECT_TYPE_ACTIVATE) = Tipo de ativação
Ativação de feitiço / armadilha
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET) = Tipo de efeito
O efeito tem como alvo um jogador ( Mystical Refpanel = É uma carta armadilha )
Ative apenas quando um Spell Card que tem como alvo 1 jogador é ativado. O efeito daquela Carta de Magia é aplicado ao outro jogador.
e1:SetCode(EVENT_FREE_CHAIN) = Em que momento pode ser ativada
Durante qualquer janela de resposta válida ou estado de jogo aberto
During any valid response window or open game state
e1:SetTarget(c55144522.target)
No caso ela vai mirar em si mesmoa
e1:SetOperation(c55144522.activate)
Vai ativar a função
c:RegisterEffect(e1)
1 Efeito = Puxar 2 cartas
end
function c55144522.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,2) end
Se puder ativar , vai retornar a função seguinte
.f Duel.IsPlayerCanDraw = Verifica se (int player) pode tirar (int count) cartas de seu deck
Duel.SetTargetPlayer(tp)
.f SetTargetPlayer = Define o jogador como o 'alvo' para (jogador interno)
Duel.SetTargetParam(2)
.f SetTargetParam = Define o parâmetro ( quantidade de cartas a tirar )
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,2)
.f Duel.SetOperationInfo = Define informações sobre a operação que está sendo executada na corrente (int chainc = 0) corrente, pertencente a (categoria int), com um total de (contagem interna) de cartão (s) de (Cartão | Alvos de grupo) sendo afetados. Eles são usados com GetOperationInfo. Além disso, os parâmetros passados aqui são verificados se alguma das atividades relacionadas à convocação são verificadas, como ACTIVITY_SUMMON, ACTIVITY_NORMALSUMMON, ACTIVITY_SPSUMMON e ACTIVITY_FLIPSUMMON.
end
function c55144522.activate(e,tp,eg,ep,ev,re,r,rp)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
.f chaininfo_target_player = Jogador visado pelo efeito do elo da corrente atual
Duel.Draw(p,d,REASON_EFFECT)
.f reason_effect = O motivo que causa o evento é um efeito de carta (valor decimal = 64)
end
Explicando as tags sobre Yu-Gi-Oh
Tag : ConhecimentoYGO
Aqui eu posto cartas que eu conheço do jogo
Tag : EDOPro
Tentando criar carta no EDOPro
Explorando o EDOPro = 2 postagens
Duele contra um dek aleatório no EDOPro
Duele contra o seu deck no EDOPro
Tag : JogaYGOProD
Postei 1 deck
Tag : JogaEDOPro
Postei vários decks
Tag : ygopro
Duelando contra o seu deck no RedEyes420 PC / YGOProEs
Comparei o banco de dados de 2 YGOPRoEs
Explorei o RedEyes420PC / YGOProEs
Tag : YGOPROES
Duele contra o seu deck no RedEyes420PC / YGOProEs
Comparei o banco de dados de 2 YGOPRoEs
Explorei o RedEyes420PC / YGOProEs
Yu-Gi-Oh Download
Tag : Yu-Gi-Oh
Duelo de Apostas no Yu-Gi-Oh ?
Duele contra um dek aleatório no EDOPro
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
Spell/Trap Activation
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
Hoje eu anotei a quantidade de cartas que tem no simulador EDOPro
obs¹ : Eu criei 1 carta
*Formato alternativo : 17.429
*Tudo : 11.240
>>Monstros : 7.452
>>Magias : 2.124
>>Armadilhas 1.664
>>Monstros 7.452
---Normal 735
---Efeito 6.628
....Terra 1484
....Água 628
....Fogo 561
....Vento 657
....Luz 1.432
....Trevas 1.854
....Divino 12
---Fusão 394
---Ritual 105
---Sincro 373
---XYZ 450
---Pêndulo 282
---Link 339
---Invocação Especial 293
---Normal Regulador 12
---Normal Pêndulo 35
---Sincro Regulador 25
---Regulador 436
---Gêmeos 44
---União 37
---Espírito 37
---Virar 179
---Toon 17
>>Magias 2.124
---Normal 841
---Rápida 369
---Contínua 363
---Ritual 68
---Equipamento 247
---Campo 236
---Link 0
>>Armadilhas 1.664
---Normal 1.068
---Contínua 456
---Resposta 140
Desvantagens : Só funciona pra 1 deck
Passos :
1 - Crie seu deck e salve com qualquer nome
2 - Vá na pasta ProjectIgnis > deck , copie o seu deck e cole na pasta WindBot > Decks com o nome de AI_Test
3 - Vá na pasta ProjectIgnis > WindBot , abra o arquivo bots.json e coloque assim depois salve
{
"name": "Test",
"deck": "Test",
"difficulty": 1,
"masterRules": [1, 2, 3, 4, 5]
},
4 - Duelo contra e salve o replay
5 - Exporte os decks e verá que a AI estava usando o deck que você mesmo criou
Vamos gerar um decks aleatório ?
1 - Crie seu deck e salve como AI_NomeDoDeck
2 - Mova pra pasta WindBot > Deck
3 - Abra o arquivo bots.json e coloque assim :
{
"name": "NomeDoDeck",
"deck": "NomeDoDeck",
"difficulty": 0,
"masterRules": [1, 2, 3, 4, 5]
},
4 - Duele contra usando qualquer deck
5 - Desista da partida e salve o replay com um nome pequeno ( Exemplo 01 )
6 - Exporte os decks
7 - Verificando verá que o deck da AI não é o mesmo que o seu
8 - Faça isso direto e terá vários
Meu deck e o gerado pela IA :
Fui duelar dnv e :
Fui um teste desses antes e gerou 5 decks diferentes :
Mudanças :
Nota 1 = Antigamente ( YGOPro ) não tinha a pasta "repositories" , então o arquivo ( tipo CONF ) "iflist" ( que contém as listas de restrições do jogo ) ficava na pasta principal .
Nota 2 = Além disso ( Nota 1 ) eles colocavam todas listas num arquivo único , agora no EDOPro as listas estão separadas , porém a pessoa pode pegar a lista antiga e colocar que vai funcionar !!!
*ProjectIgnis*
Arquivo :
"EXE" ( Executável do Programa )
"DLL" ( Necessário pra rodar ) ocgcore.dll
Documentos de texto formatos "TXT" e "MD"
Pastas : config, deck, expansions, fonts, iflists, notices, pics, puzzles, replay, repositories, screenshots, script, skin, sound, textures, updates e WindBot
Detalhando as pastas :
-config
configs.json = Repositórios
"url": "https://github.com/ProjectIgnis/DeltaUtopia",
"repo_name": "Project Ignis updates",
"repo_path": "./repositories/delta-utopia",
"has_core": true,
"core_path": "bin",
"data_path": "",
"script_path": "script",
"should_update": true,
"should_read": true
string.conf = Nome dos arquivos
Exemplo : !system 3 Flip Summon
system.conf = Configuração do Programa
Pasta "languages" com vários idiomas com card.cdb ( cartas do jogo ) e strings.conf ( tradução da "string.conf" )
-deck = Baralhos
Vários arquivos formato "ydk" que abrem no EDOPro
YDK pode ser aberto com Programas de Texto ( Bloco de Notas , Notepad , etc )
-expansions : Banco de dados das cartas
card.cdb
card-skills.cdb
cards-unifficial.cdb
-fonts : Letra do jogo
NotoSanJP-Regular = Arquivo tipo "FONTE"
Documento de texto
-iflists : Pasta Vazia
-notices : Licenças do programa
-pics = Imagem das cartas
-puzzles = Charadas
Arquivos tipo "LUA" que contém configurações
-replay = Replay de partidas formato YRPX
Formato tipo "YRP" do YGOPro não funciona mais
-repositories = Repositórios e Configuração
Pasta iflists : Arquivos tipo "CONF" são as lista de restrições do jogo
-screenshots = Imagens printadas do jogo
Para printar se usa a tecla "F12"
As imagens tem formato "PNG"
-script = Configurações das funções do jogo
-skin = Aparência do programa
-sound = Som do jogo
-textures = Aparência do programa
-updates = Atualizações do programa
-WindBot = Inteligência Artifical
Pasta Decks = Arquivos tipo YDK com AI na frente do nome do baralho "AI_ABC.ydk" , são baralhos da IA
Pasta Dialogs = Arquivos tipo "JSON" são falas da IA
Pasta Executors = Vazia
bots.json = Configuração dos baralhos da IA