Dans une quête de SeM, j'ai un passage où le PJ ne peut ouvrir une porte qu'en fonction de sa progression dans une quête.
Pour égayer son attente dans cette progression, je lui fais croire qu'il peut réussir à défoncer cette porte ... Or, le script appliqué sur la porte marche mal. Avant toute explication, voici le script "coupable" :
Begin SeM_AnoDanoranPorteScript Short doOnce Short doOnce2 Short doOnce3 Short button Short randomvar If ( doOnce == 0 ) If ( GetJournalIndex "SM_SarvurDanoran" == 52 ) If ( GetPCCell "Hla Oad" == 1 ) If ( GetInterior == 0 ) If ( doOnce2 == 0 ) Journal "SM_SarvurDanoran" 55 Set doOnce2 to 1 Endif Endif Elseif ( GetDistance Player <= 50 ) If ( doOnce2 == 1 ) Journal "SM_SarvurDanoran" 60 Set doOnce to 1 Set doOnce2 to 2 Endif Endif Endif Endif If ( GetJournalIndex "SM_SarvurDanoran" <= 50 ) If ( OnActivate == 1 ) If ( doOnce3 == 0 ) Set doOnce3 to 1 Endif Elseif ( doOnce3 == 1 ) MessageBox "La porte semble bloquée de l'intérieur. Impossible de l'ouvrir normalement.", "Défoncer la porte", "Partir" Set button to GetButtonPressed Set randomvar to Random 2 Set doOnce3 to 2 Elseif ( doOnce3 == 2 ) If ( button == 0 ) If ( randomvar == 0 ) MessageBox "La porte reste immobile. Par chance, personne n'a remarqué votre manège.", "Ok" Set doOnce3 to 0 Elseif ( randomvar == 1 ) MessageBox "Vous vous cognez violemment la tête contre le panneau de bois. Par chance, vous n'êtes qu'égratigné.", "Ok" ModCurrentHealth -1 Set doOnce3 to 0 Elseif ( randomvar == 2 ) MessageBox "Les gardes ont repéré votre manège !", "Ok" ModPCCrimeLevel 20 Set doOnce3 to 3 Endif Elseif ( button == 1 ) MessageBox "Vous vous éloignez, prudent." Set doOnce3 to 0 Endif Elseif ( doOnce3 == 3 ) If ( OnActivate == 1 ) MessageBox "Après ce qui vous est arrivé la dernière fois, vous préférez ne pas recommencer." Endif Endif Elseif ( GetJournalIndex "SM_SarvurDanoran" == 60 ) If ( OnActivate == 1 ) Journal "SM_SarvurDanoran" 65 Activate Endif Elseif ( GetJournalIndex "SM_SarvurDanoran" > 60 ) Activate Endif EndLa première partie (entre If ( doOnce == 0 ) et son Endif ) fonctionne parfaitement. Elle "donne" les étapes de la quête selon l'endroit où se trouve le joueur.
La seconde partie, elle, fonctionne mal. Le message "La porte semble bloquée de l'intérieur. Impossible de l'ouvrir normalement." et ses deux boutons apparaissent normalement, mais aucun résultat à l'horizon ! Les messages "La porte reste immobile ...", "Vous vous cognez violemment ...", etc .... n'apparaissent pas !
Quelqu'un peut-il m'aider ?
Modifié par Infomase, 23 juin 2009 - 15:41.