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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

SVP aide pr un script .

Par benten le 17/9/2002 à 20:18:16 (#2175982)

Salut j'aimerai faire un script du genre :
je me promene dan la foret et tou dun coup un groupe de bandi arrive et entame la conversation .

Pr la conversation c'est ok mais je narrive pas a declencher larriver des bandi + le dialogue .

Pouvez vous m'aidez SVP ??? :D

Ps: c'est quel language pr faire les scripts ?

Par Taern le 17/9/2002 à 23:04:19 (#2177005)

Bon je n'ai pas le temps de détailler vraiment, mais je pense que l'idéal serais de créer une "rencontre" (encounter) avec des bandits customisés de la sorte :
-de la même faction que le PJ
-ayant dans leur script "OnPerception" un truc du genre :


object oPJ = GetLastPerceived();
BeginConversation("ta_conversation", oPJ);


Le laguage (NWScript) est adapté du C, notamment pour la syntaxe et le fontionnement :)
Voilà, j'espère avoir aidé un peu :)

Par Jedaï le 18/9/2002 à 12:20:27 (#2179270)

Taern les PCs n'ont pas de faction, donc mets plutôt tes bandits en commoners, pour la rencontre tu as plusieurs possibilités mais je pense que tu veux que tes bandits soit approximativement au même endroit du début à la fin du jeu, dans ce cas je te recommande de les placer dès le début dans le module plutôt que de faire une encounter.
Mais je pense surtout que tu devrais nous donner plus de détail, parce que si par exemple tu voulais que tes bandits attaque ton groupe après la conversation ce que j'ai dit sur les factions ne serait plus valable (non plus que ce qu'a dit Taern d'ailleurs).

Par Jedaï le 18/9/2002 à 12:24:56 (#2179306)

Et le script serait plutôt du style :


void main()
{
object oPC = GetLastPerceived();
if (GetIsPC(oPC) && GetLastPerceptionSeen())
{
ClearAllActions();
ActionStartConversation(oPC,");
}
}

Par Taern le 18/9/2002 à 15:57:08 (#2181093)

Autant pour moi :)
Mais j'étais fatigué heu :o

:ange:

plus d'explikations...

Par benten le 18/9/2002 à 19:05:16 (#2182744)

Alors la situation est :
Me promenant dans la foret une bande de bandits apparait et me demande de payer oubien de mourir .

un dialogue avec deux choix
1.oui je paye (t il s'en von)
2.Non aller au diable (et il m'attake)


MERCI :D

Par Jedaï le 18/9/2002 à 20:02:45 (#2183182)

Donne le même tag à tous ces bandits, tu donne le nom de chef et un tag différent à l'un d'eux et tu lui colle le script précédent dans son OnPerception, tu ne touche pas aux script des autres. Tu les mets tous dans une faction bandit que tu as créée. Tu donne au chef une conversation et dans le Action Taken de la réplique des PCs qui veulent se battre tu met ce script :



#include "nw_i0_generic"

void main()
{
object oPC = GetPCSpeaker();
object oChef = GetObjectByTag("TagDuChef");

AdjustReputation(oPC, oChef, -100);
DetermineCombatRound(oPC);

object oBandit = GetObjectByTag("LeTagDesBandits");
int i = 0;

while (GetIsObjectValid(oBandit))
{
AssignCommand(oBandit, DetermineCombatRound(oPC));
i++;
oBandit = GetObjectByTag("LeTagDesBandits", i);
}
}


Sur la branche où le PC accepte tu peux utiliser le Script Wizard pour lui faire cracher l'argent.:cool:

Par Jedaï le 18/9/2002 à 20:48:55 (#2183576)

Bon j'ai quelque peu modifier le script sur OnPerception précédemment posté. Par ailleurs si tu veux que les bandits s'en aillent après t'avoir extorqué de l'argent tu peux mettre ceci dans le Action Taken de la réplique où le PC accepte l'humiliation (mais conserve sa vie ;) ) :



void main()
{
object oPC = GetPCSpeaker();
object oChef = GetObjectByTag("TagDuChef");

//met le montant que prendront les bandits la place du 200
TakeGoldFromCreature(200, oPC, TRUE);
ActionMoveAwayFromObject(oPC, TRUE);
ActionDoCommand(DestroyObject(oChef));

object oBandit = GetObjectByTag("LeTagDesBandits");
int i = 0;

while (GetIsObjectValid(oBandit))
{
AssignCommand(oBandit, ActionMoveAwayFromObject(oPC, TRUE));
AssignCommand(oBandit, ActionDoCommand(DestroyObject(oBandit)));
i++;
oBandit = GetObjectByTag("LeTagDesBandits", i);
}
}


Il y avait aussi une petite erreur sur le script de l'attaque.:bouffon:

DSL ...mais je suis nul en script.

Par benten le 18/9/2002 à 21:23:49 (#2183869)

Je m'excuse mais je ne capte pas bien ce kil faut que je fasse exactement car je ne maitrise pas tres bien les script.
Si vous pouviez me faire les etapes a suivre une par une a la suite ca serai sympas merci .

ps:pas la peine de decrire les etape basique mais du moin les ecrire de maniere a ce que je comprenne Svp .

MERci encore !
:lit:

Par Jedaï le 21/9/2002 à 19:42:58 (#2203292)

Alors voilà Step by step :

[list=1]
*créer une faction bandit à partir de la faction commoner dans l'éditeur de faction
*créer des bandits à l'endroit voulu sur la carte, ce sont des PNJs de la palette
*dans l'onglet advanced des propriétés des bandits, leur mettre la faction "bandit"
*donner le même tag à tous les bandits sauf 1 : par exemple "Bandit".
*le bandit dont tu n'as pas encore modifié le tag : tu lui donne le nom (first name) "Chef" et le tag "Chef_bandit"
*toujours sur le chef : dans son événement OnPerception tu met le premier script que je t'ai donné
*tu crée une conversation pour ton chef dans laquelle à un moment tu donne le choix au PC : "la bourse ou la vie"
*Dans l'onglet Action Taken de la réponse du PC : "la bourse" tu mets le 2ème script que j'ai donné
*Et dans l'onglet Action Taken de la réponse du PC : "la vie" tu met mon dernier script
*Par ailleurs aie soin de rendre ta conversation ininterrompable en cochant la case no interrupt
[/list=1]

Ah et modifie les tags dans les script en accord avec les tag que tu as utilisé.:cool:

JOL Archives 1.0.1
@ JOL / JeuxOnLine