Registrarse

[Scripting] Listado de comandos de PKSV

Xuuki

holi
Bien este tutorial esta mas enfocado en comprender algunos comandos de PKSV (estructura, opciones, etc) que en hacer scripts
herramientas necesarias:
1.- jothomap (opcional)
2.- PKSV :awesome:
3.- una rom de pokemon g/s (are you f*cking kidding me)

Lo primero que haremos sera asociar pksv a jothomap

seleccionamos el personaje que deseamos editar y despues damos click en "decompile script"

y se nos abrira una ventana como esta


esto de jothomap es para tener un mejor control de lo que queremos, y asi no liarnos despues viendo a que personaje le pusimos el script o a cual no

prosigamos
en la imagen se puede notar el comando "jumptextfaceplayer"
este comando engloba varios comandos pero a la vez solo se limita a un simple mensaje
lo que hace es simple:
-mirar al player
-decir "x mensaje"
-terminar
este comando es facil y simple y a la vez uno de los que mas usaremos (vaya, que solo sirve para que te hablen los NPC´s y ya)

todo muy bonito hasta ahora pero que pasa si quiero un script mas elaborado
pues bien el comando "jumptextfaceplayer" no seria la opcion mas indicada

expliquemos
-faceplayer: mira al personaje
-loadfont:lo que hace es cargar el tipo de fuente y el textbox
-2writetext:este lo que hace es saltar al offset de 2 bytes especificado y despues regresa al codigo principal (la siguiente linea, es por eso que no serviria "jumptextfaceplayer")
-keeptextopen: mantiene abierta la caja de texto, esto por si queremos realizar alguna otra accion y despues seguir hablando
-special: creo que habla por si solo, lo importante de este comando es el valor que le demos, por ejemplo, 0x24 hace que se te pregunte el nombre del rival, cuando tenga mas valores pondre para que sirven
-closetext:cierra la textbox
-playsound: reproduce un sonido x
-waitbutton:espera a que se presione una tecla y sigue con la siguiente linea
-givepoke:dar un pokemon al player, el formato es
givepoke 0x"aa" 0x "bb" 0x"cc" 0x"dd"
donde:aa es el codigo del pokemon (9b es cindaquil),bb es el nivel del pokemon, cc es el item que puede llevar, dd solo tiene 2 opciones(0 es para hiro y 1 para cualquier otro, creo)
-loadmovesprites:vuelve a cargar los movimientos de los demas NPC´s
-applymovement:hace que el personaje x se mueva, formato
applymovement 0x"aa" 0x"bbbb"
donde: "aa" es el numero del personaje seleccionado (en jothomap, es el primer valor que vemos cuando seleccionamos el personaje + 2, para hiro seria 0), "bbbb" es el offset de 2 bytes
-disappear: hace que el personaje desaparesca, formato
disappear 0x"aa"
donde "aa" es el numero del personaje seleccionado
-dotrigger: activa o desactiva una variable x, formato
dotrigger 0x"aa"
donde "aa" es la variable que deseamos activar o desactivar
-end:finaliza el script

---------

aqui tenemos vario comandos explicados antes, pero aparecen unos nuevos que paso a explicar
-checkbit1: aqui verificamos el valor de un variable y esta nos devuelve "true" o "false", formato
checkbit 0x"aa"
donde "aa" es la flag que deseamos
-if: este lo que hace es comprobar el valor del comando anterior,formato
if true 0x"aaaa"
if false 0x"bbbb"
te preguntaras porque no uso "false" en ninguno de los dos scripts, es muy poco comun usar este valor, hasta cierto aun no encuentro un buen motivo para usarlo
donde "aaaa" y "bbbb" son los offset de 2 bytes respectivamente
-verbosegiveitem: este comando tambien engloba el texto,asi que manda el texto en pantalla del item que recibiste, formato
verbosegiveitem 0xaa b
donde "aa" es el numero de item a recibir y "b" es la cantidad a recibir
-setbit1: activa la variable con el valor true, formato
setbit1 0x"aa"
donde "aa" es la flag que deseamos activar

y aqui una lista del valor de los pokemones y de algunos items
01 - Bulbasaur
02 - Ivysaur
03 - Venusaur
04 - Charmander
05 - Charmeleon
06 - Charizard
07 - Squirtle
08 - Wartortle
09 - Blastoise
0A - Caterpie
0B - Metapod
0C - Butterfree
0D - Weedle
0E - Kakuna
0F - Beedrill
10 - Pidgey
11 - Pidgeotto
12 - Pidgeot
13 - Rattata
14 - Raticate
15 - Spearow
16 - Fearow
17 - Ekans
18 - Arbok
19 - Pikachu
1A - Raichu
1B - Sandshrew
1C - Sandslash
1D - Nidoran F
1E - Nidorina
1F - Nidoqueen
20 - Nidoran M
21 - Nidorino
22 - Nidoking
23 - Clefairy
24 - Clefable
25 - Vulpix
26 - Ninetales
27 - Jigglypuff
28 - Wigglytuff
29 - Zubat
2A - Golbat
2B - Oddish
2C - Gloom
2D - Vileplume
2E - Paras
2F - Parasect
30 - Venonat
31 - Venomoth
32 - Diglett
33 - Dugtrio
34 - Meowth
35 - Persian
36 - Psyduck
37 - Golduck
38 - Mankey
39 - Primeape
3A - Growlithe
3B - Arcanine
3C - Poliwag
3D - Poliwhirl
3E - Poliwrath
3F - Abra
40 - Kadabra
41 - Alakazam
42 - Machop
43 - Machoke
44 - Machamp
45 - Bellsprout
46 - Weepinbell
47 - Victreebel
48 - Tentacool
49 - Tentacruel
4A - Geodude
4B - Graveler
4C - Golem
4D - Ponyta
4E - Rapidash
4F - Slowpoke
50 - Slowbro
51 - Magnemite
52 - Magneton
53 - Farfetch'd
54 - Doduo
55 - Dodrio
56 - Seel
57 - Dewgong
58 - Grimer
59 - Muk
5A - Shellder
5B - Cloyster
5C - Gastly
5D - Haunter
5E - Gengar
5F - Onix
60 - Drowzee
61 - Hypno
62 - Krabby
63 - Kingler
64 - Voltorb
65 - Electrode
66 - Exeggcute
67 - Exeggutor
68 - Cubone
69 - Marowak
6A - Hitmonlee
6B - Hitmonchan
6C - Lickitung
6D - Koffing
6E - Weezing
6F - Rhyhorn
70 - Rhydon
71 - Chansey
72 - Tangela
73 - Kangaskhan
74 - Horsea
75 - Seadra
76 - Goldeen
77 - Seaking
78 - Staryu
79 - Starmie
7A - Mr - Mime
7B - Scyther
7C - Jynx
7D - Electabuzz
7E - Magmar
7F - Pinsir
80 - Tauros
81 - Magikarp
82 - Gyarados
83 - Lapras
84 - Ditto
85 - Eevee
86 - Vaporeon
87 - Jolteon
88 - Flareon
89 - Porygon
8A - Omanyte
8B - Omastar
8C - Kabuto
8D - Kabutops
8E - Aerodactyl
8F - Snorlax
90 - Articuno
91 - Zapdos
92 - Moltres
93 - Dratini
94 - Dragonair
95 - Dragonite
96 - Mewtwo
97 - Mew
98 - Chicorita
99 - Bayleaf
9A - Meganium
9B - Cyndaquil
9C - Quilava
9D - Typhlosion
9E - Totodile
9F - Croconaw
A0 - Feligatr
A1 - Sentret
A2 - Furret
A3 - Hoothoot
A4 - Noctowl
A5 - Ledyba
A6 - Ledian
A7 - Spinarak
A8 - Ariados
A9 - Crobat
AA - Chinchou
AB - Latern
AC - Pichu
AD - Cleffa
AE - Igglybuff
AF - Togepi
B0 - Togetic
B1 - Natu
B2 - Xatu
B3 - Mareep
B4 - Flaaffy
B5 - Ampharos
B6 - Bellossom
B7 - Marill
B8 - Azumarill
B9 - Sudowoodo
BA - Politoed
BB - Hoppip
BC - Skiploom
BD - Jumpluff
BE - Aipom
BF - Sunkern
C0 - Sunflora
C1 - Yanma
C2 - Wooper
C3 - Quagsire
C4 - Espeon
C5 - Umbreon
C6 - Murkrow
C7 - Slowking
C8 - Misdreavus
C9 - Unown
CA - Wobbuffet
CB - Girafarig
CC - Pineco
CD - Forretress
CE - Dunsparce
CF - Gligar
D0 - Steelix
D1 - Snubbull
D2 - Granbull
D3 - Qwilfish
D4 - Scizor
D5 - Shuckle
D6 - Heracross
D7 - Sneasel
D8 - Teddiursa
D9 - Ursaring
DA - Slugma
DB - Magcargo
DC - Swinub
DD - Piloswine
DE - Corsola
DF - Remoraid
E0 - Octillery
E1 - Delibird
E2 - Maintain
E3 - Skarmory
E4 - Houndour
E5 - Houndoom
E6 - Kingdra
E7 - Phanpy
E8 - Donphan
E9 - Porygon 2
EA - Stantler
EB - Smeargle
EC - Tyrogue
ED - Hitmontop
EE - Smoochum
EF - Elekid
F0 - Magby
F1 - Miltank
F2 - Blissey
F3 - Raikou
F4 - Entei
F5 - Suicune
F6 - Larvitar
F7 - Pupitar
F8 - Tyranitar
F9 - Lugia
FA - Ho-oh
FB - Celebi

