Bonjour Bonjour !
Désolé pour le double post, mais les deux messages sont assez espacés dans le temps...
J'ai décidé de changer de stratégie.
J'ai maintenant une quête "NewWorldSQT01", qui se lance lors de l'ajout d'un item à l'inventaire du joueur.
Stage10 : activation de l'objectif 10 ( obtenir la perk )
Je veux maintenant que :
Si le joueur possède la perk "NuclearPhysicist01"
--> l'objectif 10 de la quête est terminé
-->passage au Stage 20 qui active l'objectif 20
J'ai donc attaché ce fragment au stage 10, après avoir ajouté les propriétés de type Perk et Quest, nommées respectivement :
"NuclearPhysicist", reliée à la perk "NuclearPhysicist01"
"NewWorldQST01", reliée à la quête "NewWorldQST01"
► Afficher le texte
SetObjectiveDisplayed(10)
If Game.GetPlayer().HasPerk(NuclearPhysicist)
NewWorldQST01.SetObjectiveCompleted(10)
NewWorldQST01.SetStage(20)
EndIf
La compilation est validée, aucun message d'erreur.
Seulement In-Game, quand je débloque la compétence (via un gain d'xp et pas via la commande console "addperk") ou si je l'ai déjà débloquée au début de la quête, rien ne se passe. La quête ne passe pas au stage 20 et donc l'objectif 20 n'est pas activé.
-------------------------------------------------------------------------------------------------------------------------------------------
Comme cela ne fonctionne pas, j'ai aussi tenté d'attacher un script à la perk "NuclearPhysicist01".
J'ai défini la propriété de type "QUEST" en la reliant à ma quête "NewWorldQST01"
Je veux donc que : lorsque la perk sera acquise par le joueur ou si elle l'est déjà, que la quête passe au stage20 donc objectif 20.
► Afficher le texte
Scriptname NewWorldPerkScript01 extends Perk
Quest Property NewWorldQST01 Auto Const
Event OnPlayerTeleport()
If NewWorldQST01.IsRunning()
NewWorldQST01.SetObjectiveCompleted(10)
NewWorldQST01.SetStage(20)
EndIf
EndEvent
Mais je me confronte à un problème : je veux que ce script soit exécuté lors de l'acquisition de la perk, seulement, je ne sais donc pas quoi mettre après le "Event" ( si je met juste le Block "If - ....... - EndIf" compilation impossible). J'ai donc mis "OnPlayerTeleport()", qui permettrait donc au script de se relancer a chaque fois que le player se TP, et donc checker si la quête est en cour ou pas, et si oui passer au Stage20.
La compilation est validée la aussi, pourtant aucun changement InGame.
HELP PLZZZZ !!!