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 :
Cdiscount : -30€ dès 300€ ...
Voir le deal

 

 Dormir pour un téléportation

Aller en bas 
4 participants
AuteurMessage
kraken
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur



Masculin Nombre de messages : 38
Age : 33
Date d'inscription : 11/01/2007

Dormir pour un téléportation Empty
MessageSujet: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeVen 27 Juil 2007, 20:12

Bonjours, wiwiland étant en rade j'implore votre aide.

J'aimerais faire que lorsque le joueurs dort plus d'un certains temps dans un lit préçis il soit téléporter dans une autre cell.
J'imagine qu'on doit passé par un script attaché au lit mais je suis pas sur.
Merci pour votre aide
Revenir en haut Aller en bas
Mike89
Maître ArchipelModeur
Maître ArchipelModeur
Mike89


Masculin Nombre de messages : 3151
Age : 68
Date d'inscription : 06/03/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeVen 27 Juil 2007, 21:04

kraken a écrit:
Bonjours, wiwiland étant en rade j'implore votre aide.

J'aimerais faire que lorsque le joueurs dort plus d'un certains temps dans un lit préçis il soit téléporter dans une autre cell.
J'imagine qu'on doit passé par un script attaché au lit mais je suis pas sur.
Merci pour votre aide

Rien ne dis que le PC dors dans un lit précis... il ny a pas de IsSleepingInBedMachin.

