Aller au contenu


Respawn Après Un Chargement De Sauvegarde


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1 Joubarbe

Joubarbe

Posté 04 février 2013 - 15:27

Bonjour,

J'ai un souci de taille avec le "reset" des cells.

Mon mod permet, en lisant un bouquin, de se téléporter (playerref.MoveTo()) à une cell personnalisée. J'interdis ici la sauvegarde car le but est de nettoyer cette cellule d'un trait. Chaque fois que je meurs, je me retrouve donc face au bouquin.

Lorsque je tue un mob A et que je me fais tuer par un mob B, le mob A réapparaît au prochain chargement. En revanche, si je le tue une deuxième fois, puis si je meurs encore, il ne réapparaît pas.

J'ai essayé de faire comme dit dans un tuto, à savoir un script "quest" qui se charge à chaque partie et lance dans un OnPlayerLoadGame la fonction "CellX.Reset()". Ça ne fonctionne pas.
J'avoue avoir bien du mal à comprendre comment fonctionne Skyrim, car d'une part c'est bizarre de ne pas retrouver 100% des conditions d'une sauvegarde à son chargement et d'autre part, je ne trouve aucune fonction qui permettrait de "décharger" une cellule. C'est peut-être le MoveTo qui dérange ?

Merci.

Modifié par Joubarbe, 04 février 2013 - 15:28.


#2 ced

ced

    les météores


Posté 04 février 2013 - 18:37

Voir le messageJoubarbe, le 04 février 2013 - 15:27, dit :

J'ai essayé de faire comme dit dans un tuto, à savoir un script "quest" qui se charge à chaque partie et lance dans un OnPlayerLoadGame la fonction "CellX.Reset()". Ça ne fonctionne pas.
Pour moi c'est ça le problème...
Arrête moi si je me trompe - tu as utilisé l'Event OnPlayerLoadGame() sur un script "Extends Quest" ?
Si c'est ça, ça risque de ne pas marcher, car c'est un Event de type Actor ne marchant que sur un Alias du Player
http://www.creationk...oadGame_-_Actor

La meilleure utilisation de cet Event sur l'Actor Player est d'utiliser (dans ta Quest) une nouvelle Reference Alias qui pointera sur l'Actor Unique Player ou sa Reference : Playerref.
Ensuite dans cet Alias, tu créées un nouveau script (donc de type "ReferenceAlias")

Et enfin, tu mets dedans :
Cell Property	CellX  Auto

Event OnInit()
	 CellX.Reset()
EndEvent

Event OnPlayerLoadGame()
	CellX.Reset()
EndEvent
biensûr pour que ça marche, il faut que ta Quest soit démarrée ;)
A tester, je suis pratiquement sur que c'est la solution à moins que je t'ai mal compris.

#3 Nico coiN

Nico coiN

    Commissaire Magret


Posté 04 février 2013 - 18:46

Pourquoi pas des resurrect en masse sur chacune de tes créatures ? (qui devront par conséquent avoir chacune un alias). Le resetcell n'affecte pas tout ce qui a une AI, me semble-t-il.
Canard mystique, grand instigateur et créateur de la carpe d'ondepluie.

#4 Joubarbe

Joubarbe

Posté 04 février 2013 - 19:17

Je vais essayer la solution de ced pour le moment, car j'ai beaucoup de créatures :)

EDIT : un truc comme ça non ?

Image IPB

Ma quête est en Start Game Enabled, mais je n'utilise pas les Encounter Zones, ni les Location. Au cas où ça viendrait de là...

EDIT² : dans le même code, j'ai ajouté une fonction Resurrect() sur le mob A en question, et ça fonctionne. Le problème est qu'il faut pointer toutes les références et ça va prendre un temps monstre... Donc deux questions :) :
1/ Pourquoi le Reset ne fonctionne-t-il pas ?
2/ N'y a-t-il pas un moyen de cibler un LvlActor ou un Actor plutôt qu'une référence ?

Modifié par Joubarbe, 04 février 2013 - 20:01.


#5 ced

ced

    les météores


Posté 04 février 2013 - 21:26

Oui pour ton screen.
Assure toi que tes mob aient le flag "Respawn" coché au cas où, pour que le Reset() soit efficace...

Le Reset n'est pas instanné si ton Player est dans cette Cell.
Il faut qu'il l'a quitte et qu'il y retourne.

#6 Joubarbe

Joubarbe

Posté 04 février 2013 - 22:14

Oui, tout est bon, mais ça ne fonctionne pas.

Mais comme je l'ai dit, le seul moyen de retourner dans cette cell est d'y être téléporté. Je ne sais pas si le jeu gère de la même façon un MoveTo qu'un passage d'une porte à l'autre.




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)