CAAD

Comunidad de Aventuras Conversacionales y Relatos Interactivos
Fecha actual 23 Ago 2017 11:11

Todos los horarios son UTC + 1 hora




Nuevo tema Responder al tema  [ 6 mensajes ] 
Autor Mensaje
NotaPublicado: 04 Jul 2016 18:17 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
Hola,

Bueno ya pregunto porqué estoy un poco desesperado, creo que me he bloqueado y necesitaría un empuje para ver donde está el fallo. El caso es que en una localidad en concreto no parecen los objetos de dejo, hasta que no dejo dos objetos y se muestran de forma incorrecta.
La localidad es la numerada 3, en la cual no tengo implementada ninguna acción, es decir, ninguna acción del tipo:

Código:
ex _
 at 3
 ******
 done


que pueda bloquear o influir sobre alguna acción en esa localidad. Ejemplo de lo que digo;

Spoiler: Mostrar
¡Herberrrrt!, está dentro de una enorme olla. Se lo quieren zampar. No puedo aproximarme a él, dos peaaazos de leones uno a cada lado están custodiando la olla.
Puedes ver: Aquí está Herbert.
> i
Llevas:
unas chancletas de playa
la pinza del cangrejo
> soltar pinzas
Dejas la pinza del cangrejo.
> i
Llevas:
unas chancletas de playa
> m
¡Herberrrrt!, está dentro de una enorme olla. Se lo quieren zampar. No puedo aproximarme a él, dos peaaazos de leones uno a cada lado están custodiando la olla.
Aquí está Herbert. ***** NO SE MUESTRAN LAS PINZAS *****
> soltar chanclas
Dejas las chancletas de playa.
> i
Llevas:
ningún objeto.

> m
¡Herberrrrt!, está dentro de una enorme olla. Se lo quieren zampar. No puedo aproximarme a él, dos peaaazos de leones uno a cada lado están custodiando la olla.
Puedes ver: unas chancletas de playa.
la pinza del cangrejoAquí está Herbert. **** AHORA SI SE MUESTRAN LAS PINZAS LAS CHANCLAS PERO MAL ***


Me pasan con todos los objetos, no sólo con eso que muestro en el ejemplo.

Se que así, por lo que explico es difícil... ¿alguna idea de dónde puedo mirar?

Edité el txp con una búsqueda "at 3" para revisar que no se me halla colado alguna acción esa localidad en algún punto, pero no encuentra nada.

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


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 09:05 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4609
Pues es difícil de ver lo que me dices. En teoría el listado de objetos de localidad se hace desde una entrada que hay en el proceso 1 en la librería por defecto:

Código:
_        _       
 ISLIGHT
 LISTOBJ                        ;Lista los objetos
 LISTNPC @38                    ;Lista las personas 


Como ves, la única condición es que haya luz en la localidad, pero es que si no hay luz, se muestra la descripción de localidad "Está muy oscuro",por lo que salvo que haya algo muy raro que hace que el flag 0 (que indica si hay luz en una localidad) se ponga a un valor distinto de cero, no tiene ningún sentido que no liste.

Para empezar te diría que hagas una prueba, en esa misma entrada y después del ISLIGHT pon un WRITE "Prueba". El texto "Prueba" debería salir en toda las localidades. Vete a la 3 y si sale y luego no lista objetos el problema lo tenemos en LISTOBJ. Si no sale lo tenemos en el ISLIGHT.

Si el problema es del LISTOBJ saca la consola Javascript (F12 en Chrome, creo que en Chromium también) y mira a ver si sale algún error de debug, porque es muy raro. Si el problema es el ISLIGHT, habrá que ver qué está haciendo que el flag 0 cambie de valor. Descartanto una asignación directa ("LET 0 10" por ejemplo) puede que haya algo en el código que haga que se le cambie el valor, quizá una indirección errónea en un COPYFF o LET. ¿has tocado para algo el código de soltar? ¿Puede haber algo que toque el flag 0 en el proceso 2?

Edito:

¿Si dejas esos mismos objetos en otra localidad no pasa nada raro?

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


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 12:46 
Desconectado
Implementador
Implementador