Solution : une quête avec script ou un script de lit ! (d'objet)

Données : refLitQuiVoyage

Fonctions : player.GetDistance refLitQuiVoyage et aussi éventuellement IsPCSleeping

Attention, quand le PC dort, on n'est pas en GameMode.

Il faut utiliser le bloc 1012 (sleepwait)



Le mieux est un script sur le lit avec juste un bloc Menumode

Dedans tu testes la distance au lit (petite distance en unités d'oblivion... comme ça tu est sûr qu'il est bien dans ce lit... teste le par un get distance quant il dort dedans, à la console)

Code:
Begin MenuMode 1012
If IsPCSleeping
    If player.GetDistance refLitQuiVoyage < 10 (je dis çà, j'en sais rien)
        If GetPCSleepHours > nn
              WakeUpPC
              player.MoveTo gnagna
        EndIf
    EndIf
EndIf
End

Pour le GetPcSleepHours, le pb est qu'il sera téléporté, avant que la jauge d'attente se finisse. Il vaudrait mieux mémoriser l'heure de début du sommeil (avec un doonce et GetCurrentTime, puis calculer à chaque frame le temps passé...)

Je n'ai pas testé, il est possible que çà plante ! Mais l'idée est dans cette direction.

Donnes des nouvelles, et publies ta solution...



End


Dernière édition par le Ven 27 Juil 2007, 21:06, édité 1 fois
Revenir en haut Aller en bas
DamonYa
Chaman
DamonYa


Masculin Nombre de messages : 53
Age : 44
Date d'inscription : 19/07/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeVen 27 Juil 2007, 21:06

Oui dans ton script à vu d'oeil comme cela je pense qu'il faut que tu utilises les fonctions :

- IsPCSleeping
- que tu fasses un compteur si c'est une durée où que tu utilises la fonction GetCurrentTime si c'est entre certaines heures.
- Moveto

EDIT : arf bon je me suis fait doubler et de façon bien plus complète, j'ai rien dit donc ^^
Revenir en haut Aller en bas
http://www.meteobell.com
Mike89
Maître ArchipelModeur
Maître ArchipelModeur
Mike89


Masculin Nombre de messages : 3151
Age : 68
Date d'inscription : 06/03/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeVen 27 Juil 2007, 22:49

DamonYa a écrit:
Oui dans ton script à vu d'oeil comme cela je pense qu'il faut que tu utilises les fonctions :

- IsPCSleeping
- que tu fasses un compteur si c'est une durée où que tu utilises la fonction GetCurrentTime si c'est entre certaines heures.
- Moveto

EDIT : arf bon je me suis fait doubler et de façon bien plus complète, j'ai rien dit donc ^^

Désolé de t'avoir grillé Damonya... Tu as vu juste pour les fonctions utiles, mais il y a aussi un contexte quand le PC dort... on est pas en GameMode... donc lorsque çà marche pas, c'est que le code est mal placé...

Je confirme : Script sur le lit, qui ne fonctionnera que lorsque le PC est dans les environs... et de plus en train de dormir puisque ce script ne comportera qu'un bloc MenuMode... le 1012, bien sûr ! C'est à dire quand le menu d'attente pendant le sommeil décompte les heures.

Il est donc inutile dans ce script de tester IsPCSleeping, comme je l'ai écrit.
Code:


Scn...

short DoOnce
float top  (je crois, je sais plus si c'est float...)

Begin MenuMode 1012

    If DoOnce == 0
          Set top to GetCurrentTime
          Set DoOnce to 1
    EndIf

    If player.GetDistance refLitQuiVoyage < 10 (je dis çà, 10, j'en sais rien)
        If (GetCurrentTime - top) > deltaT  ; (deltaT = le temps que tu veux)
              WakeUpPC
              set Doonce to 0    ; pour la prochaine fois, si çà doit refonctionner
              player.MoveTo Refgnagna
        EndIf
    EndIf

End

Si ça broute l'herbe du desk, je sais pas si çà va digérer le wakeup et le moveto... en une frame, tu décales d'une frame... ou deux. pour ça tu testes une variable step que tu augmentes de 1 ou 2 à chaque commande...

Je suis parfois surpris que mes scripts fonctionnent du premier coup...


Dernière édition par le Dim 29 Juil 2007, 00:53, édité 2 fois
Revenir en haut Aller en bas
kraken
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur



Masculin Nombre de messages : 38
Age : 33
Date d'inscription : 11/01/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeSam 28 Juil 2007, 11:45

Merci pour vos réponse rapide et complete.
Mais quelque chose m'échappe

player.MoveTo Refgnagna

La Refgnagna c'est une cell ou un objet ?
Revenir en haut Aller en bas
Mike89
Maître ArchipelModeur
Maître ArchipelModeur
Mike89


Masculin Nombre de messages : 3151
Age : 68
Date d'inscription : 06/03/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeSam 28 Juil 2007, 12:25

kraken a écrit:
Merci pour vos réponse rapide et complete.
Mais quelque chose m'échappe

player.MoveTo Refgnagna

La Refgnagna c'est une cell ou un objet ?

Soit un marqueur (Xmarker...) soit un objet. Si c'est un objet avec collisions, le PJ sera déposé à proximité.

Oui, je me suis aperçu récemment que les fonctions MoveTo et MoveToMarker sont une seule et même fonction. MoveTo est une abréviation de MoveToMarker.
Revenir en haut Aller en bas
kraken
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur



Masculin Nombre de messages : 38
Age : 33
Date d'inscription : 11/01/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeLun 30 Juil 2007, 10:56

Merci mike, sa marche, il fallait juste augmenter un peu la valeur de distance.
Je continue mes questions. Pour tuer un perso essential via un script
J'imagine qu'il y a une commande pour rendre le perso plus essential et après on kill.
Ma question quel est cette commande.
Revenir en haut Aller en bas
DamonYa
Chaman
DamonYa


Masculin Nombre de messages : 53
Age : 44
Date d'inscription : 19/07/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeLun 30 Juil 2007, 11:30

J'ai pas trop compris ta question "perso essentiel"

Mais si tu veux tuer ton joueur avec un trigger par exemple

Code:
scn .....
Begin OnTrigger Player
Player.Kill
End
Revenir en haut Aller en bas
http://www.meteobell.com
kraken
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur



Masculin Nombre de messages : 38
Age : 33
Date d'inscription : 11/01/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeLun 30 Juil 2007, 11:36

Quand je parle des perso essential, c'est les perso immortelle qui sont inconcient quand on les tue.
Revenir en haut Aller en bas
Nenfëa
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur
Nenfëa


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

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeLun 30 Juil 2007, 13:49

Hello ! Content

Tu peux peut-être utiliser la fonction SetEssential pour ça. Peut-être, car SetEssential est normalement prévue pour fonctionner avec des IDs, je n'ai aucune idée si ça marche avec des références (probablement que oui, sans quoi le Wiki préciserait que ça ne fonctionne pas en plus d'agir comme un Return, mais sans garanties ! Clin d'oeil).

Par contre, es tu bien sur de vouloir tuer les acteurs essentiels ? Ils le sont généralement pour une bonne raison, un tel acte risque de faire buguer des quêtes diverses et variées ! Cyclops
Revenir en haut Aller en bas
kraken
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur



Masculin Nombre de messages : 38
Age : 33
Date d'inscription : 11/01/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeLun 30 Juil 2007, 13:56

Le perso essential que je veux tuer est perso obligatoire pour le début de ma quête mais sa mort a une certaine étape est obligatoire pour garder une certaine logique.
Revenir en haut Aller en bas
Mike89
Maître ArchipelModeur
Maître ArchipelModeur
Mike89


Masculin Nombre de messages : 3151
Age : 68
Date d'inscription : 06/03/2007

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeLun 30 Juil 2007, 15:05

Nenfëa a écrit:
Hello ! Content

Tu peux peut-être utiliser la fonction SetEssential pour ça. Peut-être, car SetEssential est normalement prévue pour fonctionner avec des IDs, je n'ai aucune idée si ça marche avec des références (probablement que oui, sans quoi le Wiki préciserait que ça ne fonctionne pas en plus d'agir comme un Return, mais sans garanties ! Clin d'oeil).
Extrait de la référence WTEAM e attendant le retour du Wiwiki


¤ SetEssential
Fonction statistique
Fonction d’acteur

Syntaxe :
SetEssential ''BaseActorID", 0 | 1

Exemple :
SetEssential MonPNJFavoris 1
SetEssential MonExFavori 0

Active l'indicateur "essential" d'un acteur (1 ou 0).

Lorsque cet indicateur est à 1, le PNJ/creature ne peut pas être tuée -- lorsque sa santé arrive à 0 ou en dessous, un acteur essentiel est mis temporairement à l'état inconscient (''unconscious'').

C'est une fonction qui porte sur l'acteur de base, pas sur une référence !!!

Donc toutes les références de l'acteur de base subissent le même sort, mais comme en général, les acteurs ont une unique référence (surtout les essentiels !!!) cela ne pose le plus souvent pas de problème.
Revenir en haut Aller en bas
Nenfëa
Auxiliaire ArchipelModeur
Auxiliaire ArchipelModeur
Nenfëa


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

Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitimeMer 01 Aoû 2007, 05:50

Mike89 a écrit:
C'est une fonction qui porte sur l'acteur de base, pas sur une référence !!!
En fait, après tests, la fonction accepte aussi une variable de type référence comme paramètre d'entrée (d'où l'avertissement du Wiki ElderScrolls). Par exemple :
Citation :
SetEssential OcatoRef 0
... est refusé par le compilateur, tandis que :
Citation :
Ref acteur

Set acteur to OcatoRef
SetEssential acteur 0
... passe parfaitement. Les joies du compilateur de scripts ! Très content

Celà dit, même appelé sur une référence, ce sera l'acteur de base qui sera modifié, donc toutes les références de l'acteur.
Revenir en haut Aller en bas
Contenu sponsorisé





Dormir pour un téléportation Empty
MessageSujet: Re: Dormir pour un téléportation   Dormir pour un téléportation Icon_minitime

Revenir en haut Aller en bas
 
Dormir pour un téléportation
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» dialogue téléportation
» [Moyen] Simuler une téléportation de PNJ
» [Base] Faire dormir un PNJ - Package Sleep
» Aide pour un mod
» slt pour Knights of the nine

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. :: Scripts - Questions & Reponses-
Sauter vers: