TESCS2 : Marker

De Wiwiki
Révision datée du 6 septembre 2010 à 19:39 par Mike89 (discussion | contributions) (Name du mapmarker et précisions sur MoveTo)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche


Les marqueurs sont des statiques aux propriétés particulières. Ce sont des WorldObjects hardcodés. Ce sont donc des objets de base créés dans l'exécutable d'Oblivion, et non pas dans le master Oblivion.esm. Ces objets ont donc tous un FormID inférieur à 00000800.

Dupliquer ces objets (la base) dans un mod ne sert à rien. Les procédures ne fonctionnent que sur des références aux objets de base d'origine hardcodés.

Certains markers peuvent être posés directement dans le monde (mapmarker, XMarker...). D'autres sont ajoutés automatiquement avec d'autres objets dont le modèle NIF contient la description de ces markers, comme les portes (door), le mobilier (furniture)...

Les markers sont des références persistantes, chargées en permanence dans le jeu et peuvent dont être à tout moment joignables, en particulier par script.

Liste des types de Markers

En voici la liste, avec pour chaque type le FormID de la base :

(Door) PrisonMarker - 00000004

(Static) DivineMarker - 00000005

(Static) DoorMarker - 00000001

(Static) FurnitureMarker.. - 000000064 à 77

(Static) HorseMarker - 00000012

(Static) MapMarker - 00000010

(Static) NorthMarker - 00000003

(Static) TempleMarker - 00000006

(Static) TravelMarker - 00000002

(Static) XMarker - 0000003B

(Static) XMarkerHeading - 00000034

