qna_rh
Thread Id: 13335
Thread Name: Problema con giveitem
#0
kay03 23116
Bueno vengo aqui con otra duda..
Estuve investigando aver si encontraba lo que necesitaba o mi error.. pero no encontre nada
mi duda es esta:

Quiero que al momento de hablar con alguien este me de un objeto (eso ya esta resuelto).
El problema es que si vuelvo a hablar con esa persona me vuelve a dar tal objeto,
que me falta agregar o quitar al script para que no se repita??

Este es el que use:

#dynamic 0x800000

'---------------
#org @start
lockall
faceplayer
checkflag 0x3001
if 0x1 goto @snippet1
msgbox @string1 MSG_FACE '"Ten cuidado al caminar por el past..."
giveitem 0xE 0x1 MSG_OBTAIN
compare LASTRESULT 0x0
if 0x1 goto @snippet2
setflag 0xF6
msgbox @string2 MSG_KEEPOPEN '"Espero que ese antidoto de sirva\l..."
release
end

'---------------
#org @snippet1
msgbox @string2 MSG_KEEPOPEN '"Espero que ese antidoto de sirva\l..."
release
end

'---------------
#org @snippet2
msgbox @string3 MSG_KEEPOPEN '"Oohh! Que mal\ntu mochila esta lle..."
release
end


'---------
' Strings
'---------
#org @string1
= Ten cuidado al caminar por el pasto.\n Suelen aparecer muchos pokemon\l veneno..\n Toma te dare esto.

#org @string2
= Espero que ese antidoto de sirva\lsuerte en tu camino.

#org @string3
= Oohh! Que mal\ntu mochila esta llena..

Gracias por ver mi duda.
Y gracias por su ayuda.
#1
Shiro~ 24544
lockall
faceplayer
checkflag 0x3001
if 0x1 goto @snippet1
msgbox @string1 MSG_FACE '"Ten cuidado al caminar por el past..."
giveitem 0xE 0x1 MSG_OBTAIN
compare LASTRESULT 0x0
if 0x1 goto @snippet2
setflag 0x3001
msgbox @string2 MSG_KEEPOPEN '"Espero que ese antidoto de sirva\l..."
release
end
----------
Para que un script no se repita, se usan las flags, la idea es:
revisar si la flag esta activada(checkflag 0x) y luego activarla(setflag 0x), para que la segunda ves que la revises con el checkflag te lleve a otro lado. pero lo mas importante, activa la MISMA flag que revisas
En tu script revisas la flag 3001 y activas otra xD