Hola a todos. Me ha surgido una duda y es la siguiente:
El caso es que he creado un mapa en el que ocurre un evento de la historia de mi hackrom y quiero que haya un npc que no me deje entrar a este mapa hasta tener la primera medalla. ¿ Qué script debo usar para esto ?
[RH - Scripting] Hacer que no me dejen pasar hasta tener cierta medalla
Tema cerrado | |
| Herramientas | Desplegado |
| |||
![]() |
| ||||
![]() Solamente tienes que usar setflag al completarse el evento de recibir la medalla, y checkflag en el evento que compruebe si tienes la medalla o no. Fijándote en los eventos de la ROM vanilla puedes darte cuenta de muchas cosas tú solo. Edit: En el caso de que quieras hacer un evento que compruebe el número de medallas que tienes, usa setvar. |
| ||||
![]() Es que no me acordaba de cuál era la flag que activa la primera medalla, pero sí, tienes razón.
|
| ||||
![]()
con el checkflag podras, ejemplo #dynamic 0x7A00000 #org @inicio lock faceplayer checkflag 0x(flag de la medalla) if 0x1 goto @silatengo (si la tienes ) msgbox @nolatienes MSG_FACE end #org @silatengo (aqui el texto que dira, o la accion que hara si la tines) #org @nolatienes =texto que dira si no la tienes lo mas logico seria aplicar un movimiento que te regrese si no la tienes o uno que te deje pasar cuando lo tengas, pero con esto podras armar el tuyo... |
| ||||
![]() con el checkflag podras, ejemplo #dynamic 0x7A00000 #org @inicio lock faceplayer checkflag 0x(flag de la medalla) if 0x1 goto @silatengo (si la tienes ) msgbox @nolatienes MSG_FACE end #org @silatengo (aqui el texto que dira, o la accion que hara si la tines) #org @nolatienes =texto que dira si no la tienes lo mas logico seria aplicar un movimiento que te regrese si no la tienes o uno que te deje pasar cuando lo tengas, pero con esto podras armar el tuyo... El quiere que cuando pase por un sitio determinado un NPC le bloquee el paso ¿Cierto? Pues entonces es un script de gatillo. Un script de gatillo se construye con variables dandole el valor correspondiente para que este se ejecute. Por ejemplo el valor 1. Imaginate que usas la variable 0x40FF y para que se cumpla la condición que tenga el valor 1, por lo tanto: Código: #dynamic 0x7A00000 #org @inicio lock faceplayer compare 0x40FF 0x1 if 0x1 goto @seejecuta release end #org @seejecuta checkflag 0x(flag de la medalla) if 0x1 goto @silatengo end #org @silatengo setvar 0x40FF 0x0 applymovement 0x(mov) 0x(npc) msgbox @si 0x6 [...] |
| ||||
![]()
#dynamic 0x7A00000 #org @inicio checkflag 0x(flag de la medalla) if 0x1 goto @seejecuta msgbox @nolatienes MSG_FACE applymovement 0xff @nopasas release end #org @seejecuta setvar 0x40ff 0x1 end aqui tienes que dejar en 0 el valor, y solo cambiar la variable 40ff..esta muy sencillo. esta demas decir, completar los punteors que falta.. |
Tema cerrado |
« Tema Anterior
|
Próximo Tema »
Herramientas | |
Desplegado | |
|
Extra |