CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 20 Oct 2019 23:00

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 1 mensaje ] 
Autor Mensaje
NotaPublicado: 29 Jun 2019 05:48 
Desconectado
Aventurero
Aventurero

Registrado: 29 Jun 2019 05:40
Mensajes: 2
Saludos, buen día/tarde/noche segun corresponda.
Escribo esta nota, para ver si alguien podría resolverme este gran enigma. :) Porfavor.
Estoy tratando de realizar lo siguiente:
Entrar a una posada, en la cual existe un NPC llamado juan el posadero.
Nuestro amiguito Juan hará emotes siempre y cuando no estemos hablando con él. De manera que hay que buscar la manera de hablar con él.
Voy a darle al jugador experiencia de manera randómica. ya bien sea que descubre algun objeto, bien, por que descubrió alguna pista para hablar con algun NPC u otro tipo de cosas.
Descubrir como hablar con juan, otorga experiencia al jugador. Si la px es mayor o igual a 10, podemos proceder a hablar con juan. De lo contrario, tendremos que hacer mas experiencia.

Bien, hasta aquí logro que marche todo a la perfección hasta lo siguiente:
Pongo el texto de la aventura:

La posada del pueblo. Quizá aquí puedas descansar o adquirir algo más.
Aquí está Juan, el posadero.
Salidas visibles: fuera.
Juan el posadero, realiza anotaciones en su libro de cuentas.
> EX JUAN
Juan, el posadero feliz y sonriente, podría quizá hablar contigo.
Ganas 11 puntos de experiencia.
Juan el posadero, sirbe unas bebidas.
> EXP
Tienes 11 puntos de experiencia.
Juan el posadero, realiza anotaciones en su libro de cuentas.
> HABLAR JUAN
Juan el posadero, levanta una ceja mirándote.
> EXP
Tienes 11 puntos de experiencia.
> HABLAR JUAN "PISTA
Juan el posadero, levanta una ceja mirándote.
> HABLAR JUAN "COMPRAR
Tengo a la venta una rica tarta de manzana.
> HABLAR JUAN "COMPRAR TARTA
Tengo a la venta una rica tarta de manzana.
> HABLAR JUAN "COMPRAR MANZANA
Juan el posadero dice: Bien, aquí tienes tu tarta de manzana, son 5 monedas de oro!

Bien! optienes 7puntos de experiencia!

Juan el posadero, sirbe unas bebidas.
Juan el posadero, barre la posada.
> I
Tienes
20 monedas de oro.
y ningún objeto.
> EXP
Tienes 18 puntos de experiencia.
Juan el posadero, realiza anotaciones en su libro de cuentas.
> EX JUAN
Juan, el posadero feliz y sonriente, podría quizá hablar contigo.
Es de mala educación.
Juan el posadero, checa su reloj.

Como podrán darse cuenta, hay una línea la cual quiero evitarla es esta:
"Es de mala educación."

ahora paso a explicar mi código.
/definiciones
; MIS DEFINICIONES
#define flg fDinero = 100
#define flg fHablaJuan 101
#define flg fTiradas 102
#define flg fTotalPx 103

; flg fObjs para definir la bandera de los objetos examinados.
;Nota: trabajaremos con los bites del flag.
; este flag lo vamos a utilizar para determinar si los objetos ya se han examinado, para evitar dar mas experiencia.
; flg fObjs 0 lo usaremos para Ex a juan.
#define flg fObjs 104

/pro0
; ********************* [[[ Coloca aqui tus propias respuestas ]]] *********************

;aquí examinamos a nuestro amigo juan, el cual es un NPC, por ende. hay atributo en nuestro objeto definido como juan **Creo que eso es lo que le hace fallar...**
EXAMINAR JUAN
AT lPosada
PRESENT oPosadero
WRITELN "Juan, el posadero feliz y sonriente, podría quizá hablar contigo." ,aquí ponemos esta sintax así, para dar siempre que juan nos de la pista de hablar, pero. solo una y nada mas que una única vez daremos Experiencia.
BZERO fObjs 0, consultamos que el bit 0 del flg fObjs esté en 0, para levantarle despues.
BSET fObjs 0 ,levantamos banderita del bit. es decir, ponemos a 1 el bit 0 del flg fObjs.
RANDOMX fTiradas 10
PLUS fTiradas 1
WRITE "Ganas "
PRINT fTiradas
WRITELN " puntos de experiencia."
ADD fTiradas fTotalPx
DONE
; Segun yo. Con el código de arriba, podremos examinar a juan cuantas veces queramos dando experiencia solo la primer ves que le examinemos... Pero algo falla y cae al "Es de mala educación."

