Mostrando postagens com marcador Criação. Mostrar todas as postagens
Mostrando postagens com marcador Criação. Mostrar todas as postagens

quinta-feira, 28 de julho de 2022

Série Sokoban - Parte 07

 Partezinha extra pra falar mais sobre os programas que rodam o jogo Sokoban


Começando com JSoko , além rodar, ele resolve e tem como criar fases ( lista pra quem quiser ver os outros programas  : http://www.sokobano.de/wiki/index.php?title=Links )

 Instalação bem simples : https://sourceforge.net/projects/jsokoapplet/

Quais os formatos ele usa ? .sok. .txt ou .xsb , ele não roda .lp0 , .slc ou qualquer outro que tenha ( aqui ele explica o formato https://www.sokoban-online.de/sokoban/levell-format/ )

Onde baixar fases ? Também chamado de level em inglês, irei indicar alguns sites ( tem vários por ai )

Games4Brain ( Como criar um mapa de Sokoban ) : http://www.games4brains.de/sokoban-leveldesign.php 

Grigr : http://grigr.narod.ru/ 

GroupsIO : https://groups.io/g/sokoban/topics?p=recentpostdate/sticky,,,20,0,0,87502349

Kantorek : http://kantorek.webzdarma.cz/downloada.htm

LeeHavwood : http://leehaywood.org/games/sokoban/

OnlineSpiele = https://www.onlinespiele-sammlung.de/sokoban/list-of-sokoban-games.php?records_to_show=-1

Sokoban DK : http://sokoban.dk/levels/levels-the-download-page/

Sokoban JD : http://sokoban-jd.blogspot.com/p/all-my-sokoban-collections.html

Sokobano ( Da pra clicar em alguns sites ou você mesmo criar ) http://sokobano.de/en/levels.php

Sokofun : http://www.sokofun.de/levelsforfree.php

Sourcecode ( Futuramente irei falar desse programa também !!! ) : https://www.sourcecode.se/sokoban/levels







segunda-feira, 20 de dezembro de 2021

Tentando criar carta no EDOPro - Parte 7

 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

Tentando criar carta no EDOPro - Parte 6

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


segunda-feira, 13 de dezembro de 2021

Tentando criar carta no EDOPro - Parte 5

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.

  1. Last Counter's entry can be found in: 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.
  2. .deck: analisa e lista o conteúdo de um arquivo de deck YGOPro .ydk ou EDOPRO ydke: // URL..eff: Exibe apenas o texto do cartão para um determinado cartão, sem as estatísticas.

.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!

.search: Pesquisa cartões por correspondência exata no nome e / ou texto do cartão e retorna uma lista paginada de todos os resultados.

Digitei : .search Magic e o Bastion falou :

Top 377 card text matches for magic: (Page 1/38)
1. String Placeholder 13
2. String Placeholder 15
3. Magician's Circle
4. Dark Magic Expanded
5. Performapal Springoose
6. Magic Planter
7. Time Pendulumgraph
8. The Eye of Timaeus
9. Dark Magic Attack
10. Defender, the Magical Knight 

Aparentemente ele pesquisa por nomes de cartas ou textos nela

.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

Listinha : 
1: Ally of Justice 0x1
2: Genex 0x2
4: Amazoness 0x4
5: Arcana 0x5
6: Dark World 0x6
7: Ancient Gear 0x7
8: HERO 0x8
9: Neos 0x9
10: Evilswarm 0xA
11: Infernity 0xB
12: Alien 0xC
13: Saber 0xD
14: Watt 0xE
15: Ojama 0xF
16: Gusto 0x10
17: Karakuri 0x11
18: Frog 0x12
19: Meklord 0x13
21: B.E.S. 0x15
22: roid 0x16
23: Synchron 0x17
24: Cloudian 0x18
25: Gladiator Beast 0x19
26: Dark Scorpion 0x1A
27: Phantom Beast 0x1B
29: Koa'ki 0x1D
30: Chrysalis 0x1E
31: Neo-Spacian 0x1F
32: Shien 0x20
33: Earthbound Immortal 0x21
34: Jurrac 0x22
35: Malefic 0x23
36: Scrap 0x24
37: Iron Chain 0x25
38: Morphtronic 0x26
39: T.G. 0x27
40: Batteryman 0x28
41: Dragunity 0x29
42: Naturia 0x2A
43: Ninja 0x2B
44: Flamvell 0x2C
46: Gravekeeper 0x2E
47: Ice Barrier 0x2F
48: Vylon 0x30
49: Fortune Lady 0x31
50: Volcanic 0x32
51: Blackwing 0x33
52: Crystal Beast 0x34
53: Fabled 0x35
54: Machina 0x36
55: Mist Valley 0x37
56: Lightsworn 0x38
57: Laval 0x39
58: Ghiski 0x3A
59: Red-Eyes 0x3B
60: Reptilliane 0x3C
61: Six Samurai 0x3D
62: Worm 0x3E
63: Majestic 0x3F
64: Forbidden 0x40
65: LV 0x41
66: Nordic 0x42
67: Junk 0x43
68: Agent 0x44
69: Archfiend 0x45
70: Fusion 0x46
71: Gem- 0x47
72: Number 0x48
73: Skyblaster 0x49
74: Timelord 0x4A
75: Aesir 0x4B
76: Trap Hole 0x4C
78: Evol 0x4E
79: Assault 0x4F
80: Venom 0x50
81: Gadget 0x51
82: Guardian 0x52
83: Constellar 0x53
84: Gagaga 0x54
85: Photon 0x55
86: Inzektor 0x56
87: Resonator 0x57
88: Wind-up 0x58
89: Gogogo 0x59
90: Penguins 0x5A
91: Inmato 0x5B
92: Sphinx 0x5C
96: Bamboo Sword 0x60
97: Ninjitsu Art 0x61
98: Toon 0x62
99: Reactor 0x63
100: Harpie 0x64
101: Infestation 0x65
102: Symphonic 0x66
103: Iron 0x67
104: Tin 0x68
105: Hieratic 0x69
106: Butterspy 0x6A
107: Bounzer 0x6B
108: Lightray 0x6C
109: Majin 0x6D
110: Prophecy 0x6E
111: Heroic 0x6F
112: Chronomaly 0x70
113: Madolche 0x71
114: Geargia 0x72
115: Xyz 0x73
117: Abyss 0x75
118: Heraldic 0x76
119: Atlantean 0x77
120: Nimble 0x78
122: Noble Knight 0x7A
123: Galaxy 0x7B
132: Chronomaly Technology 0x84
144: Meklord Pieces 0x90
145: Dark Tuner/Synchro 0x91
146: Fortune Fairy 0x92
147: Puppet 0x93
148: Fossil Warrior 0x94
149: Cat 0x95
150: Clear 0x96
151: VWXYZ 0x97
154: Superheavy Samurai 0x9A
169: Fluffal 0xA9
171: Deskbot 0xAB
175: D/D 0xAF
186: Raidraptor 0xBA
189: Gaia 0xBD
198: Performage 0xC6
211: PSYFrame 0xD3
256: Synchron Synchros 0x100 (Synchros that require a Synchron Tuner)
257: Synchro Fusions 0x101 (Fusions that require a Synchro Monster)
258: Evil HERO (Dark Fusion) 0x102
259: Cyber 0x103
487: Majespecter 0x1E7
512: Speed Spell 0x200
513: Chaos Xyz 0x201
601: Performapal 0x259
 
Extension
 
4098: R-Genex 0x1002
4106: Steelswarm 0x100A
4109: X-Saber 0x100D
4118: Vehichroid 0x1016
4139: Armor Ninja 0x102B
4149: The Fabled 0x1035
4167: Gem-Knight 0x1047
4175: /Assault 0x104F
4206: Spellbook 0x106E
7793: Greydle 0x1E71
8194: Genex Ally 0x2002
8214: Speedroids 0x2016
12296: E HERO 0x3008
12301: XX-Saber 0x300D
12354: Nordic Ascendant 0x3042
12366: Evoltile 0x304E
12397: Dragoon 0x306D
12435: Gimmick Puppet 0x3093
20488: Vision Hero 0x5008
20546: Nordic Relic 0x5042
24584: Evil HERO 0x6008
24642: Nordic Beasts 0x6042
24654: Evolsuar 0x606E
24685: Djinn of Rituals 0x606C
40968: Masked HERO 0xA008
41026: Nordic Alfar 0xA042
49160: D HERO 0xC008
 
.skill: Pesquisa uma habilidade do Duel Links pelo nome e retorna detalhes sobre ela. Para uma habilidade Speed ​​Duel, tente uma busca normal de cartas.

Digitei : .skill lp boost e o Bastion falou :

LP Boost Alpha
Effect
Increases starting Life Points by 1000.
Characters
DM
Yami Yugi - Drop, Seto Kaiba - Drop, Joey Wheeler - Level 4, Mai Valentine - Drop, Téa Gardner - Drop, Weevil Underwood - Drop, Rex Raptor - Drop, Yami Marik - Drop, Yami Bakura - Drop, Bandit Keith - Drop, Odion - Drop, Maximillion Pegasus - Level 4, Mokuba Kaiba - Drop, Paradox Brothers - Drop, Bonz - Drop, Espa Roba - Drop, Tristan Taylor - Drop

DSOD
Seto Kaiba (DSOD) - Drop, Mokuba Kaiba (DSOD) - Drop, Scud - Drop, Téa Gardner (DSOD) - Drop

GX
Jaden Yuki, Zane Truesdale, Chazz Princeton, Dr. Vellian Crowler, Yubel, Bastion Misawa, Syrus Truesdale, Sartorius Kumar, Jaden/Yubel, Blair Flannigan - Drop

5D's
Yusei Fudo - Drop, Jack Atlas - Drop, Leo - Drop, Officer Tetsu Trudge - Drop, Carly Carmine - Drop, Primo - Level 13

ZEXAL
Yuma and Astral - Drop, Trey - Drop

ARC-V
Sylvio Sawatari - Drop

.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.



Tentando criar carta no EDOPro - Parte 4

 

Olhando assim parece ser uma carta bem simples : 

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



sábado, 11 de dezembro de 2021

Tentando criar carta no EDOPro - Parte 3 Revisão

 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

Tentando criar carta no EDOPro - parte 2

 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

  1. During any valid response window or open game state 1⃣

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



sexta-feira, 10 de dezembro de 2021

Tentando criar carta no EDOPro - parte 1

 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

  1. 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:SetTarget(s.target) = Alvo da carta

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


quarta-feira, 24 de fevereiro de 2021

Criações 3Ds - RPG Maker Fes

 O nome já diz , aqui eu irei analisar os mapas , está meio bagunçado

pois eu to anotando no Excel . A príncípio irei dar prioridade aos mapas

que podem ser editados


3Ds - RPG Maker Fes
Jogo  - Criador - Edit ? - Comentários :
A Dragon's Tale SDragon01 não
Eternal Passion EagleJunior não
Fire Emblem Inky não
First Game Shadow69 sim Não entendi
Gamers Revenge gamerMaker sim Não entendi
How to RPG Maker Star não Não entendi
Initium Finis Tanmem não
Interdimensional Star sim Sem lugar pra ir
Open World MMORPG executecode não Não entendi
Pokemon platinum Soul não
RPG Maker Tutorials executecode não Não entendi
Song of Stars fiddler sim
Tale of Espers Zero sim
To Become a Knight NeoGStorm não
UNDERTALE Exabagamer sim



segunda-feira, 5 de fevereiro de 2018

Criando servidor de Grand Chase Season 1.5 parte 01

E ai beleza pessoal ? Vamos criar um servidor de GC Season 1.5 
Tópico PESADÃO
Início do tutorial : 05/02/2018 = 8 imagens e 11 anotações
07/02/2018 = +8 imagens e +8 anotações
08/02/2018 = Perdi as contas de quantas imagens eu coloquei , mas fui até a 35° anotação
23/06/2019 Adicionado o client 
-
Requerimentos :
- SQL Server 2005 ou mais atual
-Database
-Hexadecimal
-Main
-Server Files
Tudo que eu citei acima , está nesse link : https://mega.nz/#!QMUixBTS!IGEYxokwisjHi6vxFsx-EyYtUEqfUphksR4nrq2hmc0
-Client do jogo 

Obs : Recomendo baixar os 2 , já que eu prefiro o Server Files do primeiro , mas o client está no segundo
-
Criação :
1°Instale o SQL Server na sua máquina , mas não conecte
2°Extraia todos arquivos 
3°Desative sua internet , sua conexão local e conecte no SQL
4°Crie 3 Database com os nomes gc , stat e web 
Pra criar a Database é só clicar com o botão direito do mouse sobre Database e escolher NEW Database
5°Em seguida clique com botão direito sobre a primeira ( gc ) e logo após clique na caixinha dos 3 pontinhos e escolha a database gc.bak ( ela está em algum dos arquivos que você extraiu ) e marque a caixinha
6°Escolha Option e marque a primeira caixinha  e clique em OK
7° Ainda estou estudando essa parte
8°Mude o IP pra 127.0.0.1 , se quiser pode mudar o nome do servidor
9°Ainda estou estudando essa parte
10°Ainda estou estudando essa parte
11°Ainda estou estudando essa parte
12°Aqui é onde você vai colocar eventos de GP e XP 
UID = Deixa em 10 ( não entendo )
StarDate = Começo do evento
EndDate = Fim do evento
EventType  = Deixa em 1 ( não entendo )
GPRatio = É o multiplicador de gold
ExpRatio = É o multiplicador de experiência
CommentID = Deixa em 0 ( não entendo )
 13°Aqui você vai precisar mudar o IP pra 127.0.0.1 , caso jogue online , mude pro IP local
 14°Mesma coisa do 13° !!!
 15°Esse programa será usado pra colocar sua senha no 16°
16° dbo.Users :
Login = É usuário
password = É sua senha no formato MD5
sex = É o sexo do personagem , 0 é feminino e 1 é masculino
LoginUID , firstLogin , lastlogin e playtime = É gerado automáticamente
gamerpoint = É o seu gold
IP Address = Se for jogar offline , mude pra 127.0.0.1 , aqui podemos ver o IP da pessoa
Connecting = Aqui mostra se a pessoa está offline ( False ) ou on ( True )
ModeLevel = não entendo
 17° La na opção Triggers de User vai ter isso , caso clique em Modificar
 Esse é o código pra começar com todos os personagens nas suas últimas classes
 Caso queira deixar só Elesis , Lire e Arme só apagar os 3 últimos e em vez de 0,3 , mudar pra 0,0 , dai a pessoa começa com a classe básica nos 3
0 = Elesis ---  0,1 = Cavaleira ---  0,2 = Gladiadora --- 0,3 = Justiceira
1= Lire ---  1,1 = Caçadora ---   1,2 = Guardiã
2= Arme --- 2,1 = Alquimista ---  2,2 = Feiticeira
3= Lass ---  3,1 = Mercenário --- 3,2 = Vingador
4= Ryan ---  4,1 = Sentinela ---  4,2 =
5= Ronan
Obs : Lembrando que não temos 3° classe do Ronan , por isso na imagem ta 5,1
Obs² : Depois eu completo com as classes
 18° Database gc >>> Programmability >>> Functions >>> Scalar-valued Function >>> dbo.fnLevelToExp >>> botão direito Modificar
Aqui mostra o total de XP pra upar
Não é recomendado acrescentar level , porque precisa mexer também em imagem , já que o jogo vai até Lv 75
Eu já acrescentei , no jogo aparecia Lv 75 , mas na database era 76
 19° Aqui é uma Trigger em Users que foi criada pra pessoa começar com inventário grande
20° Aqui é o máximo de gold que a pessoa pode ter no jogo , na época era  999999
21° Deixe o SQL aberto e continue seguindo o tutorial
22° Dentro do arquivo GC Pack 2015 , teremos uma pasta chamada Server Files , abra cada pasta e mude o odbc_internal e o odbc_main pro server do seu SQL , no meu caso é esse
Obs : Clique com o botão direito do mouse em cada tipo EXE nessas pastas e marque a caixinha pra executar como administrador
23° Dentro da pasta ColiSeuServer você deve clicar em Config_server ( arquivo LUA ) e configurar dessa maneira :
Init_NCashBillingInfo( '127.0.0.1', 9500, 5, 0, 'odbc_internal.dsn' )
NCashBill = GetNCashBillingManager()
NCashBill:Init( 3 )

No GameServer é a mesma coisa do anterior
Init_NCashBillingInfo( '127.0.0.1', 9500, 5, 0, 'odbc_internal.dsn' )
NCashBill = GetNCashBillingManager()
NCashBill:Init( 3 )

24°Depois de mudar tudo , clicar em StartAll , se der esse erro , isso indica que você esqueceu de alguma coisa
 25° O erro está na foto abaixo  , em vez de eu deixar como veio , eu coloquei o IP
O certo é deixar assim :

NetLayer:AddURServerAddress( GetLocalIP(), 9600 )
NetLayer:AddTRServerAddress( GetLocalIP(), 9700 )

CenterProxy = GetCenterProxy()
CenterProxy:SetRemoteAddress( GetLocalIP(), 9500 )
26°Mais um erro , a causa desse é que você esqueceu do passo 21° desse tutorial
 27°Caso apareça essa mensagem , você deve aceitar
 28°Se tudo der certo ,  irá ficar assim
29° Ainda não terminou !!!
30° Dentro da arquivo GC Pack 2015 , teremos uma pasta chamada Main , copie esse Main pra pasta Editor Hex  ( pasta do arquivo Grand Chase ) 
Arraste o Main pra cima do XVI32 , dai vai abrir uma janela
31°Clique no 4D , aperte Ctrl + F ( atalho pra pesquisar ) e busque por LoginServerIP
32°Vai estar escrito 5.0.148.204 , mude pra 127.0.0.1 começando do 5 
Vai ficar assim : 127.0.0.100 , feche o programa , vai pedir pra salvar , salve 
33°Copie esse Main pro client do Grand Chase 
34°Volte lá na pasta Main e copie o Start pro client do Grand Chase 
35°Feito isso , execute o Start e jogue