Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > aide pour les newbies"scripts"
aide pour les newbies"scripts"
Par hido le 3/8/2002 à 17:17:27 (#1907359)
vous etes nouveau dans la creation d'un module et vous cherchez des scripts pour animer votre module ?
voila :
1)ouvrir une porte fermé avec un levier:
-a mettre dans le OnUsed du levier !
-evidement la porte est fermé :ange:
-n'oubliez pas de cocher "none" dans area transition de la porte
void main()
{
object oDoor = GetNearestObjectByTag("tag_de_la_porte");
int iDoorLocked = GetLocked(oDoor);
ActionPlayAnimation(ANIMATION_PLACEABLE_ACTIVATE);
ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE);
if (iDoorLocked == TRUE)
{
AssignCommand(oDoor, ActionOpenDoor(oDoor));
SetLocked(oDoor, FALSE);
}
else
{
AssignCommand(oDoor, ActionCloseDoor(oDoor));
SetLocked(oDoor, TRUE);
}
}
2)demander a un PNJ d'ouvrir un porte dans un dialogue:
-dans le dialogue avec lui placer un action token quand c'est a lui de parler (genre: ok j'ouvre)
fermé ou verouillé la porte s'ouvre !!
void main()
{
object oDoor = GetObjectByTag("tag_de_la_porte");
ActionMoveToObject(oDoor, FALSE);
ActionDoCommand(SetLocked(oDoor, FALSE));
}
3)Faire reagir un PNJ dans un zone:
-a mettre dans onuserdefined du NPC:
void main()
{
SpeakString("dialogue_NPC");
}
3 suite)
maintenant vous devez creer un trigger pour le faire reagir !
-placé un trigger generique !
-nomé le
OnEntre :
void main()
{
SignalEvent(GetNearestObjectByTag("tag_NPC"),EventUserDefined(1));
DestroyObject(GetObjectByTag("tag_du_trigger"));
}
4)vous voulez un chien ? un annimal de compagnie ?
-j'ai pris l'exemple d'un chien la !
-action taken dans la conversation.
void main()
{
object oPC = GetLastSpeaker();
object oDog = GetObjectByTag("tag_du_chien");
SetLocalInt(GetPCSpeaker(),"IsFollowing",1);
ActionDoCommand(ActionForceFollowObject(oPC, 1.0));
}
5)pendant un dialogue le npc disparaît :
mettre dans la phrase correspondante: je me casse !
-cest un action token :
void main()
{
SpeakString("je me casse !");
PlaySound("vs_chant_conj_hf");
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), OBJECT_SELF));
DestroyObject(OBJECT_SELF,2.0);
}
explication !
1/ SpeakString (c'est un texte qui apparait au dessus du NPC !
2/PlaySound(vous pouvez inserer celui qui vous plaît)
pour le savoir cree un dialogue et dans Other action, en bas a droite ce trouve "play sound" choisissez et cliquer play !
ensuite ! quand vous avez choisi, clic droite sur le son et copié, apres mettez-le dans la parenthese de votre play sound !
3/ on peut faire pareil pour "(VFX_IMP_UNSUMMON) mais je connais pas le moyen de les voir ....désolé.
4/DestroyObject(OBJECT_SELF,2.0); demande la destruction du NPC.
5 suite)
la meme chose mais avec un trigger :
ex : vous arrivés sur le trigger et LE NPC part !
mettre ca dans le OnUserdefined du NPC:
void main()
{
SpeakString("un dialogue du NPC");
PlaySound("vs_chant_conj_hf");
DelayCommand(1.0,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), OBJECT_SELF));
DestroyObject(OBJECT_SELF,2.0);
}
5 suite)
-et ca dans le OnEnter du trigger :
void main()
{
if (GetIsPC(GetEnteringObject())) {
SignalEvent(GetObjectByTag("tag_du_NPC"),EventUserDefined(20));
DestroyObject(OBJECT_SELF); };
}
-detail important ! LE NPC doit deja etre la ! :ange:
-(ex:)SpeakString("NONNN PAS LUI !");
-quand vous arrivés sur le trigger le NPC disparait !!!
6)comment creer un dialogue :
-vous cree un NPC !nomé son tag garcon(ex)faction bonne
-vous le placez !
-clic droite sur lui et propriete !
-en bas vous avez conversation ! cliquez sur edit !
-un fenetre s'ouvre et la (hurg) c'est koi ce truc ?
pas de panique !
-en haut a gauche dans la fenetre blanche, ce trouve un mot :
((((ROOT))))
clic droite et clic ADD ! (une fenetres'ouvre)
-c'est le dialogue du NPC (GARCON !) :ange:
-viré le texte qu'il y a dedans (enter text here)
-et mettre: BONJOUR ! (apres clic oK)
en haut a gauche maintenant nous avons: (OWNER)- bonjour !
-clic droite sur (OWNER) et ADD
-nouvelle fenetre dialogue(la votre)
-viré le texte et mettre BONJOUR MONSIEUR !clic ok apres !
-nous avons donc en haut a gauche ca :
(OWNER)-bonjour !
---)bonjour monsieur(end dialogue)
en rouge est le dialogue du NPC et bleu LE votre !
vous pouvez continuer le dialogue en cliquant droite sur :
-bonjour monsieur et ADD
-vous avez alors compris comment faire un dialogue.
pour fermer vote dialogue fait :
-tout en haut ce trouve des disquettes !(3)gauche a droite
-1/ permet de sauvegarder apres la correction d'un dialogue.
-2/permet de sauvegarder un dialogue
-3/sauvegarde ALL (ben je sais pas) :mdr:
-vous devez choisir la 2 (save As)
-un autre fenetre s'ouvre !(encore une....)
il y a une chose a savoir !
-pour les dialogue a sauvegarder on met toujours dia_
-pour notre ex la, nous allons mettre dia_garcon puis save !
-la fenetre disparait et reviens sur les dialogue ok ?
-tout en bas a droite ce trouve " DONE" cliquez dessus !
-nous voila sur la fenetre du garcon et cliquez OK
-sauvegardez votre module et essayez !
dernier conseil ! pour l'esai d'un script ou plusieurs, le mieux est encore de creer un module rural 3X3 et de placer un NPC+START LOC+ decors !
les sauvegardes ce font plus rapide !
PS: les scripts qui sont presentés ici ne sont pas les miens !
ils viennent de ce site ou d'autre !
pourquoi les avoir mis de cette maniere ?
-pour expliquer au mot pour mot la demarche !
Par Shanaee le 5/8/2002 à 15:31:02 (#1918600)
c'est pas grave ladie !
Par hido le 5/8/2002 à 20:44:07 (#1920883)
si tu as aimé alors au moins une personne aura trouvé l'idée interessante.
bonne soirée !! ;)
JOL Archives 1.0.1
@ JOL / JeuxOnLine