Aller au contenu


Délai Entre Deux Quête


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

#1 Turielo

Turielo

Posté 02 janvier 2011 - 08:51

Me revoilou, cette fois avec une question toute bête: quelle est la procédure à suivre pour passer d'une quête à une autre après un certain temps?

Je m'explique en prenant grosso modo l'exemple de mon mod:

-On a une première quête dans laquelle un perso nous fait des révélations importantes. La quête se termine après le rapport (disons au NPC1).
-Le fameux NPC1 dans le dialogue de fin de quête vous dit que ces révélations sont graves et qu'il faut qu'il en parle à un autre NPC (disons au pif NPC2 pour faire original).
-Donc là le NPC1 va voir le NPC2 (bon pour cette action j'ai pas encore cherché, mais j'imagine que ça doit pas être ben compliqué...) en vous demandant de lui demander du travail, mettons dans 24h (on peut toujours lui parler, mais pas lui demander du travail)
-Plus tard, le NPC1 est à nouveau dispo pour donner une autre quête (dans mon mod par exemple, la quête suivante concerne justement un truc à faire en lien avec ces fameuses révélations de la quête précédente)

Donc en résumé, j'aimerai éviter que le NPC1 (qui donne les quêtes) donne immédiatement la quête suivante dès qu'on lui adresse à nouveau la parole, mais après un certain temps (disons par exemple, 24h ingame)

Comment faire?

Merci d'avance! ;)

Apprenti Moddeur

"Le danger pour la plupart d'entre nous n'est pas de viser trop haut et de rater notre but, mais de viser un objectif trop bas et de l'atteindre"

-Ostian Delafour, Fulgrim, Warhammer 40.000


#2 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 02 janvier 2011 - 09:32

Coucou... :)


Tout ceci se fait via un script...
Il y a plusieurs fonctions et globales permettant de manipuler le temps, en voici la liste...

Ensuite, en regardant le script de la quête MG05a, celle avec Teekeeus et Earanna...
scriptname MG05AScript


short doonce
short startday
short currentday
short Earanaready

begin gamemode

;Run a timer after delivering the book to Earana
if ( doonce == 0 )
	if ( GetStage MG05Fingers == 200 && GetStage MG05A < 10 )
		set startday to GameDaysPassed
		set doonce to 1
	endif
elseif doonce == 1
	set currentday to GameDaysPassed
	if ( currentday > startday )
		set Earanaready to 1
		set doonce to 2
	endif
endif

end

Là, quand les conditions sont complètes, on stocke le jour actuel dans StartDay...
Ensuite on stocke le jour actuel dans CurrentDay en boucle...
Et lorsque CurrentDay est supérieur à StartDay, on passe au stade suivant de la quête...
Ceci de façon a attendre la journée suivante...

Après, si on souhaites réellement attendre 24h, on bricole avec GameHour, en reprenant l'ancien script...
scriptname MG05AScript


short doonce
short startday
short currentday
float starthour
short Earanaready

begin gamemode

;Run a timer after delivering the book to Earana
if ( doonce == 0 )
	if ( GetStage MG05Fingers == 200 && GetStage MG05A < 10 )
		set startday to GameDaysPassed
		set starthour to GameHour
		set doonce to 1
	endif
elseif doonce == 1
	set currentday to GameDaysPassed
	if ( currentday > startday )
		if ( GameHour >= starthour )
			set Earanaready to 1
			set doonce to 2
		endif
	endif
endif

end


#3 Turielo

Turielo

Posté 02 janvier 2011 - 10:30

cool! merci beaucoup (comme d'hab'!) ;)

Apprenti Moddeur

"Le danger pour la plupart d'entre nous n'est pas de viser trop haut et de rater notre but, mais de viser un objectif trop bas et de l'atteindre"

-Ostian Delafour, Fulgrim, Warhammer 40.000





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

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