Bueno a peticion populas :P
Inaguro el foro con un script que man pedido varias veces por IRC. Se trata de un grupo de scripts combinados con conversacion para que un grupo de pnjs (ejemplo ElfoComun), tengan X frases que digan aleatoriamente. Lo primero de todo decir que este ejemplo es para 20 frases mas la primera ke no se repetira. 1.- La conversacion todo un curro. Deberas crear 21 frases ke parten del Root de forma ke kede asi : [color=olive:449a39c04a]Root[/color:449a39c04a]
[color=red:449a39c04a]Frase1Pnj[/color:449a39c04a]
[color=cyan:449a39c04a]Frase1Pj[/color:449a39c04a]
[color=red:449a39c04a]Frase2Pnj[/color:449a39c04a]
[color=cyan:449a39c04a]Frase2Pj[/color:449a39c04a]
[color=red:449a39c04a]Frase3Pnj[/color:449a39c04a]
[color=cyan:449a39c04a]Frase3Pj[/color:449a39c04a]
[color=red:449a39c04a]Frase4Pnj[/color:449a39c04a]
[color=cyan:449a39c04a]Frase4Pj[/color:449a39c04a]
[color=red:449a39c04a]Frase5Pnj[/color:449a39c04a]
[color=cyan:449a39c04a]Frase5Pj[/color:449a39c04a] Asi hasta llegar a 21 frases. Ojo no seas melon y no pongas frase2 o frase3, etc … pon la frase de lo que dice cada uno. Despues cojes y EN LA FRASE1PNJ en when text appers pones el siguiene script : [color=indigo:449a39c04a]int StartingConditional() { if (GetLocalInt(GetPCSpeaker(), “variable”) < 1) { return TRUE; } return FALSE; }[/color:449a39c04a] En los sucesivos scripts tendras que recordar que variable pusiste pues va la misma para todos. A partir de aqui en cada Frase tendras que poner el siguiente script : [color=indigo:449a39c04a]int StartingConditional() { if (GetLocalInt(GetPCSpeaker(), “variable”) ==
{ return TRUE; } return FALSE; }[/color:449a39c04a] Donde en cada una tendras que poner la variable antes mencionada y == X el numero que le corresponda del 1 al 20. Despues en cada rama de la conversacion, en la frase final se le pone en action taken el siguiente script : [color=indigo:449a39c04a]void main() { SetLocalInt(GetPCSpeaker(), “variable”, d20()); } [/color:449a39c04a] y ya esta. [color=green:449a39c04a]Resumen[/color:449a39c04a] ¿ Que hemos echo ? Muy facil, hemos cogido y en la primera vez ke se habla con el pnj “variable<1” cuando finaliza la conversacion se le asigna un valor al azar a dicha variable “variable, d20()” este valor es de 1 a 20. Despues si hablamos con otro pnj que tenga esta conversacion segun el valor al azar de la variable nos muestra una conversacion u otra “variable==X” y acto seguido en cuanto finaliza la conversacion otra vez se le asigna un valor al azar entre 1 a 20. Creo que es sencillo ¿ No ?, pues ahora te queda lo peor, currarlo que no veas como jode. PD : Una vez echo, haber quien tiene huevos a currarse un D100() en vez de D20() lol 
Neverwinter Nights
Puedes hacerlo con los numeros aleatorios de C, con las funciones seed, random y randomize, en caso de que trague tales funciones el compilador del neverwinter, ya lo probaré y os lo diré jeje.
supongo ke se podra, un debate de algo asi tuvimos en irc en #nwtoolset pero mas bien creo ke iba sobre el randomize de D20() y creo recordar algo de ke eso daba valores de 0 a 19 o algo asi no lo recuerdo bien pero tambien comentaron (fue la parte en la que yo empece a perderme) de algo de lo que comentas.