Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > [Script] Faire ouvrir une porte par un PNJ
Faire ouvrir une porte par un PNJ
Par Daynos le 12/10/2002 à 16:11:42 (#2322960)
Mon premier script (snif, je suis ému mais en fait il est plus de Jey et Hippias que de moi, vu mes lacunes )
Faire ouvrir une porte par un PNJ :
void main()
{
object oDoor ;
oDoor=GetNearestObjectByTag("Portehall") ;
if (GetIsOpen(oDoor)==0)
{
ActionOpenDoor(oDoor);
}
}
le tag de la porte est "Portehall" évidemment...
Le script est tout con, mais il permet un truc intéressant sans ajout de ligne dans le script, puisqu'il inclue le déplacement , peu importe où se trouve le PNJ : il suffit que le PNJ ait un path disponible pour atteindre la porte, pour qu'il y aille de lui même (sans avoir besoin d'utiliser MoveToObject ou MoveToLocation).
Donc associez le script dans l'onglet "taken actions" à une ligne de la conversation (par exemple , apres que le PJ ait dit "va m'ouvrir la porte" , le PNJ répond "ok" et on associe le script sur "taken action" à la réplique du PNJ, "ok")
Le PNJ court alors jusqu'a la porte , même si elle est a l'autre bout du module, et l'ouvre.
Ajout :
Vous pouvez aussi vérouiller la porte, et placer la clef associée à cette porte dans l'inventaire du PNJ. Sans rien ajouter au script, il pourra ouvrir la porte (car les clefs n'ont pas besoin d'être utilisées, il suffit qu'elles soient dans l'inventaire). Seul ce PNJ pourra alors ouvrir cette porte
(autrement dit si vous voulez entrer par effraction dans le QG LDD, il vous faudra obligatoirement passer sur le corps du portier auparavant )
JOL Archives 1.0.1
@ JOL / JeuxOnLine