items
03 - BRIGHTPOWDER
07 - BICYCLE
08 - MOON STONE
09 - ANTIDOTE
0A - BURN HEAL
0B - ICE HEAL
0C - AWAKENING
0D - PARALYZ HEAL
0E - FULL RESTORE
0F - MAX POTION
10 - HYPER POTION
11 - SUPER POTION
12 - POTION
13 - ESCAPE ROPE
14 - REPEL
15 - MAX ELIXER
16 - FIRE STONE
17 - THUNDERSTONE
18 - WATER STONE
1A - HP UP
1B - PROTEIN
1C - IRON
1D - CARBOS
1E - LUCKY PUNCH
1F - CALCIUM
20 - RARE CANDY
21 - X ACCURACY
22 - LEAF STONE
23 - METALPOWDER
24 - NUGGET
25 - POKé DOLL
26 - FULL HEAL
27 - REVIVE
28 - MAX-REVIVE
29 - GUARD SPEC.
2A - SUPER REPEL
2B - MAX REPEL
2C - DIRE HIT
2E - FRESH WATER
2F - SODA POP
30 - LEMONADE
31 - X ATTACK
33 - X DEFEND
34 - X SPEED
35 - X SPECIAL
36 - COIN CASE
37 - ITEMFINDER
39 - EXP.SHARE
3A - OLD ROD


3B - GOOD ROD
3C - SILVER LEAF
3D - SUPER ROD
3E - PP UP
3F - ETHER
40 - MAX ETHER
41 - ELIXER
42 - RED SCALE
43 - SECRETPOTION
44 - S.S. TICKET
45 - MYSTERY EGG
47 - SILVER WING
48 - MOOMOO MILK
49 - QUICK CLAW
4A - PSNCUREBERRY
4B - GOLD LEAF
4C - SOFT SAND
4D - SHARP BEAK
4E - PRZCUREBERRY
4F - BURNT BERRY
50 - ICE BERRY
51 - POISON BARB
52 - KING'S ROCK
53 - BITTER BERRY
54 - MINT BERRY
55 - RED APRICORN
56 - TINYMUSHROOM
57 - BIG MUSHROOM
58 - SILVERPOWDER
59 - BLU APRICORN
5B - AMULET COIN
5C - YLW APRICORN
5D - GRN APRICORN
5E - CLEANSE TAG
5F - MYSTIC WATER
60 - TWISTEDSPOON
61 - WHT APRICORN
62 - BLACKBELT
63 - BLK APRICORN
65 - PNK APRICORN
66 - BLACKGLASSES
67 - SLOWPOKETAIL
68 - PINK BOW
69 - STICK
6A - SMOKE BALL
6B - NEVERMELTICE
6C - MAGNET
6D - MIRACLEBERRY
6E - PEARL
6F - BIG PEARL
70 - EVERSTONE
71 - SPELL TAG
72 - RAGECANDYBAR
75 - MIRACLE SEED
76 - THICK CLUB
77 - FOCUS BAND
79 - ENERGYPOWDER
7A - ENERGY ROOT
7B - HEAL POWDER
7C - REVIVAL HERB
7D - HARD STONE
7E - LUCKY EGG
7F - CARD KEY
80 - MACHINE PART
82 - LOST ITEM
83 - STARDUST
84 - STAR PIECE
85 - BASEMENT KEY
86 - PASS
8A - CHARCOAL
8B - BERRYJUICE
8C - SCOPE LENS
8F - METAL COAT
90 - DRAGON FANG
92 - LEFTOVERS
96 - MYSTERYBERRY
97 - DRAGON SCALE
98 - BERSERK GENE
9C - SACRED ASH
9E - FLOWER MAIL
A3 - LIGHT BALL
A7 - NORMAL BOX
A8 - GORGEOUS BOX
A9 - SUN STONE
AA - POLKADOT BOW
AC - UP-GRADE
AD - BERRY
AE - GOLD BERRY
AF - SQUIRTBOTTLE
B2 - RAINBOW WING
B4 - BRICK PIECE
B5 - SURF MAIL
B6 - LITEBLUEMAIL
B7 - PORTRAITMAIL MAIL
B8 - LOVELY MAIL
B9 - EON MAIL
BA - MORPH MAIL
BB - BLUESKY MAIL
BC - MUSIC MAIL
BD - MIRAGE MAIL

