Dwalin escribió:
Vamos, tampoco me costaría mucho cambiar el atributo del objeto por una flag independiente, pero por saberlo.
Hola, desde ciertas versiones de Superglús y en todas las de ngPAWS, el atributo 3 (se empezaba por el 0) es el atributo que indica que el personaje es un NPC (PNJ), y los NPCs no se listan en los listados de objetos, por eso te desaparece del inventario, aunque en realidad no te desaparece.
Hay dos soluciones:
1) Cambiar ese funcionamiento en ngPAWS (el de no listar los NPC), lo cual se hace con BSET 12 3 ( BCLEAR 12 3, no recuerdo si hay que ponerlo a 1 o a 0, prueba). Esto funcionará si tu entrada "INVEN" no usa el condacto "INVEN" sino LISTAT o LISTOBJ, si usa INVEN no va a funciona porque INVEN ignora ese setting. Por otro lado, si no has usado la librería base de ngPAWS (mezclandola con la tuya) no te pasará, pero si lo has hecho (y lo recomiendo, aunque más adelante cuando todo de te vaya bien) al ser considerado el objeto paraguas un NPC cuando esté abierto, puede que te encuentres respuestas raras (como "no creo que le guste" cuando intentas cogerlo). En resumen, que es una solución un poco endeble.
2) Cambiar el atributo que usas, y dado que ngPAWS tiene todavía más atributos de objeto que Superglús, te recomiendo que uses el 63, y si usabas otros, que los pases al 62, 61, etc. Eso sí, Superglús ya tiene un atributo aOpenable y otro aOpen, quizá puedas usar directamente este último para el paraguas, aunque si no haces el merge, es probable que no tenga efecto porque es la librería la que deja abrir o cerrar, pero al menos tiene sentido.
Aquí está la descripción de los atributos en ngPAWS:
https://github.com/Utodev/ngPAWS/wiki/A ... e%20objetoPor otro lado, veo que tus fuentes aún usa el formato antiguo (que si bien es compatible es poco legible) de los atributos. Baltasar hizo unos cambios en txtpaws que permiten algo mucho más sencillo, y es poner eso por ejemplo como:
Código:
/6 2 1 PARAGUAS _ ATTR aOpen
/7 1 1 LLAVE _ ATTR aFemale
/8 1 1 MOCHILA _ ATTR aContainer aFemale aWear
/8 1 1 LAPIZ _ ATTR
Quizá cambiar tus atibutos así te permita verlo todo mejor:)
Ojo, fíjate en mi último ejemplo, si no tiene ningún atributo a 1, se pone ATTR a secas, pero hay que ponerlo.
Otra cosa que podrías hacer es sustituir todos los "_" por "{OREF}. Cuando lo hagas verás que si tu objeto se llama "un paraguas", cuando lo cojas pondrá "coges el paraguas". {OREF} es una versión avanzada del "_" que sustituye artículos de encontrarlos, aunque requiere que le pongas bien los atributos a los objetos (especialmente aFemale y aPlural cuando procede, para evitar cosas como "Coger el llaves").
Si por casualidad tras poner {OREF} no te pasa eso, probablemente será el parser cree estar en inglés, y como no encuentra el "a" para sustituir por "the" no sustituye. Pon al inicio (en el típico AT 0 del proceso 1, un un BSET 12 5 para marcar que está en español (esto lo deberías hacer de todas todas, o tampoco te pillará terminaciones pronominales, y alguna otra cosa puede afectar)