Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Encouters et dialogue lors du Spawm

Par roppy18 le 2/7/2002 à 21:04:33 (#1746872)

Voila tout est dans le titre...

J'ai crée une ville avec différents NPC par le Créatures Wizzard...

En complémentarité, dans un soucis d'éttoffé la ville, de la rendre plus réelle j'ai rajouté quelques "Encouters" où Spawm des NPC, j'aimerai que ces derniers lachent des dialogues aléatoires.

J'ai un scrpit pour des dialogue aléatoires comment l'adapter aux PNJ de mon encounter ?? ( ci-joint le script )

void main()
{
string sText;
int nRandom = d12(1);
if (nRandom == 1){
sText = "Je ne peux pas vous parler.";}
else if (nRandom == 2){
sText = "Je n'ai pas le temps désolé.";}
else if (nRandom == 3){
sText = "Vous devriez partir!";}
else if (nRandom == 4){
sText = "Je dois aller travailler!";}
else if (nRandom == 5){
sText = "Le ciel semble se couvrir...";}
else if (nRandom == 6){
sText = "Ou est donc passé ce satané animal !";}
else if (nRandom == 7){
sText = "Merci et a plus tard...";}
else if (nRandom == 8) {
sText = "N'avez vous rien d'autre à faire ?";}
else if (nRandom == 9){
sText = "C'est sans doute quelque part.";}
else if (nRandom == 10){
sText = "Tss Tss Tss...";}
else if (nRandom == 11){
sText = "Bah ! encore un coup de ces Gobelins !";}
else if (nRandom == 12){
sText = "Vous ne voyez pas que je suis occupé ???";}
ActionSpeakString (sText, TALKVOLUME_TALK);
}


Merci d'avance

alors

Par Shelzard le 2/7/2002 à 21:24:35 (#1746973)

Alors voilà, tu fais tes customs NPC, puis tu leur mets à tous la meme conversation que tu auras enregistré avec le nom genre : conv_npc.
Cette conversation a un texte vide du NPC, avec en Actions Taken ton script qui dis une phrase au hasard.

Puis tu utilise ces customs NPC dans tes encounters, rien de bien dur tout ça.

Shelzard

Encore merci Shelzard :)

Par roppy18 le 2/7/2002 à 21:28:34 (#1747000)

Merci encore pour ton aide :)

Par Cassin le 3/7/2002 à 11:01:58 (#1749500)

N'y a-t-il pas comme alternative de taper toutes les phrases des NPC au même niveau (sous le root quoi) et d'utiliser le "text appears when..." pour qu'il les disent au hasard ?

Ca me paraît plus simple que de se taper un script de 10km de long, mais je ne sais pas si c'est possible ?

Par ZeDuckMaster le 3/7/2002 à 11:53:09 (#1749778)

alors tout d'abord pour eviter l'indigestion quand on fait se genre de script il convient d'utiliser la conditionnelle "switch - case", comme ca :

void main()
{
string sText;
int nRandom = d12();
switch (nRandom)
{
case 1:
sText = "Je ne peux pas vous parler.";
break;
case 2:
sText = "Je n'ai pas le temps désolé.";
break;
case 3:
sText = "Vous devriez partir!";
break;
case 4:
sText = "Je dois aller travailler!";
break;
case 5:
sText = "Le ciel semble se couvrir...";
break;
case 6:
sText = "Ou est donc passé ce satané animal !";
break;
case 7:
sText = "Merci et a plus tard...";
break;
case 8:
sText = "N'avez vous rien d'autre à faire ?";
break;
case 9:
sText = "C'est sans doute quelque part.";
break;
case 10:
sText = "Tss Tss Tss...";
break;
case 11:
sText = "Bah ! encore un coup de ces Gobelins !";
break;
case 12:
sText = "Vous ne voyez pas que je suis occupé ???";
break;
}
ActionSpeakString (sText, TALKVOLUME_TALK);
}

voila :) beaucoup mieux

sinon pour les dialogues qui s'affichent automatiquement, voui c'est possible.
suffit d'enregistrer une variable en local sur le pnj dans lequel on stocke le random, et pis pour chaque replique tester la valeur de cette variable dans le script lié au "text appears when ..."
un peu comme ca pour la 1ere replique par exemple :

int conditional (<- euh la, plus sur de comment ca s'appelle)
{
if(GetLocalInt(OBJECT_SELF,"MON_RANDOM") == 1)
return TRUE;
FALSE;
}


re voila :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine