[Tutoriel] AVANCE - Boîte de déclenchement

Vous trouverez ici les tutoriels et l'entraide sur les outils et techniques de modding spécifiques à Oblivion.
Répondre
Avatar du membre
beeratwork
Légende de la Confrérie
Légende de la Confrérie
Messages : 1881

AVANCE - Boîte de déclenchement

Message par beeratwork »

Tuto - INFO - Index des tutos de Beeratwork

Bip bip - joueur repéré - bip bip - destruction imminante !
"TUTO - AVANCE - BOITE DE"


Une boîte de déclenchement, c'est une boîte qui sert à faire une action lorsqu'elle est en contact avec le joueur sans que celui-ci ne le sache. On déclenche une action. Donc la boîte est invisible en jeu et le joueur peut passer à travers sans rien sentir. Mais qu'il ne sente rien ou non, ça dépend plutôt de vos points de compétence en sadisme, moi j'ai dépassé le niveau 100 et ma force s'élève à plus de 999999 points, donc en général je fait des kaméa-méa sur le joueur quand je trouve ça marrant. Et en plus il faut un peu de script sur la boî-boîte...
Ca permet de :
- initialiser un stage de quête
- tuer le joueur qui tombe dans un trou
- afficher un message "T'es mort, t'as vu ?"
- activer un objet, soit :
* faire des pièges
* faire des portes "trou noir"
- ... pleins d'autres trucs sadiques que vous imaginerez bien :diable:
Connaissances requises : tesc, un peu de script, un peu d'utilisation des activateurs, mais on va voir ça en détail.

Définir la zone de détection :
Vous devez savoir à quoi ressemble l'endroit où vous voulez faire l'action. Une zone circulaire dans une tour ? Un couloir ? Un trou ? Un trou avec une morte depuis longtemps au fond qui demande au joueur "Embrasse-moi" ?
Ca vous définit la forme de la zone de détection ou plutôt de détection car en fait, c'est bien sur contact avec un objet invisible et "immatériel" pour le joueur que l'on va appliquer une action. Gnark gnark gnark.
Malheureusement il n'y a pas des boîtes de toutes les formes inimaginables, mais bien des sortes de cube, des sortes de parrallélipipède (pas pode ! pède !) rectangle et des espèce de cylindres pas très cylindriques. Vous jugerez mieux par vous même, mais on s'en sort bien avec ces 3 types de boîte.

Où sont donc ces fichues boîtes ?
Il y en a partout dans les donjons ! Bon, d'accord, ça n'aide pas... Mais je ne dirai rien ! Seulement une chose :
- Lancer le TESCS
- Section "Activator"
- Rechercher des objets contenant "Trig" ou "Trigger" ou "TriggerPlayer" ou "TrigZone"
- Chercher après la forme de boîte qu'on veut, par exemple je veux une sorte de demi-cube :
Image
- Créer une nouvelle ID et désélectionner le script :
Image
- Il ne reste plus qu'à faire le script qui fait l'action voulue et le lier à la nouvelle boîte.

Quelques exemples de scripts :
- Tuer qui passe par là : le code est déjà fournit avec un script du jeu

Code : Tout sélectionner

scn KillBox01SCRIPT

ref target

begin onTriggerActor

	set target to getActionRef

	target.kill

end
- Tuer le joueur : variante de ce script

Code : Tout sélectionner

scn AARExempleActtriggerBoxScript
Begin OnTrigger player
	player.Kill
End
- Initialiser un stage de quête lorsque le joueur passe :

Code : Tout sélectionner

scn AARExempleActtriggerBoxScript
Begin OnTrigger player
; Par exemple pour passer du stage 10 au stage 23
	if (GetStage MaQuete == 10)
		SetStage MaQuete 23
	endif
End
- Déclencher un objet activable (activateur, porte, PNJ, container....)

Code : Tout sélectionner

scn AARExempleActtriggerBoxScript

ref Parent ; ici notre boîte devra être une ref persistente dont la ref parente sera l'objet à activer
ref Target

Begin OnTriggerActor
	set Parent to GetParentRef
	set Target to GetActionRef
	Parent.Activate Target
End
A vous de voir quel genre de script vous voulez utiliser ! Le dernier script est semblable à celui que j'utilise pour les entrées des grottes d'araignée dans mon mod "Les Reliques de Valknar". Des fois on utilise un static comme porte mais il n'est pas nécessairement activable (par exemple s'il n'y a pas de boîte de collision définie dans le meshe parceque pas prévu pour).
Avatar du membre
Karaiq
Traducteur en herbe | Moddeur en herbe
Traducteur en herbe | Moddeur en herbe
Messages : 1548

Re: Tuto - AVANCE - Boîte de déclenchement

Message par Karaiq »

Superbe, je me suis amusé avec ça, mais j'ai cependant un petit problème.

J'ai lié le script suivant à une boîte du genre :

Code : Tout sélectionner

scn			AAUliIntelligenceTrig


Begin OnTrigger AAUliArrowRef

	AAUliIntelligenceRef.enable
	AAUliIntelligenceCBRef.disable

End
Or, quand je tire la flèche AAUliArrowRef dans la boîte de déclenchement, ce qui devrait se passer ne se passe pas... Une solution ? :mrgreen:
Avatar du membre
beeratwork
Légende de la Confrérie
Légende de la Confrérie
Messages : 1881

Re: Tuto - AVANCE - Boîte de déclenchement

Message par beeratwork »

Heu... OBSE n'a pas des fonctions pour les projectiles ? Les flèches sont des projectiles.
file:///C:/Program%20Files/Bethesda%20Softworks/Oblivion/obse_command_doc.html#Projectile

Sinon, peut-être essayer avec un bloc du genre "Begin OnHit" et mettre l'ID/ref de la flèche ??? Si tu veux détecter la collision de l'épée en fer sur l'épaule d'un PNJ, c'est un bloc de détection de frappe, et non de collision, qu'il faut utiliser...donc à tester.
Répondre

Retourner vers « Modder Oblivion »