La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 23/11/2024 15:52:18
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Shishio-Erehiko Novice Messages: 7 |
Salut, je cherche un script gargouille.
CAD que je veux uns cript qui permet de tranformer des mosntres de pierre en monstres de chaire une fois qu'on passe a un endroit ou qu'on clic dessus. En fait je veux faire des géants qui sont de pierre et une fois arriver au milieu de la zone les géants de pierre se réveille et devienne animés. Il parait qu'il y a ce script deja tout fait sur nwn mais comme j'ai pas jouer au mode solo et que je dois fouiller chaque maps puis chercher le scripte :s Vous pouvez m'aider svp ? PS: dsl s'il y a deja un post sur ce sujet et c'est peut etre pas le bon endroit a poster dsl j'arrive pas a delete si un MD pouvait deplacer le topic merci |
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Voilà le script qu'il te faut:
NWScript :
void main () { object oCreature = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC); if (GetIsObjectValid(oCreature) == TRUE && GetDistanceToObject(oCreature) < 10.0) { effect eMind = EffectVisualEffect(VFX_IMP_HOLY_AID); object oGeant = CreateObject (OBJECT_TYPE_CREATURE, "gntfire001", GetLocation(OBJECT_SELF)); ApplyEffectToObject(DURATION_TYPE_INSTANT, eMind oGeant); SetPlotFlag(OBJECT_SELF, FALSE); DestroyObject(OBJECT_SELF, 0.5); } } Place le dans le OnHeartBeat de tes statues si tu veux que ces dernières deviennent de chair à l'approche du pj. sinon place le dans le OnUsed et assure toi d'avoir coché la case "utilisable". Ce script crée des géants de feu. Si tu préfère faire apparaitre tes propres monstres, remplace le "gntfire001" par la "RefRes de ton monstre". _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Blackblood Chevalier Messages: 80 Localisation: France |
Pourquoi ne pas placer un point de rencontre et lorsque le joueur entre dans le trigger les statues s'animent ? Cela éviterait le OnHeartBeat.
|
Revenir en haut | |
Shishio-Erehiko Novice Messages: 7 |
Bon, je vais essayer merci de l'info
|
Revenir en haut | |
Jaheira 007 Seigneur Messages: 223 |
Blackblood a écrit : Pourquoi ne pas placer un point de rencontre et lorsque le joueur entre dans le trigger les statues s'animent ? Cela éviterait le OnHeartBeat. Je suis d'accord, c'est une solution, mais alors il faudra supprimer les statue et mettre un script dans le OnEnter du trigger.
Je préconise ma solution pour un point de vue esthétique. De plus, si il y a 5 statues, il faudra placer 5 trigger, autant mettre un script unique dans le OnHeartBeat d'une statue et copier/coller pour obtenir autant de statue que l'on désire. _________________ La nature reprendra ses droits ici, aprés notre passage. |
Revenir en haut | |
Blackblood Chevalier Messages: 80 Localisation: France |
Excuses-nous Shishio-Erehiko de débattre par rapport à ton post.
Citation : Je suis d'accord, c'est une solution, mais alors il faudra supprimer les statue et mettre un script dans le OnEnter du trigger.
Un trigger suffit, il n'y a qu'à faire appel à 5 géant de feu, les créer à côtés des statues et détruire les statues.
Je préconise ma solution pour un point de vue esthétique. De plus, si il y a 5 statues, il faudra placer 5 trigger, autant mettre un script unique dans le OnHeartBeat d'une statue et copier/coller pour obtenir autant de statue que l'on désire. NWScript :
/// Placer dans OnEnter du trigger void main() { object oPC = GetEnteringObject(); if (!GetIsPC(oPC)) return; location statue1 = GetLocation(GetObjectByTag("tag_statue1")); object oTarget; object oSpawn; location lTarget; lTarget = GetLocation(GetObjectByTag("tag_statue1")); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "gntfire001", lTarget); SetIsTemporaryEnemy(oPC, oSpawn); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); int nInt; nInt = GetObjectType(oSpawn); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oSpawn)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oSpawn))); oTarget = GetObjectByTag("tag_statue1"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_STRIKE_HOLY), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_STRIKE_HOLY), GetLocation(oTarget)); oTarget = GetObjectByTag("tag_statue1"); DestroyObject(oTarget, 0.5); location statue2 = GetLocation(GetObjectByTag("tag_statue2")); object oTarget; object oSpawn; location lTarget; lTarget = GetLocation(GetObjectByTag("tag_statue2")); oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "gntfire001", lTarget); SetIsTemporaryEnemy(oPC, oSpawn); AssignCommand(oTarget, ActionAttack(oPC)); AssignCommand(oTarget, DetermineCombatRound(oPC)); int nInt; nInt = GetObjectType(oSpawn); if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), oSpawn)); else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_UNSUMMON), GetLocation(oSpawn))); oTarget = GetObjectByTag("tag_statue2"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_STRIKE_HOLY), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_STRIKE_HOLY), GetLocation(oTarget)); oTarget = GetObjectByTag("tag_statue2"); DestroyObject(oTarget, 0.5); } Ce script est réalisé pour 2 statues mais il suffit de copier/coller pour ajouter les 3 autres statues. Je t'accordes que c'est bien plus lourd que ton script (et je ne garanti pas la réussite étant donné que je ne l'ai pas testé). Mais c'est que j'évite au maximum le OnHeartBeat pour ne pas utiliser de la ressource inutilement car OnHeartBeat est synonyme de lag en générale. bon courage et merci pour cet échange instructif Jaheira |
Revenir en haut | |
Shishio-Erehiko Novice Messages: 7 |
bah pour le moment j'ai pas tester car j'ai pas trop le temps mais demain ou apres demain je vous dirai.
J'aime bien l'idée du tigger (Alenn Tax: post en double supprimé) |
Revenir en haut | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Page 1 sur 1 ¤
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum