CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 21 May 2019 12:02

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 6 mensajes ] 
Autor Mensaje
NotaPublicado: 17 Mar 2019 11:42 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 276
Saludos aventureros. Espero que estén bien :)
De nuevo por acá (espero que con más frecuencia).
Retomando La rosa negra luego de más de siete meses sin poder tocar ni una línea, necesito ayuda respecto al estado de salud de la protagonista.

Tengo definido el flag: fSalud
Lo inicializo a la salud seleccionada: LET fSalud x
Los enemigos y otras fuentes harán un daño fijado que varía de uno a otro motivo de pérdida de salud: MINUS fSalud x

Eso está todo bien. Se pierde la salud x de cada fuente cauzante de daño.
Lo que no veo cómo hacer, que sin importar si la salud se reduce en 2 o 10 puntos, la aventura termine obviamente al bajar la salud a 0.

Recorrí el mapa recibiendo daño variado de todo tipo pero al estar restando distintas cantidades, el contador al no saber frenarlo a 0 aunque reciba 20 puntos de daño quedándole solo 1 de salud, el mismo sigue restando.
Al revisar con el Debuger, el flag que lleva la salud sale con cantidades negativas por debajo de 0: @121 -273

Me despido agradeciendo de antemanos la ayuda.
<POSDATA: Veo que aún no han sido respondidas las dudas en el hilo: Superglús: Inventario cantidad. Y: Nueva extension atributos de localidad para ngPAWS. Supongo sea por falta de tiempo libre :(>


Arriba
 Perfil  
 
NotaPublicado: 17 Mar 2019 16:05 
Desconectado
Archivero
Archivero
Avatar de Usuario

Registrado: 27 Feb 2018 13:49
Mensajes: 197
Me alegra tenerte otra vez de vuelta por aquí, El testigo. Espero que la cosa vaya mejor :)

No te puedo ayudar con las dudas, porque de Superglús, como de tantas otras cosas, ni idea :P

Esperemos que alguno de los gurús no tarde mucho en echarte un cable, y podamos disfrutar pronto esa rosa negra ;)

¡Ánimo con ello!


Arriba
 Perfil  
 
NotaPublicado: 18 Mar 2019 13:33 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1892
Que el flag tenga valor negativo parece un bug, porque la documentación dice claramente que las restas hacen tope en cero, desde PAWS a ngPAWS, pasando por Superglús.

La buena noticia es que en tu caso no debería afectar porque, si todo funciona como se espera, puedes dar por finalizada la aventura utilizando la condición «menor que» en una entrada del proceso 2 para hacer END si el flag de salud tiene valor inferior a uno.

Código:
_ _
 LT fSalud 1
 ; Aquí un mensaje, al gusto.
 END


Arriba
 Perfil  
 
NotaPublicado: 18 Mar 2019 14:24 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4644
No estoy seguro de si los flags con valor negativo son un bug o una característica, pero en cualquier caso simplemente hay que mirar tras decrementar si el valor es negativo y ponerlo a cero.

En ngpaws es más fácil porque puedes poner un sharp condact, con Superglús tendrás que poner otra entrada después de la que resta salud para comprobar si el valor es menor que cero y en ese caso ponerle el valor cero.

En cualquier caso creo que lo que dice dddddd debería cumplirse también.

_________________
Sígueme en twitter: @uto_dev
http://www.ngpaws.com


Arriba
 Perfil  
 
NotaPublicado: 18 Mar 2019 19:12 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 276
Saludos. Gracias por la respuesta amigo Uto.

Veo que la solución yo ya la había echo así tal cual me la planteas.
Pero me preguntaba qué estará mal, puesto que cuando el contador de salud baja del LT, no salta al instante el mensaje de fin del juego sino que se puede realizar un comando más.

Pro2:
; Fin del juego
_ _
LT fSalud 1
WRITELN "Lamentablemente no le sacaste el máximo a tu capacitación táctica y la misión a terminado."
END

El evento al que me refiero ocurre de la siguiente manera:
1.- El Pro0 recibe la orden y redirige al proceso determinado. Digamos el de disparar: DISPARAR GUARDIA
2.- El proceso de eliminar al guardia realiza la acción de disparar al enemigo y salta al proceso de ataque del rival.
3.- Si el protagonista recibe el disparo quedándole el mínimo de salud, se supone que saltaría el mensaje de que es el fin del juego. Pero no, si das cualquier comando el que sea digamos SALIDAS, ves el mensaje: Salidas visibles: x. y luego de ver las salidas, si aparece el mensaje del fin del juego.


Arriba
 Perfil  
 
NotaPublicado: 18 Mar 2019 19:14 
Desconectado
Archivero
Archivero

Registrado: 05 Abr 2014 17:40
Mensajes: 276
Saludos. Gracias por los ánimos amigo AZ :D

No veas lo que he progresado estas 3 semanas que pude volver a retomar el proyecto.
Terminé todos los enemigos de camino, retoqué el mapa (aunque este retoque fue alargar dos pasillos y eliminar 3 habitaciones, no como las anteriores ocho retocadas que incluso las hacía desde 0 por no estar conforme con el trazado).
Monté las puertas manuales y automáticas con sus respectivas llaves, hice las puertas especiales entre otras cosas.

Varios amigos me han animado a que saque una demo para ir familiarizándose con comandos, ver la intro, escuchar efectos de sonido, conocer el rollo.
Tal vez me lo plantee. Cuestión de pulir el combate con el primer boss jefe de área y veré :)


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 6 mensajes ] 

Todos los horarios son UTC + 1 hora


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro

Buscar:
Saltar a:  
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM