Script ! Quête simple avec durée

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Oblivion.
Avatar du membre
Prechan
Confrère
Messages : 4372

Script ! Quête simple avec durée

Message par Prechan »

Bonsoir,

Voila, je veux rajouter une quête dans un mod (Chut stun secret :hehe: ) qui permettra au joueur d'aménager les Annexes d'un Sanctuaire (Chut je vous dis :hehe: )
Bon, pour tout ce qui est quête, dialogues, ça va mais c'est pour le script de quête que je demande votre aide (un peu par flemmardise j'avoue :D )
(Flemme de chercher dans tout le wiwiki la balise qu'il faut, donc si quelqu'un connait ^^)

Je veux qu'a partir du moment où le joueur paye le Silencieux pour faire les travaux, il devra attendre 1 mois avant que ceux-ci soient finis ! (En sachant que le compte à rebours commencera avec une balise

Code : Tout sélectionner

SetStage "Nanananan" X
Mais que dois-je utiliser pour ça ?

Merci de votre aide
Prechan
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Script ! Quête simple avec durée

Message par Karaiq »

Ben je crois me souvenir d'une commande qui ressemble à "getimepassed <nombre de secondes à devoir attendre>" ...

Je ne sais plus où j'ai vu ça et je ne suis même pas sûr qu'elle existe vraiment mais peut-être bien que si... :pensif:
Avatar du membre
Prechan
Confrère
Messages : 4372

Re: Script ! Quête simple avec durée

Message par Prechan »

Le problème, c'est que je la trouve ni sur Wiwiki, ni sur le Wiki Anglais du tesc :pensif:

Pourtant, il est vrai que j'ai déja du voir cette commande quelques part...
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Script ! Quête simple avec durée

Message par Karaiq »

Je viens de chercher, comme toi, parmi les commandes d'OBSE du wiki anglais et pas moyen non plus. La seule commande que j'ai trouvé c'est "istimepassing" mais il faut que le joueur attende alors c'est pas tout à fait ce que tu recherches...
Avatar du membre
Prechan
Confrère
Messages : 4372

Re: Script ! Quête simple avec durée

Message par Prechan »

Je vais chercher dans le TESC, cette commande existe bien, sans OBSE puisque dans la quête de l'Armure du Dragon Impérial, on doit attendre 15 jours !
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Script ! Quête simple avec durée

Message par Karaiq »

Ah ben oui je me disais bien... Bonnes fouilles dans le CS !
Avatar du membre
Prechan
Confrère
Messages : 4372

Re: Script ! Quête simple avec durée

Message par Prechan »

Voila le script affilé au Stage10

Code : Tout sélectionner

set MQDragonArmor.armorFinishDay to gameDaysPassed + 14
set MQDragonArmor.fQuestDelayTime to 100
Et celui de la quête, par contre, je ne trouve pas les topics concernant cette quête :o

Code : Tout sélectionner

scn MQDragonArmorQuestSCRIPT

short armorFinishDay
float fQuestDelayTime

begin gamemode
	if getstage MQDragonArmor > 10
		return
	endif

	if gamedayspassed >= armorFinishDay
		setstage MQDragonArmor 20
		; create the armor for the player's best armor skill
		if player.getav lightarmor > player.getav heavyarmor
			MQDragonArmorLightParent.enable
		else
			MQDragonArmorHeavyParent.enable
		endif
	endif
end
Avatar du membre
beeratwork
Légende de la Confrérie
Légende de la Confrérie
Messages : 1881

Re: Script ! Quête simple avec durée

Message par beeratwork »

http://cs.elderscrolls.com/constwiki/in ... _Functions
Tu utilise GameDay et GameMonth.

Donc :
1) Balise alarme, initialisation, on mémorise le jour actuel et le mois actuel,
2) Calcul du jour J selon le mois actuel >>> Attention ! En février il y a 28 jours ! Donc si tu es le 31 janvier, tu dois passer au 28 février ! Pareil pour toutes les transistion 31 à 30.
3) Si on est le mois suivant et le jour J, balise suivante
Avatar du membre
Prechan
Confrère
Messages : 4372

Re: Script ! Quête simple avec durée

Message par Prechan »

Merci bien Biere a ton travail :hehe:

Donc ça doit faire un truc comme (jsuis pas sur le TESC la) :

Code : Tout sélectionner

Scn LicheScript

short GameMonth
short GameDay



Mais le problème s'est que je sais pas quoi faire après ? Je connais pas du tout ce type de script...(et je suis relativement faible niveau script) Comment fait-on pour "marquer" les jours et mois du moment présent pour ensuite les comptabiliser ?

Je suis vraiment désolé mais je m'y connais vraiment pas, j'en suis resté au script simple sans trop de variables :D
Avatar du membre
beeratwork
Légende de la Confrérie
Légende de la Confrérie
Messages : 1881

Re: Script ! Quête simple avec durée

Message par beeratwork »

Code : Tout sélectionner

short	NextMonth
short	NextDay

; GameDay va de 0 à 30 selon le moi, donc 27 correspond au 28ème jour et 30 au 31ème jour
if (GetStage IDquest == ???)
	set NextMonth to (GameMonth + 1)
; 31j -> 28j
	if (GameMonth == 0)
		if (GameDay >= 28)
			set NextMonth to (NextMonth + 1)
			set NextDay to (31 - GameDay)
		else
			set NextDay to GameDay
		endif
; 31j -> 30j
	elseif (GameMonth == 2 || GameMonth == 4 || GameMonth == 6 || GameMonth == 7 || GameMonth == 9)
		if (GameDay == 30)
			set NextMonth to (NextMonth + 1)
			set NextDay to (31 - GameDay)
		else
			set NextDay to GameDay
		endif
; 28j -> 31j et 30j -> 31j et 31j -> 31j
	elseif (GameMonth == 1 || GameMonth == 3 || GameMonth == 5 || GameMonth == 8 || GameMonth == 10 || GameMonth == 11)
		set NextDay to GameDay
	endif
	SetStage IDquest ABC
elseif (GetStage IDquest == ABC)
	if (GameMonth == NextMonth && GameDay == NextDay)
		SetStage IDquest EFG
	endif
endif
GameDay et GameMonth sont des variable du jeu.
Répondre

Retourner vers « Modder Oblivion »