Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Besoin d'aide pour qq détails ds mon module
Besoin d'aide pour qq détails ds mon module
Par Rand Corwinson le 13/12/2002 Ã 0:54:00 (#2774422)
Si je me suis inscrit, c parce que je suis en train de créer un petit module et je rencontre qq difficultés (évidemment ;)).
Tout d'abord, je suis un noob pour le scripting :ange: et la plupart du tps je me débrouille avec l'assistant. Je demande votre aide pour un pb précis :
en fait, je voudrais mettre sur une créature un script qui fasse qu'elle fuit dès qu'un pj l'attaque. Est-ce possible? Si oui, qq'un pourrait il me donner le script?
Le 2nd pb qui m'amène est tout autre puisqu'il s'agit d'un pb de clé :) . En fait, j'ai créé des portes ds mon auberge qui ne s'ouvre qu'avec une clé que l'on peut acheter à l'aubergiste. Simplement, je voudrais que le clé disparaisse après utilisation. J'ai activé l'option "destruction de la clé après utilisation" ( ou un truc du genre), mais rien n'y fait. Que dois-je faire pour que cela marche?
D'autre part, j'aimerai que la porte se revérouille après que la chambre ait été utilisé? Est-ce possible?
Voilà pour mes 1ères questions sur le forum. Mais, ce ne seront certainement pas les dernières ;).
@+
Par Elmo le 13/12/2002 Ã 1:21:11 (#2774506)
Par Jaha Effect le 13/12/2002 Ã 1:59:34 (#2774590)
Essaye de faire un titre de post explicite toujours pour des facilité de recherche de sujet, c'est pas grand chose mais c'est relativement important pour ceux qui parcourent ce forum.
Jaha Effect :D
Par coolstar le 13/12/2002 Ã 3:19:35 (#2774749)
Prends en bonne note!! Cependant, voilà un exemple de petit Script pour la fuite... A compléter selon les besoins! ;)void main() /* A placer dans le OnPhysicalAttacked */
// Déclenche l'action de fuite s'il est Attaqué.
{
object oFleeFrom = GetLastAttacker() ;
int bRun = TRUE; // Mode Course.
ClearAllActions();
/* Lignes pouvant être "commentées" pour choisir l'autre Commande. */
float fMoveAwayRange = 80.0; // Distance parcourue dans la fuite.
/* Incite le NPC à s'éloigner au plus loin de son Attaquant. */
ActionMoveAwayFromObject(oFleeFrom, bRun, fMoveAwayRange);
/* Lignes pouvant être "décommentées" pour remplacer l'autre Commande. */
// location lDestination = GetLocation(GetWaypointByTag("refuge")); // Waypoint.
/* Incite le NPC Ã rejoindre au plus vite son "point de raliement". */
// ActionForceMoveToLocation(lDestination, bRun);
}
Et aussi celui-là (presqu'identique!), pour s'assurer qu'il n'insiste pas!! :pvoid main() /* A placer dans le OnDamaged */
// Déclenche l'action de fuite s'il est Blessé.
{
object oFleeFrom = GetLastDamager() ;
int bRun = TRUE; // Mode Course.
ClearAllActions();
/* Lignes pouvant être commentées pour choisir l'autre Commande. */
float fMoveAwayRange = 80.0; // Distance parcourue dans la fuite.
/* Incite le NPC à s'éloigner au plus loin de son Agresseur. */
ActionMoveAwayFromObject(oFleeFrom, bRun, fMoveAwayRange);
/* Lignes pouvant être décommentées pour remplacer l'autre Commande. */
// location lDestination = GetLocation(GetWaypointByTag("refuge")); // Waypoint.
/* Incite le NPC Ã rejoindre au plus vite son "point de raliement". */
// ActionForceMoveToLocation(lDestination, bRun);
}
Les "//" servent à "neutraliser" une partie du Script (ce que l'on appelle "Commenter"!)... les enlever étant le processus inverse que l'on appelle "Décommenter" (et oui!)... Tout ça pour dire que tu peux choisir l'un ou l'autre type de fuite (irraisonnée ou organisée... genre vers une embuscade!)... :blabla:
...
merci ;)
Par Rand Corwinson le 13/12/2002 Ã 14:02:40 (#2777204)
- le script de fuite fonctionne pafaitement.
- ma clé disparait après utilisation.
Seul pb, une fois la porte ouverte, et la chambre utilisé, je voudrai que la porte soit revérouillée. Est -ce possible ou vaut il mieux le faire grace aux outils du md pdt la partie?
merci ;)
Par Rand Corwinson le 13/12/2002 Ã 14:03:22 (#2777209)
- le script de fuite fonctionne parfaitement.
- ma clé disparait après utilisation.
Seul pb, une fois la porte ouverte, et la chambre utilisé, je voudrai que la porte soit revérouillée. Est -ce possible ou vaut il mieux le faire grace aux outils du md pdt la partie?
Par Elmo le 13/12/2002 Ã 14:07:19 (#2777240)
Par eMRaistlin le 13/12/2002 Ã 14:09:16 (#2777253)
attention : c'est une commande, de memoire, donc il te faudra un DelayCommand devant.
(oublie pas aussi de mettre un CloseDoor avant ^^)
Par coolstar le 13/12/2002 Ã 14:22:30 (#2777364)
Par Jedaï le 13/12/2002 à 16:31:50 (#2778412)
*un NPC pour fermer
*que ce NPC a la clé de la porte (en intrigue si on a activé "destruction de la clé après utilisation" ;) )
*que la porte est reverrouillable avec la clé...
:D :D
C'est pour ça que c'est beaucoup plus pratique d'utiliser SetLocked(), fonction qui n'as besoin de rien de tout ça pour s'exécuter et qu'on peut même mettre sur la porte elle-même !:p
JOL Archives 1.0.1
@ JOL / JeuxOnLine