Hi everyone, I'm new to the YGOPRO system and since I discovered it, I got really excited about this project, not only because it's automatic, but also because you can add your own cards just by programming them.
Now, I'm not familiarized with the LUA languange but I think I can learn what is needed. And about that "github" website, I didn't know about it before but as far as I know that's the site where the original code comes from and checking around the YGOPRO project of Fluorohydride I think it would be hard to convince them to merge a project with custom cards with the original cards since he hasn't accepted some "pull requests", so I was thinking in creating a project with custom cards, and it's not really difficult with the "fork" option in the site.
that's where "my version of YGOPRO" is stored, and it's just a copy of the original plus any change I could do (if I'm not wrong), so we could upload any .lua files of custom cards and an edited version of the cards.cdb file there, to later include them in the system.
I don't know if this idea is already done, but it would be nice to play with custom cards created by different users in the community and not just testing them in your own computer. So tell me what do you think 🙂 (pardon my English by the way).
Here is some very basic stuff (No info about LUA programming) and for this part, the above tutorial would work better:
After you decided the final function of your card(s), you'll need to edit the cards.cdb file in YGOPRO (copy the original as a backup)
then, download this
SQLite Freeware Open the file and edit both "datas" and "text" in the data tab.
Go to the last part of the list, use the down arrow of your keyboard if necessary until you reach the "null" part.
In there, you can edit the fields to add new cards and after that, there will be another "null" space under the new one you edited.
The "datas" list is where the functional info is store, the "texts" is just for the use of the player and it doesn't have any effect in the game's mechanics.
Now, while modifying the datas, this is what you need to know:
RecNo:
It is not modifiable.
id:
Normally here goes the "8 digit code" of the real cards, but I'm using this 2000000XX to not overlap other cards, also this number has to match with the number in the text part and the image file.
ot:
1=Ocg
2=Tcg
3=Ocg / Tcg
4=Anime
(maybe we need 5 for custom cards, if you want, you can choose 4 here).
alias:
Is if it has more than 1 artwork or has an effect that says "this card's name is.." otherwise leave this as 0. (I don't fully get this one).
Setcode:
For archetype. Sadly for me, you can't fully make use of this if you want some old cards to become an archetype (ie: Magnet Warrior), unless we manage to edit the original source, otherwise, it would be a waste). Anyway, here is the list of the existing archetypes:
0=(null)
1=Ally of Justice
2=Genex
4=Amazoness
5=Arcana Force
6=Dark World
7=Ancient Gear
8=HERO
9=Neos
10=Evilswarm
11=Infernity
12=Alien
13=Saber
14=Watt
15=Ojama
16=Gusto
17=Karakuri
18=Frog
19=Meklord
21=B.E.S.
22=Roid
23=Synchron
24=Cloudian
25=Gladiator Beast
26=Dark Scorpion
27=Phantom Beast
29=Koa'ki Meiru
30=Chrysalis
31=Neo Spacian
32=Shien
33=Earthbound Immortal
34=Jurrac
35=Malefic
36=Scrap
37=Iron Chain
38=Morphtronic
39=T.G.
40=Batteryman
41=Dragunity
42=Naturia
43=Ninja
44=Flamvell
46=Gravekeeper's
47=Ice Barrier
48=Vylon
49=Fortune Lady
50=Volcanic
51=Blackwing
52=Crystal Beast
53=Fabled
54=Machina
55=Mist Valley
56=Lightsworn
57=Laval
58=Gishki
59=Red-Eyes
60=Reptilianne
61=Six Samurai
62=Worm
63=Majestic
64=Forbidden One
65=LV
66=Nordic
67=Junk
68=Agent
69=Archfiend
70=Polymerization, Fusion
71=Gem-
72=Number
73=Skyblaster
74=Timelord
75=Aesir
76=Trap Hole
78=Evol
79=Buster
80=Venom
81=Gadjet
82=Guardian
83=Constellar
84=Gagaga
85=Photon
86=Inzektor
87=Resonator
88=Wind-Up
89=Gogogo
90=Penguin
91=Inmato
92=Sphinx
96=Bamboo Sword
97=Ninjitsu Art
98=Toon
99=Reactor
100=Harpie
101=Infestation
102=Symphonic Warrior
103=Iron
104=Tin
105=Hieratic
106=Butterspy
107=Bounzer
108=Lightray
109=Djinn
110=Prophecy
111=Heroic
112=Chronomaly
113=Madolche
114=Geargia
115=Xyz
116=Mermail
117=Abyss
118=Heraldic Beast
119=Atlantean
120=Nimble
121=Fire Fist
123=Galaxy
124=Fire Formation
125=Haze
126=ZW
128=Duston
133=Spirit Message (apparently deleted)
144=Skiel
145=Dark Tuner/ Dark Synchro
146=Fortune Fairy
148=Fossil
149=Cat
150=Clear
256=Warrior (??) (Synchro Warrior-named monsters and Chevalier de Fleur)
257=Knight (??) (Some fusion monsters)
259= Cyber Dragon
512=Speed Spell
513=Chaos Xyz: Enthusiastic Coaching God, Ultimatrainer
4098=R-Genex
4106=Steelswarm
4109=X-Saber
4118=Vehicroid
4139=Armor Ninja
4149=The Fabled
4167=Gem-Knight
4175=Assault Mode
4206=Spellbook
8194=Genex Ally
12296=Elemental HERO
12301=XX-Saber
12307=Meklord Emperor
12354=Nordic Ascendant
12366=Evoltile
12397=Dragon Djinn
20488=Vision HERO
20546=Nordic Relic
24584=Evil HERO
24595=Meklord Army
24642=Nordic Beast
24654=Evolsaur
24685=Djinn of Rituals
40968=Masked HERO
41026=Nordic Alfar
49160=Destiny HERO
type:
Is the type of card:
2=Normal Spell Card
4=Normal Trap Card
17=Normal Monster
33=Effect Monster
65=Fusion Monster
97=Fusion / Effect Monster
129=Ritual Monster
130=Ritual Spell
161=Ritual / Effect Monster
545=Spirit Monster
1057=Union Monster
2081=Gemini Monster
4113=Tuner / Normal Monster
4129=Tuner / Effect Monster
8193=Synchro Monster
8225=Synchro / Effect Monster
12321=Synchro / Tuner / Effect Monster
16401=Token
65538=Quick-Play Spell Card
131074= Continuous Spell Card
131076= Continuous Trap Card
262146=Equip Spell Card
524290=Field Spell Card
1048580=Counter Trap Card
2097185=Flip Effect Monster
4194337= Toon Monster
8388609=Xyz Monster
8388641=Xyz / Effect Monster
atk: Attack (0 for non-monsters)
def: Defence (0 for non-monsters)
level: Level and Rank
race: Monster type
1=Warrior
2=Spellcaster
4=Fairy
8=Fiend
16=Zombie
32=Machine
64=Aqua
128=Pyro
256=Rock
512=Winged-beast
1024=Plant
2048=Insect
4096=Thunder
8192=Dragon
16384=Beast
32768=Beast-Warrior
65536=Dinosaur
131072=Fish
262144=Sea Serpent
524288=Reptile
1048576=Spychic
2097152=Divine-beast
4194304=Creator God
Atribute:
Atribute of monsters:
1=EARTH
2=WATER
4=FIRE
8=WIND
16=LIGHT
32=DARK
64=DIVINE
Category: For Deck Edit search purpose only (does not affect the game play mechanics) , so better leave it as 0 a don't break your head in this one.
Now, the final part of the cards.cdb file, edit a "null" record in the texts section. In here just make sure that your cards match both id, then proceed to paste the name, description and fill all of the strings with spacebar to avoid crashes (str1 to str16) (yeah, I'm not sure about the function of this, but seems to be for Deck Edit purposes.
After that, if it is just a normal monster, just add pictures of your card to make it visible in the game. A jpg image being 177x254 goes in the "pic" folder, then another one being 44x64 goes in the "pic\thumbnail"folder. If you created a field card, don't forget to make the additional image needed.
"nil" is like any monster, and the "1" here is saying the minimum non-synchro monsters.
EnableReviveLimit makes the card able to be special summoned after a success synchro summon.
In this, "aux.FilterBoolFunction(Card.IsSetCard,0x33)" is a condition that says only tuner monster of x-archetype, in this case 0x33 (hexadecimal)=57=BlackWing.
FilterBoolFunction(Card.IsSetCard,0xHH)=By Archetype (HH is any setcode in hexadecimal)
FilterBoolFunction(Card.IsRace,RACE_MACHINE)=By Monster Type (apparently there's no need for code here)
FilterBoolFunction(Card.IsAttribute,ATTRIBUTE_EARTH)=By Attribute (the same of above)
FilterBoolFunction(Card.IsCode,XXXXXXXX)= Instead of archetype, just put the "ID" to match an specific monster.