Registrado: 13 Feb 2005 18:57
Mensajes: 1854
Uto escribió:
Si el problema es el ISLIGHT, habrá que ver qué está haciendo que el flag 0 cambie de valor. Descartanto una asignación directa ("LET 0 10" por ejemplo) puede que haya algo en el código que haga que se le cambie el valor, quizá una indirección errónea en un COPYFF o LET.

Por lanzar una posibilidad, casi hablar por hablar, pero...

¿Es posible que se esté haciendo un LET con una variable de preprocesador que no exista y, por lo tanto, se sustituya por cero?

Digamos, que LET fErrata 10 se convierta en LET 0 10


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 15:35 
Desconectado
Betatester
Betatester
Avatar de Usuario

Registrado: 09 Feb 2012 20:33
Mensajes: 855
A base de ir probando versiónes anteriores, las cuales voy grabando por fecha y hora, he cazado el fallo.
Empezó a fallar cuando creé el objeto "leon", el cual está en la localidad que desaparecen los objetos, de tal forma:

Código:
/33   3        1        leon        _           ATTR aMale aConcealed aScenery aEnfadado


Al mezclar los atributos "aConcealed" y "aScenery" es cuando ocurre el fallo, cada uno por separado funciona todo ok.

https://github.com/Utodev/ngPAWS/wiki/A ... e%20objeto

Código:
- aConcealed (el objeto está oculto, por lo que no será listado por LISTAT, LISTOBJ o LISTNPC, pero cualquier otro condacto como PRESENT o ABSENT lo detectará). Tampoco será tenido en cuanta por los bucles DOALL.
- aScenery (en este momento no hay diferencia entre aScenery y aConcealed)


He dejado dicho objeto sólo con el atributo "aScenery" y todo perfecto.

Que se me había colado un "LET" por algún punto asignando a una variable inexistente algún valor, es lo que pensaba que iba a cazar, no me imaginaba que fuese esto de los atributos.

Gracias por la respuestas!

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


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 20:28 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4609
edlobez escribió:
A base de ir probando versiónes anteriores, las cuales voy grabando por fecha y hora, he cazado el fallo.
Empezó a fallar cuando creé el objeto "leon", el cual está en la localidad que desaparecen los objetos, de tal forma:

Código:
/33   3        1        leon        _           ATTR aMale aConcealed aScenery aEnfadado


Al mezclar los atributos "aConcealed" y "aScenery" es cuando ocurre el fallo, cada uno por separado funciona todo ok.

https://github.com/Utodev/ngPAWS/wiki/A ... e%20objeto

Código:
- aConcealed (el objeto está oculto, por lo que no será listado por LISTAT, LISTOBJ o LISTNPC, pero cualquier otro condacto como PRESENT o ABSENT lo detectará). Tampoco será tenido en cuanta por los bucles DOALL.
- aScenery (en este momento no hay diferencia entre aScenery y aConcealed)


He dejado dicho objeto sólo con el atributo "aScenery" y todo perfecto.

Que se me había colado un "LET" por algún punto asignando a una variable inexistente algún valor, es lo que pensaba que iba a cazar, no me imaginaba que fuese esto de los atributos.

Gracias por la respuestas!


Hummm... no debería pasar nada por tener ambos atributos en cualquier caso, así que supongo que hay algún bug de ngpaws por ahí. Le echaré un ojo :-)

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


Arriba
 Perfil  
 
NotaPublicado: 05 Jul 2016 21:37 
Desconectado
Momio
Momio
Avatar de Usuario

Registrado: 09 Mar 2004 16:14
Mensajes: 4609
Efectivamente había un bug: a la hora de listar objetos el sistema sacaba la cantidad de objetos de la localidad a buscar, le descontaba los que eran concealed, y luego le descontaba los que eran scenery. Es decir, ese león tuyo era descontado dos veces, lo cual provocaba falsos cálculos y todas esas cosas raras que te pasaban.

He corregido el código y lo he subido a GitHub, pero como también se evita dejando un solo atributo pues tampoco hace falta que te bajes nada. Gracias por encontrar un bug más :-)

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


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