CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 17 Ago 2017 04:59

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 3 mensajes ] 
Autor Mensaje
 Asunto: Relaciónes
NotaPublicado: 12 Jun 2014 12:54 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Buenas, no sé exactamente que me puede estar fallando en la relaciones que he creado. Me explico.

Tengo un item ("hacha"), el cual tiene una función que inicializo después de crearse todos los objeto y personajes del world.

Código:
// Código a ejecutar cuando se inicializa el personaje
//...inicaliza los temas de conversa con este personaje
void inicializar()
{
    // Relacionamos este personaje con los objetos sobre los que les puede preguntar.
    //... el último parámetro está a true o false, dependiendo de si éste tema
    //... de conversa está activo   
    set( self, "hablaDe", mobile("herrero"), false); 
   
}


He relacionado el item ("hacha"), con el mobile("herrero").

Luego en el mobile ("herrero") tengo este código;

Código:
// Temas de conversa con esta personaje
//...es decir sobre que cosas este personaje tiene respuesta
void temasDeConversa()
{
    // La lista de todos los items y la recorremos entera   
    EntityList cosas = world.getAllItems();
    for (int i=0; i<cosas.size(); i++)
    {
        mobile("jugador").write ("Relación con : "+ cosas.get(i).getRelatedEntities("hablaDe") + "\n");
        // Si existe la relación de ese objeto, y la relación es con este personaje
        if ( equals (self, cosas.get(i).getRelatedEntities("hablaDe") ) )
        {
            mobile("jugador").write ("Hay relación.\n");
            mobile("jugador").write(cosas.get(i).getOutputNameThe() + "\n");
        }
    }
}


Es decir, si el item lo tengo relacionado con el mobile("herrero"), por la relación "hablaDe", sacaría en nombre del item, pero no me imprime nada. Esta es el resultado cuando lo ejecuto:

Spoiler: Mostrar
>>dices temas
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : [[ eu.irreality.age.Mobile:20000001:herrero ]]
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []
Relación con : []


Ha detectado la relación, del item con el mobile ("herrero"), que le imprimo con el write ("Relación con : "+ cosas.get(i).getRelatedEntities("hablaDe") + "\n");
Sin embargo no me entra en el if ( equals (self, cosas.get(i).getRelatedEntities("hablaDe") ) ).
Si justo me ha detectado la relación entre ambos, ¿qué es lo que no se cumple en éste if? ¿qué se me está escapando?

Gracias!

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
 Asunto: Re: Relaciónes
NotaPublicado: 12 Jun 2014 13:05 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1854
Respuesta rápida sin profundizar en el asunto: getRelatedEntities() devuelve una lista, así que nunca será igual al mobile("herrero"). Tendrás que comprobar el contenido.


Arriba
 Perfil  
 
 Asunto: Re: Relaciónes
NotaPublicado: 12 Jun 2014 13:15 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Solucionado entonces, he modificado;

if ( cosas.get(i).getRelatedEntities("hablaDe").contains(self) )

Gracias!

_________________
Te quiero... lo siento Yoda sólo tenemos café.


Arriba
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 3 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 1 invitado


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:  
cron
Desarrollado por phpBB® Forum Software © phpBB Group
Traducción al español por Huan Manwë para phpBB-Es.COM