;consultar px.
_ EXP
ZERO fTotalPx
writeln "Tienes 0 puntos de experiencia."
DONE

_ EXP
NOTZERO fTotalPx
WRITE "Tienes "
PRINT fTotalPx
WRITELN " puntos de experiencia."
DONE



;Hablar con juan el posadero.
HABLAR JUAN
AT lPosada
PRESENT oPosadero
LE fTotalPx 9 ; si fTotalPx es menor o igual a 9...
WRITELN "Juan el posadero no te hará caso hasta tener mas experiencia."
DONE

HABLAR JUAN
AT lPosada
PRESENT oPosadero
GE fTotalPx 10 ;si fTotalPx es igual o mayor a 10.
SET fHablaJuan
PROCESS 3
DONE



; ############################### RESPUESTAS POR DEFECTO ##################################
; # #
; # Estas entradas devuelven las respuestas por defecto. Si no ponemos antes ninguna #
; # entrada que lo evite, se llegará hasta aquí y se dará la respeusta por defecto. #
; # #
; #########################################################################################

_ _
HOOK "RESPONSE_DEFAULT_START" ; Back call a el sistema de hooks, por defecto no hace nada pero algunas librerías plugin podrían hacer que hiciera algo. No borrar.


I _
WRITELN "Tienes "
PRINT fDinero
WRITE " monedas de oro."
INVEN

/pro2
; consultamos cada turno, la posibilidad de enviar al pro3. el cual es quien tiene la converzación y emociones de Juan.
_ JUAN
ZERO fHablaJuan
PROCESS 3


/pro3
; ** PROCESS 3 **
; ** JUAN **

; JUAN HABLARÁ CONTIGO.
_ _
NOTZERO fHablaJuan
PARSE
WRITELN "Juan el posadero, levanta una ceja mirándote."
DONE

LISTAR _
NOTZERO fHablaJuan
WRITELN "Juan el posadero dice: Saludos, puedes comprarme una tarta de manzana!"
DONE

COMPRAR MANZANA
NOTZERO fHablaJuan
WRITELN "Juan el posadero dice: Bien, aquí tienes tu tarta de manzana, son 5 monedas de oro!"
MINUS fDinero 5
CLEAR fHablaJuan
RANDOMX fTiradas 8
NEWLINE
WRITE "Bien! optienes "
PRINT fTiradas
WRITELN " puntos de experiencia!"
NEWLINE
ADD fTiradas fTotalPx
DONE

COMPRAR _
NOTZERO fHablaJuan
WRITELN "Tengo a la venta una rica tarta de manzana."
DONE

_ _
NOTZERO fHablaJuan
WRITELN "Juan el posadero, te mira despreciativamente y vuelve a sus ocupaciones."
DONE

; EMOTES DE JUAN.
_ _
AT lPosada
PRESENT oPosadero
CHANCE 20
RNDWRITELN "Juan el posadero, checa su reloj." "Juan el posadero, sirbe unas bebidas." "Juan el posadero, realiza anotaciones en su libro de cuentas."


_ _
AT lPosada
PRESENT oPosadero
CHANCE 30
RNDWRITELN "Juan el posadero, barre la posada." "Juan el posadero, seca el sudor de su frente." "Juan el posadero, cuenta las ganancias del día."
DONE


/obj
;obj loc peso nombre adjetivo atributo
;num ini

/0 lCentroPlaza 100 FUENTE _ ATTR aDrinkable aFemale aStatic
/1 lPosada 10 POSADERO _ ATTR aMale aNPC
/2 lCentroPlaza 1 LETRERO _ ATTR aMale aStatic

Estoy tratando de no hacer 2 bloques para Examinar Juan.
Gracias de ante mano!


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

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