Forum WTeam
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum WTeam

Le site des moddeurs 100% francophone.
 
AccueilPortailGalerieRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 [Moyen] Simuler une téléportation de PNJ

Aller en bas 
AuteurMessage
Nenfëa
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur
Nenfëa


Masculin Nombre de messages : 34
Age : 40
Date d'inscription : 04/04/2007

[Moyen] Simuler une téléportation de PNJ Empty
MessageSujet: [Moyen] Simuler une téléportation de PNJ   [Moyen] Simuler une téléportation de PNJ Icon_minitimeDim 15 Avr 2007, 14:55

Type de script : --- Objet (PNJ) --- (difficulté moyenne)


Utilité : ce script montre comment simuler une téléportation de PNJ de manière un peu plus élégante qu'en faisant brutalement disparaitre l'acteur.
Mode d'emploi :
Spoiler:
Explications :
Spoiler:



Code:
; Script permettant de simuler la téléportation d'un PNJ vers un autre lieu.
; Dans l'exemple, le sort nen_teleport_spell est un simple sort de lumière (on ne s'en sert que pour avoir l'effet visuel sur le PNJ).
; La référence "mon_marker" est la référence d'un marqueur vers lequel on veut téléporter l'acteur scripté.


Scn nen_pseudoteleport_script


short begin_teleport ; Indique l'état de la téléportation
float timer ; Compteur de temps
Ref moi_meme ; Référence de l'acteur scripté


Begin OnActivate
   if ( begin_teleport == 0 ) ; Empêche d'activer l'acteur pendant qu'il se téléporte
      Activate
   endif
End


Begin GameMode
   if ( begin_teleport == 0 ) ; Tant que l'acteur ne doit pas se téléporter...
      Return ; ... on ne fait rien.
   endif
   if ( GetDead == 1 ) ; Si l'acteur est mort en cours de téléportation...
      Set begin_teleport to 0 ; ... on réinitialise la variable begin_teleport pour éviter de rappeler la fonction GetDead à chaque frame (légèrement plus efficace)
      Return ; ... et on ne fait rien d'autre.
   endif

   if ( begin_teleport == 3 )
      MoveTo mon_marker ; On déplace effectivement l'acteur scripté jusqu'au marqueur qui nous intéresse...
      Set begin_teleport to 0 ; ... et on indique que la téléportation est terminée
      Return ; Evite de tester les conditions en dessous.
   endif

   if ( begin_teleport == 2 ) ; Après que l'acteur scripté se soit lancé le sort bidon, on attend un peu pour que l'effet visuel se termine.
      Set timer to ( timer + GetSecondsPassed ) ; Compteur de secondes écoulées
      if ( timer > 2 ) ; Passé deux secondes...
         Set timer to 0 ; ... on réinitialise le timer...
         Set begin_teleport to 3 ; ... et on indique que l'effet visuel s'est terminé.
      endif
      Return ; Evite de tester les conditions en dessous.
   endif

   if ( begin_teleport == 1 ) ; Si on doit lancer la téléportation...
      Set moi_meme to GetSelf ; ... on obtient la référence de l'acteur scripté...
      Cast nen_teleport_spell moi_meme ; ... on lui fait lancer un sort bidon sur lui même juste pour l'effet visuel...
      Set begin_teleport to 2 ; ... et on indique que cette étape a été faite.
   endif
End
Revenir en haut Aller en bas
 
[Moyen] Simuler une téléportation de PNJ
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Moyen/avancé] Simuler une boucle while
» [Basique/moyen] Musique personnalisée dans une cellule
» [Basique/Moyen] Faire parler n'importe quel objet
» [Moyen] Délai d'attente
» [Basique/Moyen] Déplacement continu d'un objet

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum WTeam :: Public :: Tutos TESCS2 Oblivion :: Les scripts, dialogues et quêtes. :: Exemples de Scripts.-
Sauter vers: