hola keria hacer un mercader. por lo k se primero tienes k hacer dos cosas el npc y el mercader (flecha invisible) en el dialogo del npc se una el npc con el mercader perooooooooooo como??? no consiguo unirlo alguien me puede iluminar??
Aunq cada vez estoy dejando más de lado todo lo referente al Neverwinter, creo q te puedo poner una traducción aproximada de lo q David Gaider recomendaba para crear un mercader. No se trata de una traducción literal como tal, por lo q puede que algunos conceptos los mantenga en su idioma original (inglés), q es como mejor se entienden a mi parecer.
Todo lo q tienes q hacer es usar el Store Wizard (el asistente) y configurar un “store object” (almacen, tienda…) básico: así tienes un almacen con un inventario, un porcentaje arriba/abajo sobre los precios, un nombre y un tag. Pero, ¿q haces con todo esto?
1º Coloca el “store object” en tu módulo. Un almacen q es solamente un “blueprint” sin colocar no puede ser utilizado a través de tu módulo. Primero tienes q ponerlo en alguna parte. Te darás cuenta de que cuando lo colocas, este toma la forma de un waypoint. Los jugadores no verán este “store object” y no podrán interactuar con él de ningún modo. En principio sólo se necesita que exista, preferentemente cerca del objeto que lo va a “llamar” en su script.
2º Crea tu objeto de acceso. Normalmente es un mercader NPC… pero no tiene por qué serlo siempre. Cualquier objeto que pueda ejecutar un script puede a su vez abrir un almacen. No obstante, el mercader es el método más sencillo. Simplemente crea tu mercader y un diálogo para él. Algo simple sería: “Saludos. ¿Os gustaría ver mi mercancía?”. Luego dos respuestas : “Sí” o “No”.
3º Añade el script para abrir el “store object”. En el diálogo de arriba tienes que añadir este script en “Actions Taken” de la respuesta afirmativa. De este modo, cuando el jugador seleccione “Sí”, el amacen se abre. Nada ocurre si por el contrario elegimos “No” (generalmente finaliza la conversación).
El script básico para abrir el “store object” en el diálogo es este:
Lógicamente, tienes q sustituir EL_TAG_DEL_ALMACEN por el tag específico de tu “store object”.
Si te fijas en la estructura de los comandos de OpenStore, verás que opcionalmente puedes añadir un porcentaje arriba/abajo sobre los precios. Esto es sólo importante si quieres personalizar el uso de tu almacen. Utiliza el siguiente script para que, por ejemplo…, el mercader doble el precio de sus artículos si el comprador es un elfo (Supongo q sus tendencias…, amaneradas, no son del gusto de todos ).
Un último comentario: los artículos q el almacen básico ofrece por ahora están un poco limitados. Quizá, esto cambiará en el futuro. Pese q lo q pase al final, ten en cuenta q no puedes modificar el precio de objetos por separado. El mercader aplica el porcentaje arriba/abajo para todos los artículos. De igual modo, tampoco puedes decidir q objetos venderá o no venderá ell mercader. Es todo o nada.
Una cosa q “funciona” en los almacenes es que cualquier comando de un script que tenga como objetivo el inventario de un objeto, trabaja en el “store object” del mismo modo. Recuerda: es el “store object” el q tiene el inventario, NO el mercader NPC. Por lo tanto, usando CreateItemOnObject, GetFirstItemInInventory y GetNextItemInInventory, funcionará todo cuando se refieran al “store object”.
Buena explicacion .
En el ultimo patch (Ingles ) tienes una opcion que facilita esto y es pulsar con el boton derecho sobre el npc y te sale un wizard de store (tienda) para esa criatura que lo hace todo por ti.
Aunq cada vez estoy dejando más de lado todo lo referente al Neverwinter, creo q te puedo poner una traducción aproximada de lo q David Gaider recomendaba para crear un mercader. No se trata de una traducción literal como tal, por lo q puede que algunos conceptos los mantenga en su idioma original (inglés), q es como mejor se entienden a mi parecer.
Todo lo q tienes q hacer es usar el Store Wizard (el asistente) y configurar un “store object” (almacen, tienda…) básico: así tienes un almacen con un inventario, un porcentaje arriba/abajo sobre los precios, un nombre y un tag. Pero, ¿q haces con todo esto?
1º Coloca el “store object” en tu módulo. Un almacen q es solamente un “blueprint” sin colocar no puede ser utilizado a través de tu módulo. Primero tienes q ponerlo en alguna parte. Te darás cuenta de que cuando lo colocas, este toma la forma de un waypoint. Los jugadores no verán este “store object” y no podrán interactuar con él de ningún modo. En principio sólo se necesita que exista, preferentemente cerca del objeto que lo va a “llamar” en su script.
2º Crea tu objeto de acceso. Normalmente es un mercader NPC… pero no tiene por qué serlo siempre. Cualquier objeto que pueda ejecutar un script puede a su vez abrir un almacen. No obstante, el mercader es el método más sencillo. Simplemente crea tu mercader y un diálogo para él. Algo simple sería: “Saludos. ¿Os gustaría ver mi mercancía?”. Luego dos respuestas : “Sí” o “No”.
3º Añade el script para abrir el “store object”. En el diálogo de arriba tienes que añadir este script en “Actions Taken” de la respuesta afirmativa. De este modo, cuando el jugador seleccione “Sí”, el amacen se abre. Nada ocurre si por el contrario elegimos “No” (generalmente finaliza la conversación).
El script básico para abrir el “store object” en el diálogo es este:
[code:1:201417a2ab]
void main()
{
object oStore = GetObjectByTag("EL_ TAG__DEL_ALMACEN");
OpenStore(oStore, GetPCSpeaker());
}
[/code:1:201417a2ab]
Lógicamente, tienes q sustituir EL_TAG_DEL_ALMACEN por el tag específico de tu “store object”.
Si te fijas en la estructura de los comandos de OpenStore, verás que opcionalmente puedes añadir un porcentaje arriba/abajo sobre los precios. Esto es sólo importante si quieres personalizar el uso de tu almacen. Utiliza el siguiente script para que, por ejemplo…, el mercader doble el precio de sus artículos si el comprador es un elfo (Supongo q sus tendencias…, amaneradas, no son del gusto de todos
).
[code:1:201417a2ab]
void main()
{
object oStore = GetObjectByTag("EL_TAG_DEL_ALMACEN");
if (GetRacialType(GetPCSpeaker()) == RACIAL_TYPE_ELF)
{
OpenStore(oStore, GetPCSpeaker(), 100);
}
else OpenStore(oStorem GetPCSpeaker());
}
[/code:1:201417a2ab]
Un último comentario: los artículos q el almacen básico ofrece por ahora están un poco limitados. Quizá, esto cambiará en el futuro. Pese q lo q pase al final, ten en cuenta q no puedes modificar el precio de objetos por separado. El mercader aplica el porcentaje arriba/abajo para todos los artículos. De igual modo, tampoco puedes decidir q objetos venderá o no venderá ell mercader. Es todo o nada.
Una cosa q “funciona” en los almacenes es que cualquier comando de un script que tenga como objetivo el inventario de un objeto, trabaja en el “store object” del mismo modo. Recuerda: es el “store object” el q tiene el inventario, NO el mercader NPC. Por lo tanto, usando CreateItemOnObject, GetFirstItemInInventory y GetNextItemInInventory, funcionará todo cuando se refieran al “store object”.
Buena explicacion
.
) tienes una opcion que facilita esto y es pulsar con el boton derecho sobre el npc y te sale un wizard de store (tienda) para esa criatura que lo hace todo por ti.
En el ultimo patch (Ingles
muchas graciasssssssssss
ya lo conseguir
muy interesante, espermos k llegue pronto la actulizacion