Como siempre, investigando los scripts de B2W2. Siguiendo consejo de Kaphotics, me decidí hacer un Give Item, claro está, en un mapa los scripts se comparten en un documento entonces es difícil saber a que NPC está asignado. Por ejemplo:
Kaphotics usó un mapa donde solo hubiera 1 o 2 NPCs, claro está, así solo tendría que diferenciar 2 scripts. En mi caso como soy un tanto curioso e imbécil me decidí por un mapa que tiene como 2 o 3 scripts en un documento. Cogí el Script 2.
Y bueno me decidí por hacer el Script ahí así:
El script funciona claro (puse un item cualquiera, y me salió uno inexistente como puede pasar en GBA, "???". Mañana haré una lista de Items si puedo).
Pero ahora la mujer no se decide por hablar.
Kaphotics usó un mapa donde solo hubiera 1 o 2 NPCs, claro está, así solo tendría que diferenciar 2 scripts. En mi caso como soy un tanto curioso e imbécil me decidí por un mapa que tiene como 2 o 3 scripts en un documento. Cogí el Script 2.
~~~~~Script 2~~~~~~
LockAll (0x002E)
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_2 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
LockAll (0x002E)
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_2 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
Y bueno me decidí por hacer el Script ahí así:
~~~~~Script 2~~~~~~
LockAll (0x002E)
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
StoreVar 0x8000
StoreVar 0x8001
give item
amount
CallStd 'give item'
ClearVar 0x8000
ClearVar 0x8000
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_2 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
LockAll (0x002E)
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
StoreVar 0x8000
StoreVar 0x8001
give item
amount
CallStd 'give item'
ClearVar 0x8000
ClearVar 0x8000
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_2 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
El script funciona claro (puse un item cualquiera, y me salió uno inexistente como puede pasar en GBA, "???". Mañana haré una lista de Items si puedo).
Pero ahora la mujer no se decide por hablar.
Procedí a hacer un nuevo script con el Give Item y ponerlo desde el principio
Aquí puse de Item una Ultra Ball y un nuevo mensaje incompleto.
La mujer ahora interactúa con el Player pero con el texto anterior del hombre.
LockAll (0x002E)
PlaySound Clink
FacePlayer
StoreVar 0x8000
StoreVar 0x8001
give item
amount
CallStd 'give item'
ClearVar 0x8000
ClearVar 0x8000
Message2, current text file, text line 0xA, default settings
WaitKeypress
CloseMessage2
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_2 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
PlaySound Clink
FacePlayer
StoreVar 0x8000
StoreVar 0x8001
give item
amount
CallStd 'give item'
ClearVar 0x8000
ClearVar 0x8000
Message2, current text file, text line 0xA, default settings
WaitKeypress
CloseMessage2
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_2 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
Aquí puse de Item una Ultra Ball y un nuevo mensaje incompleto.
La mujer ahora interactúa con el Player pero con el texto anterior del hombre.
Bueno, hoy me decidí por continuar la investigación ya que tenía un hueco libre. Tan solo me falta encontrar la ID del mini y enlazarlo con el mensaje para que el bocadillo no salga en blanco.
LockAll (0x002E)
PlaySound Clink
FacePlayer
StoreVar 0x8000
StoreVar 0x8001
give item
amount
CallStd 'give item'
ClearVar 0x8000
ClearVar 0x8000
Message2, current text file, text line 0xA, default settings
WaitKeypress
CloseMessage2
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
PlaySound Clink
FacePlayer
StoreVar 0x8000
StoreVar 0x8001
give item
amount
CallStd 'give item'
ClearVar 0x8000
ClearVar 0x8000
Message2, current text file, text line 0xA, default settings
WaitKeypress
CloseMessage2
PlaySound (0x00A6) id=0x547
FacePlayer
Readflag (0x0010) Num_2401
Logic08 (0x0008) Num_1
Logic11 (0x0011) Num_1
IfThenGoTo (0x001F) 0xFF jump=0x0000001A
PlaySound (0x00A6) id=0x547
FacePlayer
Message2 (0x003D) 0x0 0x4 mid=Num_3 view=0 type=0
WaitKeyPress (0x0032)
CloseMessage (0x003E)
GoTo (0x001E) jump=0x00000014
WaitMoment (0x0030)
UnlockAll (0x002F)
End (0x0002)
Ya edité el script y ya no hay errores.
Código:
2E 00
A6 00 47 05
74 00
09 00 00 80
09 00 01 80
2A 00 00 80 03 00
2A 00 01 80 01 00
1C 00 F5 0A
0A 00 01 80
0A 00 00 80
3D 00 00 04 00 00 00 00 00 00
32 00
3F 00
A6 00 47 05
74 00
4C 00 00 90 02 01 10 00
61 09 08 00 01 00 11 00
01 00 1F 00 FF 1A 00 00 00
A6 00 47 05
74 00
3D 00 00 04 00 01 00 00 00 00
32 00
3E 00
1E 00 14 00 00 00
30 00
2F 00
02 00
Objetivos
Proceder a que mínimo el NPC de la mujer interactúe aunque no diga ningún mensaje. (Hecho)
Que el NPC de la mujer funcione completamente con el script de Give Item del hombre. (Hecho)
Acabar el script con mensajes escritos propios. (Hecho)
09 00 00 80 - StoreVar 0x8000
09 00 01 80 - StoreVar 0x8001
2A 00 00 80 xx xx - give item
2A 00 01 80 xx xx - amount
1C 00 F5 0A - CallStd 'give item'
0A 00 01 80 - ClearVar 0x8000
0A 00 00 80 - ClearVar 0x8000
09 00 01 80 - StoreVar 0x8001
2A 00 00 80 xx xx - give item
2A 00 01 80 xx xx - amount
1C 00 F5 0A - CallStd 'give item'
0A 00 01 80 - ClearVar 0x8000
0A 00 00 80 - ClearVar 0x8000
¡Aquí está la recopilación de IDs!
¡Aquí está la recopilación de IDs!