qna_rh
Thread Id: 12161
Thread Name: [Pokemon Rojo Fuego] Comprobar objetos en un script
#0
SA998 16653
Pues eso, si hay alguna forma de comprobar si tienes un objeto determinado.
Creo que había un comando llamado checkitem pero a mi no me funciona. Puede que no lo utilice bien.

Gracias por adelantado.
#1
Ciro4315♪ 17148
Mmmm, la verdad es que nunca he tratado con checkitem, pero bueno, creo que sería así:


checkitem 0xObjeto 0xCantidad a tener
compare LASTRESULT 0x1
if 0x1 goto @inicio2
Script que ocurrirá si no lo tienes.

#org @inicio2
Script que ocurrirá si tienes ese objeto con esa cantidad.


No sé si funcionará, lo he hecho aquí sobre la marcha y nunca había hecho un script como este.
#2
J.com 12785
Mira, seria asi:

checkitem 0xobjeto 0xcantidad
compare LASTRESULT 0x0
if 0x1 goto 0xdireccion2

Ahi, en "direccion 2" es al sitio al ke va el script si no tienes el objeto.
Si lo tienes, el script continuara con lo que hayas puesto debajo del "if 0x1 goto 0xdireccion2"

Es justo lo que ha puesto ssoq?oz ?p, pero mas explicado
#3
SA998 16653
Lo probé y no funcionó.
Escribí esto:

#org $script
lock
faceplayer
checkflag 0x1204
if 0x1 goto $hecho
message $text
$text 1 = *texto*
boxset 6
checkitem 0x04 0x1
compare 0x800D 0x0
if 0x1 goto $si
release
end

#org $si
applymovement 0x3 $!
$! 1 ; #binary 0x62 0xFE
pausemove 0x0000
pause 0x0050
message $ball
$ball 1 = *texto*
boxset 5
compare 0x800D 0x1
if 0x1 goto $si1
message $OK
$OK 1 = *texto*
boxset 6
release
end

#org $si1
message $bn
$bn 1 = *texto*
boxset 6
removeitem 0x04 0x01
message $grx
$grx 1 = *texto*
boxset 6
release
end

#org $hecho
message $grx
boxset 6
release
end

Al parecer detecta checkitem como comando peropuedo que en pokescript funcione distinto.
A lo mejor el error está en otra parte
#4
J.com 12785
Utiliza XSE con ella no tendras problemas y es mas facil de utilizar. Debe ser "compare LASTRESULT" no 0x800D. prueba con esos comandos, ami me acabo funcionando.
#5
SA998 16653
Solucionado.
Tenía que hacer esto :

...
checkitem 0x4
#raw 0x01 0x00
compare 0x800D 0x1
if 0x4 goto $si
...

Gracias por la ayuda