Astuce : pour accéder rapidement aux différents marqueurs, élargissez la petite colonne (juste à coté de l'editorID) 
afin de voir le FormID, et faites un tri de l'object Windows sur cette colonne. Les objets hardcodés apparaitront 
en tête de chaque type d'objet. Les marqueurs sont des statics, sauf le PrisonMarker qui est un Door.

Leur descrition détaillée est donnée dans les paragraphes suivants.


DivineMarker

Non utilisé directement dans Oblivion.esm

(A compléter... éventuellement si vous savez à quoi çà sert)

DoorMarker

Non utilisé directement dans le TESCS - Chaque référence de porte crée automatiquement un DoorMarker.

Si vous créez un nouveau modèle de porte avec un logiciel 3D (Blender, 3DS Max), il faudra incorporer le DoorMarker avec Nifskope dans votre fichier NIF.

FurnitureMarker

Il existe 20 sous-types de "FurnitureMarker" en tant qu'objets de base nommés FurnitureMarker01 FurnitureMarker20, non utilisables directement dans le TESCS. Chaque type de FurnitureMarker définit une façon de s'assoir ou de se coucher pour les modèles de lits ou de sièges (catégorie d'objets de base "Furniture").


Script

La fonction GetFurnitureMarkerID retourne la valeur du type de marker utilisé par le PJ ou le PNJ.
Elle est utilisée par les conditions des IdleAnimations, pour déterminer l'animation à jouer.

Les lits

Les FurnitureMarker 01 à 10 définissent les façons de se coucher et sont associés chacun à une animation. Seuls les nos 01 à 04 sont utilisés dans Oblivion. Les numéros de markers présents dans le NIF apparaissent dans la liste de cases à cocher des lits et couchages (Objets de base de la liste WorldObjects / Furniture).

Les façons de se coucher prédéfinis dans Oblibion sont :
- 01 se coucher (se lever) par le coté gauche du lit - Marker Sleep 01
- 02 se coucher (se lever) par le coté droit du lit - Marker Sleep 02
- 03 se coucher (se lever) par le coté du sac de couchage - Marker Sleep 03
- 04 se coucher (se lever) par la tête du sac de couchage (Crawl) - Marker Sleep 04

Chaque type de marker utilisé pour se coucher déroule l'animation appropriée du personnage (voir les conditions des Idle Animations dans le Gameplay du TESCS2).

En particulier les animations :
- BedLeft_Enter.kf et BedLeft_Exit.kf
- BedRight_Enter.kf et BedRight_Exit.kf
- BedrollEntry_Side.kf et BedrollExit_Side.kf 
- BedrollEntry_Crawl.kf et BedrollExit_Crawl.kf
Les vampires ont des animations particulières.

Les animations pour les lits et les sacs de couchages diffèrent par l'altitude à laquelle aboutit l'animation du PNJ. De nouveaux modèles NIF de lits doivent respecter les cotes de hauteur, à moins de bâtir de nouvelles animations, de les associer à un nouveau n° de FurnitureMarker (les nos 5 à 10 sont disponibles), et de paramètrer les conditions des nouvelles IdleAnimations dans le TESCS2.

Les sièges

Les FurnitureMarker 11 à 20 définissent les façons de s'asseoir et sont associés chacun à une animation. Seuls les nos 11 à 14 sont utilisés dans Oblivion. Les numéros de markers présents dans le NIF apparaissent dans la liste de cases à cocher des sièges (Objets de base de la liste WorldObjects / Furniture).

Les façons de s'asseoir prédéfinis dans Oblibion sont :
- 11 s'asseoir (se lever) par le coté gauche du siège - Marker Sleep 11
- 12 s'asseoir (se lever) par le coté droit du siège - Marker Sleep 12
- 13 s'asseoir (se lever) par l'arrière du siège - Marker Sleep 13
- 14 s'asseoir (se lever) par l'avant du siège - Marker Sleep 14

Chaque type de marker utilisé pour se coucher déroule l'animation appropriée du personnage (voir les conditions des Idle Animations dans le Gameplay du TESCS2).

En particulier les animations :
- Chair_LeftEnter.kf et Chair_LeftExit.kf
- Chair_RightEnter.kf et Chair_RightExit.kf
- Chair_BackEnter.kf et Chair_BackExit.kf 
- Chair_ForwardEnter.kf et Chair_ForwardExit.kf
Il existe des animations particulières pour Sheogorath.

Les tabourets permettent de s'asseoir selon les 4 façons disponibles. Une chaise également, sauf par l'arrière. Un fauteuil seulement par l'avant (accoudoirs), etc.

HorseMarker

(A compléter)

MapMarker

Il y a un seul mapmarker appelé tout simplement "Mapmarker" dans les objets statics.

C'est un objet de base qui n'entre dans aucune des sous-catégories d'objets placées en dessous de Static. Dans l'Object Windows, il faut sélectionner le type d'objets Static dans la catégorie WorldObjects, puis chercher Mapmarker dans l'ordre alphabétique de la liste affichée.

Pour ajouter un MapMarker dans un mod, par exemple près d'une nouvelle maison ou d'une nouvelle ville, il suffit de créer une référence de mapMarker en la déposant par un "cliquer-déplacer" depuis le mot "MapMarker" de l'ObjectWindows vers la fenêtre de rendu, à coté de l'endroit à marquer. La référence ainsi créée est matérialisée par un parallélépipède-rectangle rouge.

Propriétés

Les propriétés particulières de chaque mapmarker sont dans sa référence. Un double-clic sur le MapMarker dans la fenêtre de rendu, ou Clic-droit / Edit affiche la fenêtre REFERENCE. L'onglet Marker-Data contient les informations :

  • Case Marker Data : à cocher pour pouvoir paramétrer le marker ;
  • Name : champ texte à afficher sur la carte avec le curseur - Ce nom doit être obligatoirement renseigné ;
  • Type : permet de choisir l'icône prédéfini à afficher, parmi 11 modèles ;
  • Visible : cocher cette case pour rendre le marker visible sur la carte dès le début du mod ;
  • Can Travel To : cocher cette case pour activer le fast-travel vers le Marker.
Attention : ne pas mettre de Name peut vous donner un joli plantage à l'affichage !!!

Script

Activation-désactivation par script : voir la fonction ShowMap

North Marker

Utilisé pour orienter les cellules intérieures, en correspondance avec l'extérieur... (Orientation de la carte).

PrisonMarker

C'est le seul type de marker qui ne soit pas un static. Il est de la catégorie des portes (Door) parce-qu'il permet une téléportation du prisonnier.

Un prison comporte deux PrisonMarkers, l'un dans une cellule de la prison, l'autre à la sortie de la prison. L'onglet Teleport dans la fenêtre référence établit le lien entre les deux marqueurs.

Lorsque le PJ est arrêté il est envoyé à la prison la plus proche (sauf script particulier qui modifierait la destination). Lors de sa libération, il est téléporté jusqu'au marqueur de la sortie de prison.

Dans le TESCS, les PrisonMarkers sont représentés par une grosse cage noire.


Script

Fonction GotoJail
Fonction PayFine

TempleMarker

Non utilisé directement dans Oblivion.esm

Utilité ? (A compléter)

Travel Marker

Non utilisé directement dans Oblivion.esm

Utilité ? (A compléter)

XMarker

Le plus courant des markers...


Script

Fonction MoveToMarker ou MoveTo 
Utile pour bouger la référence appelante (PJ, PNJ, objet quelconque mais persistant) à proximité de la référence désignée.
La référence de destination peut être un XMarker, XMarkerHeading ou toute autre référence persistante dans le monde.


XMarkerHeading

Un autre marker courant. Lorsqu'un personnage est téléporté en direction d'un XMarkerHeading, il est tourné en direction de la flèche du marker.

Voir également