Digitos de Pokébolas

01 - MASTER BALL
02 - ULTRA BALL
04 - GREAT BALL
05 - POKé BALL 9D - HEAVY BALL
9F - LEVEL BALL
A0 - LURE BALL
A1 - FAST BALL A4 - FRIEND BALL
A5 - MOON BALL
A6 - LOVE BALL
B1 - PARK BALL

Digitos de TM's
71 - TM01 DYNAMICPUNCH
72 - TM02 HEADBUTT
73 - TM03 CURSE
74 - TM04 ROLLOUT
75 - TM05 ROAR
76 - TM06 TOXIC
77 - TM07 ZAP CANNON
78 - TM08 ROCK SMASH
79 - TM09 PSYCH UP
7A - TM10 HIDDEN POWER
7B - TM11 SUNNY DAY
7C - TM12 SWEET SCENT
7D - TM13 SNORE
7E - TM14 BLIZZARD
7F - TM15 HYPER BEAM
80 - TM16 ICY WIND


81 - TM17 PROTECT
82 - TM18 RAIN DANCE
83 - TM19 GIGA DRAIN
84 - TM20 ENDURE
85 - TM21 FRUSTRATION
86 - TM22 SOLAR BEAM
87 - TM23 IRON TAIL
88 - TM24 DRAGONBREATH
89 - TM25 THUNDER
8A - TM26 EARTHQUAKE
8B - TM27 RETURN
8C - TM28 DIG
8D - TM29 PSYCHIC
8E - TM30 SHADOW BALL
8F - TM31 MUD-SLAP
90 - TM32 DOUBLE TEAM


91 - TM33 ICE PUNCH
92 - TM34 SWAGGER
93 - TM35 SLEEP TALK
94 - TM36 SLUDGE BOMB
95 - TM37 SANDSTORM
96 - TM38 FIRE BLAST
97 - TM39 SWIFT
98 - TM40 DEFENSE CURL
99 - TM41 THUNDERPUNCH
9A - TM42 DREAM EATER
9B - TM43 DETECT
9C - TM44 REST
9D - TM45 ATTRACT
9E - TM46 THIEF
9F - TM47 STEEL WING
A0 - TM48 FIRE PUNCH
A1 - TM49 FURY CUTTER
A2 - TM50 NIGHTMARE

obtenidos de pokeyplay.com
 
Última edición por un moderador:

Gallego13

Miembro de honor
Miembro de honor
Buen tutorial, sin duda la forma más fácil de scriptear en gbc y la menos documentada.
Tenía por ahí una lista con todos los comandos del PKSV para gbc, si la encuentro te la paso ;)
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
Muy práctico :) . Realmente hacen falta más tutoriales de gbc como este.
¿Lo has encontrado fijándote en scripts del juego o leyendo algún tipo de documentación/tutorial?
Dew!
 

Xuuki

holi
@cosarara97
todo usando el metodo de prueba y error, varios roms murieron por una buena causa :)

@FM
gracias por el link, ahora a destrozar mas roms para actualizar despues y que esto sea mas completo
 

Cheve

MoonLover~
Miembro de honor
¡Genial! ¡Muchas Gracias! ¡Es muy bueno!

Si bien los Comando cambian con Respecto a GBA, la Estructura General de los Scripts es Bastante Parecida ^^

Bueno, solo queria Preguntar, por si alguien sabe, si no hay algo Tipo "#DYNAMIC" en GBC e,e

Salu2! :D
 

cosarara97

Dejad de cambiar de nick
Miembro de honor
El dynamic no depende de la plataforma sino del compilador, en este caso PKSV. PKSV también tiene esta función, y normalmente se escribe abreviada como "#dyn".
 

Pollito3d

El retorno, pollito3d...
Gracias por este gran tutorial que nos diste .... había muchos comandos que no sabía y ahora los se ... no tengo mas que decirte.
salu2!
 

Yskan

Baneado
Sencillamente genial el tuto, aprendí gracias a este tutorial a hacer scripts básicos, muchas gracias, si puedes yyo te animo a que sigas poniendo tutoriales de este estilo de scriptear con PKSV en gbc!
 
Arriba