Neverwinter Nights
Menú
Gamersmafia es ahora un archivo de solo lectura.

Script tras una conversacion?

Jelous peñas!! Soy nuevecillo en esto de los scripts, y me ha surgido una duda… como hago para que se ejecute un script tras una conversacion? : Lo digo porque hasta ahora habia introducido el script en la ultima linea de la conversacion (ya sabeis, en aquello de “[i:4fb915a0f2]Acciones Emprendidas…”), pero me he dado cuenta de que al llegar a la frase si que se dispara el script, pero cuando acabo la conversacion, el script se detiene!!!!!!! :!: Lo que yo quiero hacer es que desde una determinada frase del dialogo el PNJ con el que hables haga una accion (salir corriendo hacia un WP, en este caso), y siga haciendolo aunque se acabe la conversacion… y si no es posible, pues que lo haga al acabar la conversacion. En fin, pues eso es todo, supongo que sera algo elemental, pero es que empezar nunca es facil… Gracias por la ayuda!!!! [/i:4fb915a0f2]

Pues me temo que tendras que ponerlo en el acciones emprendidas de la ultima frase de la conversacion.

No tienes por qué meterlo en acciones emprendidas. Mételo en la casilla que hay en la ficha de la derecha del todo. Ésos de ahí son scripts que se ejecutan cuando finaliza la conversación, bien normalmente o bien interrumpida. Lo que podrías hacer es lo siguiente. Trazas la ruta de waypoints del npc. En el script on spawn del npc le tachas la linea en que pone que siga los waypoints, para que no ande por ellos hasta que haya hablado contigo. Luego, cuando hables, en las casillas que te he dicho le pones los scripts nw_walkwaypoints o algo así (creo que por defecto ya vienen puestos) y ya está. Yo recuerdo que lo hice así una vez con un personaje y me funcionó.

Pufff!! He probado las soluciones propuestas… y ni de coña marinera me funcionan. A ver, me explico:

El PJ ve a una niña que está cuidando el ganado de su papá; la niña se acerca a hablar con el PJ, que la asusta diciéndole que se la va a comer; la niña acaba la conversación y sale corriendo a la granja cercana a protegerse detrás de su papá.

Vale, pues al acabar la conversación con la cría, quiero que siga un par de WP, abra la puerta de la casa y se situe en un WP detras de su papi. He puesto el script en la casilla “Archivo Actual”, en “Normal” y en “Interrumpido”.

En el primer caso cada vez que acabo una conversacion con ella me lo ejecuta y el script funciona perfectamente, pero yo solo quiero que lo haga una vez (la primera, claro); en el segundo caso, el mismo problema cuando corto la conversación…

Ufff, qué lio… Estoy pensando en que en la conversación ponga una variable local a 1, y añadirle en el OnHeartBeat un condicional que ejecute el script cuando esta variable valga uno, y la desactive poniendola a cero… Pero me parece que tiene que haber otra forma más fácil de hacerlo, si no al final acabaré quedándome sin memoria de todos los scripts OnHeartBeat ejecutándose en el módulo!!

En fin, que si alguien sabe cómo hacerlo, pues le agradecería MUCHO que me echase una manita.

Gracias por la yuda, y si os lo curraris en breve podreis disfrutar del auténtico módulo de “El día de la bestia” (quizá acabe saliendo el Santiago Segura… quien sabe!! ).

Vamos a ver. Mejor te lo explico por el msn, porque de esta manera no le veo mucho futuro al asunto . Todo lo que quieras que se haga una vez tan sólo se debe arreglar mediante variables, pero vamos, búscame por el msn y ya te digo cómo lo haces.

Bueno, pues ya está, al final tan solo he tenido que añadir una variable que controle si ya ha ejecutado el script (“DO_ONCE”), y solucionado… al final era facilísimo, pero me ha costado un poco.

Gracias de todas maneras por la ayuda, de verdad que la agradezco!!

int nVariable = GetLocalInt (OBJECT_SELF,”DO_ONCE”);

if (nVariable != FALSE)
{
// pones lo que quieres que haga

// Fijo "DO_ONCE" a FALSE para que lo haga una sola vez
SetLocalInt (OBJECT_SELF,"DO_ONCE",FALSE);
}
Los más activos en Scripting