Registrarse

[RH - Scripting] script de remover y aderir

Estado
Cerrado para nuevas respuestas.

deidara9216

Profesional de WaH
Aloha mi gente una vez mas yo.
me preguntaba si me podrían ayudar con un script, la idea es que al acercarse y al hablarle cheque que tengas el item te lo quite y te de el nuevo.

Código:
#dynamic 0x800000

#org @inicio
lock
faceplayer
checkflag 0x1201
if 0x1 goto @potato
msgbox @loquesea1 0x6
removeitem 0x69 0x1
setflag 0x1201
release
end

#org @potato
msgbox @loquesea2 0x6
giveitem 0x15B 0x1 0x0
release
end

#org @loquesea1
Apretar Ctrl + T (Primera vez que le hablas)

#org @loquesea2
Apretar Ctrl + T (Segunda vez que le hablas)
me podrían guiar de como debe ir y en que me estoy equivocando.
Les envió un fuerte abrazo de snorlax y gracias por su tiempo :D
 

Gold

Porrero a tiempo parcial
Miembro insignia
debes poner luego del checkflag el siguiente comando:

Código:
checkitem 0x[ïndice del objeto a chequear en hex] 0x[cantidad en hex] //Esto comprueba que tengas la cantidad del objeto seleccionado.
compare 0x800D 0x1  //Comprueba que tenemos el objeto y escribe 0x1 en LASTRESULT si tenemos el objeto
if 0x5 goto @no //En caso que no tengamos la suficiente cantidad de dicho objeto el script saltará a otro script que se ejecutará en caso no tener la cantidad necesaria. Si lo tenemos el script va a continuar
para quitar el objeto es de la siguiente manera:

Código:
removeitem 0x[ïndice del objeto a quitar en hex] 0x[cantidad en hex] // este comando va a remover la cantidad especificada del objeto de tu inventario
Y si quieres darle el objeto(s) de vuelta al jugador sin que se muestre el mensaje de objeto recibido basta con poner el siguiente comando al final:

Código:
additem 0x[índice del objeto en hex] 0x[cantidad en hex que vas a dar] //Con este coando no sonará ni se mostrará ningún mensaje de objeto recibido.
Con lo anterior debería funcionarte lo que buscas. Ya sería solo cuestión de poner los comandos anteriores en tu script.

PD: A menos que hayas expandido las flags, la flag 0x1201 no es válida.
 

deidara9216

Profesional de WaH
debes poner luego del checkflag el siguiente comando:

Código:
checkitem 0x[ïndice del objeto a chequear en hex] 0x[cantidad en hex] //Esto comprueba que tengas la cantidad del objeto seleccionado.
compare 0x800D 0x1  //Comprueba que tenemos el objeto y escribe 0x1 en LASTRESULT si tenemos el objeto
if 0x5 goto @no //En caso que no tengamos la suficiente cantidad de dicho objeto el script saltará a otro script que se ejecutará en caso no tener la cantidad necesaria. Si lo tenemos el script va a continuar
para quitar el objeto es de la siguiente manera:

Código:
removeitem 0x[ïndice del objeto a quitar en hex] 0x[cantidad en hex] // este comando va a remover la cantidad especificada del objeto de tu inventario
Y si quieres darle el objeto(s) de vuelta al jugador sin que se muestre el mensaje de objeto recibido basta con poner el siguiente comando al final:

Código:
additem 0x[índice del objeto en hex] 0x[cantidad en hex que vas a dar] //Con este coando no sonará ni se mostrará ningún mensaje de objeto recibido.
Con lo anterior debería funcionarte lo que buscas. Ya sería solo cuestión de poner los comandos anteriores en tu script.

PD: A menos que hayas expandido las flags, la flag 0x1201 no es válida.
Gracias por tomarte el tiempo de responder lo agradezco mucho.
una duda mas, así esta bien o debo mover algo mas?

Código:
#dynamic 0x700000

#org @inicio
lock
sound 0x15
faceplayer
checkitem 0x69 0x1
compare 0x800D 0x0
checkflag 0x20FC
if 0x1 goto @potato
msgbox @loquesea1 0x6
checkitem 0x69 0x1
compare 0x800D 0x1
removeitem 0x69 0x1
compare LASTRESULT 0x1
setflag 0x20FC
release
end

#org @potato
msgbox @loquesea2 0x6
compare 0x800D 0x1
giveitem 0x15B 0x1 0x0
release
end

#org @loquesea1
= hola

#org @loquesea2
= adios
 
Última edición:

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
Tio que te han dicho ya 20 veces que no puedes usar esas flags, que no existen. Usa de 0x200 hacia arriba
 
Estado
Cerrado para nuevas respuestas.
Arriba