Walk Waypoints
mmm interesante (Planteo el problema que se ma presentado, luego intentare solucionarlo, pero si alguien me da la solucion me ahorra el curro
), asunto este ke me pasa. Bueno tengo bastantes pnjs, con waypoints de ruta, eso va perfecto, incluso algunos tienen para difrenciar ruta de dia y ruta de noche, puesto de guardia etc … Hasta aqui todo funciona bien. El problema es que cuando a uno de esos pnjs les meto una conversacion, despues de hablar con el no sigue los wp O_0 cosa muy extraña por que en otros modulos probando cosillas y tal, esto iba bien sin tocar nada. Para solucionarlo, cogi el script default de bioware de OnConversation y le meti al final un walkwayipoints, tal cual aparece en el OnSpawn un copi paste. Y o si funciona, valla que si, el puñetero pnj ahora sigue caminando aunque este en una conversacion
y claro al alejarse X distancia se corta la conversacion
En fin luego echare una ojeada al tema, pero si alguien sabe de alguna posible solucion
lo agradeceria.
Neverwinter Nights
No se le puede decir que detenga cualquier accion de movimiento cuando inicie la conversacion y continue cuando la acabe ?
A mi me pasaba algo parecido, tengo guardias que se pasean y cuando alguien les habla tengo puesto un speakstring en plan ‘No me molestes que estoy de guardia’. Pues al principio, una vez que decían la frase, se paraban y ya no andaban más, pero hice algo parecido a lo que dices tú (colocar el walkwaypoints al final del evento) y ahora no tengo problemas.
Si eso esta noche cuando llegue a casa te pego lo que tengo puesto yo, porque mi memoria no da para mucho
El único problema que tengo ahora es que siempre que alguien habla con ellos, se van al primer waypoint (en vez de seguir por el siguiente), pero bueno, no es algo que me preocupe demasiado.
Salu2
Debería de seguir andando solo, puesto que al acabar las conversaciones se ejecuta el script nw_no_sé_qué_walkwaypoints o algo así. Si aún así, el pnj se queda parao, lo que debes hacer es sustiuir esos scripts por el on spawn que trae por defecto todo pnj. No sé si me he explicao, son los scripts esos que se ejecutan al acabar una conversación. A mí me funciona así.
[code:1:87ce8dbf95]
ese es el default. El tema es que a mi realmente eso nunca me ha pasado siempre seguian, pero como pongo arriba en este modulo me pasa si dejo el por defecto, ara ya lo he solucionado.
WalkWayPoints(); // Parametro Opcional: void WalkWayPoints(int nRun = FALSE, float fPause = 1.0)
// 1. Mira haber si alguno de los waypoints en el modulo posee el tag
//"WP_" + TAG DEL NPC + "0X", si es asi caminara hacia el
// 2. Si el tag del waypoint es "POST" + TAG NPC la criatura regresara a ese waypoint
//despues del combate.
// Para hacer que el NPC continue andando a traves de los waypoints
//despues de una conversacion,
// has de llamar a esta funcion en las secciones de script ‘End’ y ‘Aborted’
//en la seccion ‘Other Files’
// en la conversacion del NPC
[/code:1:87ce8dbf95]
Esto fue traducido en la web de #nwntoolset
Es decir que cuando hablas con un pnj le cortas los Waypoint y no vuelve a seguirlos Atary
PASO 1.
editar el nw_c2_default4 de bioware y añadir esta linea al final :
[code:1:87ce8dbf95]
SetLocalInt(OBJECT_SELF, "Waypoint", 1);
[/code:1:87ce8dbf95]
PASO2.
editar el nw_c2_default1 de bioware y añadir estas lineas al final :
[code:1:87ce8dbf95]
if(GetLocalInt(OBJECT_SELF, "Waypoint") == 1)
{
if(!IsInConversation(OBJECT_SELF))
{
if(!GetIsInCombat(OBJECT_SELF))
{
DelayCommand(4.0f, WalkWayPoints());
SetLocalInt(OBJECT_SELF, "Waypoint", 2);
}
}
}
[/code:1:87ce8dbf95]
Es un poco cutre la solucion
pero efectiva. Lo que hace es guardar una variable sobre el pnj que indica 1–No andes 2–Anda.
asi no metemos al micro caña con condiciones y funciones innecesarias, ademas tambien seguira la ruta puesto que de otra manera estaria siempre en el waypoint primero 
Luego eso se encarga el onhear del bicho.
Actua de la siguiente manera, dara la orden de andar de nuevo por los waypoints siempre y cuando, el pnj tenga activado el no andes, ademas no ha de estar en combate (para evitar ke deje de pelear) y que claro esta no este en conversacion (que es otro punto que me daba problemas). Luego si el pnj tiene activado Anda, pues ignora el resto de las cosas que se han añadido al OnHear
Si ha alguien le pasaba esto le servira
y si no le pasaba pero quiere asegurar el funcionamiento de los wp le aconsejo implementar esto al modulo.
Saludos
Bien he estado mirando el post, y la solucion de Gonar es buena.
Si os fijais cuando estais en el editor de conversaciones,hay una pestaña que se llama Archivo Actual(version en castellano),junto a texto aparece cuando, acciones emprendidas,etc.Bien pues como veis hay 2 eventos por llamarlo de alguna manera que tienen el mismo script por defecto.
[code:1:5c4cdcf540]//:://///////////////////////// />//:: Resume Waypoint Walking
//:: NW_WALK_WP.NSS
//:: Copyright (c) 2002 Bioware Corp.
//::////////////////////////////////////////////// />/*
Assigned to the normal and abnormal end
conversation events to have the creature
resume walking waypoints.
*/
//::////////////////////////////////////////////// />//:: Created By: Neil Flynn
//:: Created On: July 19, 2002
//::////////////////////////////////////////////// />#include "NW_I0_GENERIC"
void main()
{
WalkWayPoints();
}
[/code:1:5c4cdcf540]
Estos 2 eventos indican que el pnj siga los waypoints asignados, si los tiene en caso de que la conversacion se acabe de un modo normal o se interrumpa por otra circustancia(como alejarse demasio de pnj en la conversacion,etc..).Teniendo esto los pnj siempre volveran a su ruta de WP.
Tambien puede que el pnj no tenga una conversacion, pero si waypoints, en ese caso la solucionde Gonar biene de maravillas.
Si por ejemplo tenias algun pnj, que no siga ningun WP ni conversacion, pero no os gusta que al iniciar la conversacion, el pnj se quede con la vista centrada eternamente en vosotros, habilitar en el evento OnSpawn cualquiera de los flag
[code:1:5c4cdcf540]SetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS);
SetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS);
[/code:1:5c4cdcf540]
De esta manera el pnj en el proximo OnHeartbeat, seguira con sus acciones.
Enga chao.
a ver esperad que no entiendo! un pnj que hace una conversacion debe pararse para hablar no? luego claro esta, seguir los waypoints… y se os para? yo tengo un niño que me hace una conv de tres lineas y va corriendo por el campo… y no se para! yo no toque nada…. tengo que mirarlo…
Haber, la teoria es que si tu pones waypoints a un pnj y una conv, cuando el pj habla con el este ha de pararse y hablar. Luego como indica el propio script (vease por ahi arriba lo puse) de OnSpawn este no sigue ya los waypoint.
Con la 1.22 creo recordar que era, esto se soluciono, por defecto venia preparado para que despues de la conv siguiera la conversacion y valla que si a mi me funcionaba a las mil maravillas y por eso nunca me preocupado en saber como lo han echo (vease la explicacion de picudemus arriba de como funciona esto).
El problema que me daba a mi ahora es que no funcionaba, y me buscado la vida (Explico arriba como
), para que anden wp, hablen quietos, y despues de una conv siguan andando wp 
Eso es el tema aragorn.
Lo que yo te decía era lo de los scripts de la conversación. En la ficha de abajo, en lo de acciones emprendidas, etc, la última pestaña es referente a acciones a tomar cuando uno sale de la conversación Y hay dos casillas: una para cuando la conversación termina normalmente y otra para cuando el jugador la interrumpe. Por defecto, los scripts que vienen en esas casillas cada vez que creas una conversación es uno que se llama nw_walk_wayponts o algo así y lo que hace es que cuando la conversación se termine, el pnj continue andando. Lo malo es que a veces no funciona y el pnj se queda quieto. Para solucionarlo yo lo que hice fue meter en esas casillas el script on_spawn, (default no sé qué número era), así, cuando la conversación termina, el script on spawn se vuelve a ejecutar y el pnj comienza a andar de nuevo. También puedes meter en esas mismas casillas un script hecho por tí mismo que contenga la función WalkWayPoints(), (que creo recordar es exactamente lo mismo que te trae el script ése que comenté al principio).
pue eso, lo que te quiero decir yo esque estoy seguro de que tengo algun PNJ que anda sus waypoints, hablo con el , y luego sigue con su camino (usea, sigue los waypoints!) y no cambie ningun script de default del pnj, quiza lo que quiero decirte esque la solucion todavia sea mas sencilla que cambiar scripts y hacer el modulo mas grande
[quote:3daf0aab90=”Gonar”]…
Bueno tengo bastantes pnjs, con waypoints de ruta, eso va perfecto, incluso algunos tienen para difrenciar ruta de dia y ruta de noche, puesto de guardia etc …
Hasta aqui todo funciona bien.
El problema es que cuando a uno de esos pnjs les meto una conversacion, despues de hablar con el no sigue los wp O_0 cosa muy extraña por que en otros modulos probando cosillas y tal, esto iba bien sin tocar nada.
…[/quote:3daf0aab90]
Esto y me auto cito fue el principio del post
el problema me venia por que el por defecto sin tocar nada, extrañamente no ha dejado de funcionar en el modulo, de los wp no toco nada nunca, por que el funcionamiento que tenia de base me gustaba, osea que es 100% que no lo habia tocado para nada.
Lo de probando cosillas si te refieres a eso, es por ejemplo que hize un modulete con un terreno bastante grande 12X32. En una punta, puse un ejercito (42 pnjs) de orkitos y les meti un wp ahi y otro en la otra punta. luego ejecute la partida como DM y me puse en medio del mapa haber si eso lo aguanta la ia sin los superpedales (no lo aguantaba se me kedaban muchos parados). Pues bien a esto me refiero con pruebecitas que supongo que es lo que ha dado lugar a que pienses que habia tocado el script o algo asi 
pues si, acabo de mirar el modulo… a estas horas…. porq me picaba y… que si! que despues de la conevrsacion sigue los waypoints como pedro por su casa, me acuerdo que lo discuti con mi compañero… pq corno se paran!!?? pues… les puse la casilla de ininterrumpibles (que si, que es pa que otro no hable a la vez pero…) corren y corren, el unico problema que le veo esque vuelven al waypoint numero 1 y no donde se quedo jeje
jajaja, una buena prueba, espero que los orcos no los pusieses todos con el mismo TAG… no creo no creo!
prueba lo de poner ininterrumpido en lugar de un script, a mi me funciono, y eso que todos se paraban, pero ahora ya no lo hacen, es un pueblo animado 100%
no hombre, cada uno con un tag
me pasa a vesse tengo ke kambiarlo kel 800 este de mierda cuando meto mas de 20 tios en scena se empieza a kejar y mas si tienen animaciones
y se paraban por ke el micro no daba pa mas calculos
Y en combate ni te cuento como se junten 6 o 7 a darse de ostias, no se keja, se pone histerico jejeje
eso seguro gonar, hay una regla en el vault que dice claramente, nunca hagas areas de mas de 12x12 y mas de 10 pnjs caminando, crean lentitud y al mismo tiempo un lag tremendo, es una pena que se tengan que optimizar los modulos del nwn, no todos tenemos una supercomputadora, que le pregunten a valgrant lo que cuesta una pc de 1200 mhz nueva alla eh?
jejejejeje
Hombre lo de los 10 pnjs andando es relativo, si entras en el pw del clan cnw ahi zonas con mas de esa gente, el tema (ara ke lo comentas) puede ke sea el area
no me extrañaria puesto que un area tan grande sueles meter tambien mas placealbes, sonidos, encuentros, etc … etc … segun si es ciudad o lo que sea.
Y tengo pa probar otra cosilla jejeje
si bueno, lo del area grande te digo que da problemas 100% y lo de los pnjs tb, incluido monstruos y pjs, nunca te ha ocurrido el fallo del lag ese en que sin darte cuenta te has transformado en un goblin y tus compañeros cagandote a trompadas, y el goblin gritando: no me peguen no me peguen que soy yoo gonar!
ami me paso unas cuantas veces, espero que ese problema especifico de lag se arregle con versiones siguientes