|
Voleur |
|
Inscription : Dim Juin 24, 2007 12:22 pm Message(s) : 338 Localisation : Paris
|
Comment faire pour que Garrett ait une lanterne (Section "Garrett et les lumières dynamiques" du tutoriel de Spike14)
LE TUTORIEL DE SPIKE14 EST POUR DROMED 1.32 (mais marche peut-être pour DROMED 2 et DEDX)
Ok, alors d'abord je tiens à préciser que je n'ai pas tester cette manip, et de plus ma traduction a sûrement des erreurs (les "edit:" entre parenthèses sont mes rajouts) donc si quelqu'un pouvait lire et tester cela...
Dans un premier temps, allez dans la hiérarchie des objets, et créez une nouvelle metaproperty, appelez la “MoveAndScript”.
Mettez cette propriété dessus:
Add>Engine Features>FrobInfo: Move,Script;[None];[None]
Créez un roombrush et une blueroom.
Créez un IA dans la blueroom, appelez le “LanternAI”.
Maintenant,ouvrez la hiérarchie et sélectionnez “Act/React Stimuli”, et créez deux nouveau stims: “PassItOn”, et “LanternFStim”. Ensuite sauvegardez votre gamesys, et redémarrez DROMED.
Allez dans votre blueroom roombrushé, créez quatre boutons. Créez deux: physical>Lights>lanterns>lantern, à partir de la hiérarchie. Nommez la première: “UnlitLantern”, et la seconde “LitLantern”.
Ajoutez les propriétés suivantes à “UnlitLantern”:
Inventory>Can’t Drop This: TRUE
Inventory>Object Name: Name:“Lantern: Off”
Inventory>Type: Item
Renderer>Light: 0;0;0;0
S>Scripts: StdButton;;;;FALSE
Engine Features>FrobInfo: Script;[None];[None]
Metaproperty>MoveAndScript (uniquement si vous prévoyez que le joueur ramasse la lanterne)
Et ajoutez ces propriétés à “LitLantern”:
Inventory>Can’t Drop This: TRUE
Inventory>Object Name: Name:“Lantern: On”
Inventory>Type: Item
Renderer>Light: 0;0;0;0
S>Scripts: StdButton;;;;FALSE
Engine Features>FrobInfo: Script;[None];[None]
Metaproperty>MoveAndScript (uniquement si vous prévoyez que le joueur ramasse la lanterne)
Maintenant, placez “UnlitLantern” quelquepart et ,soit, A. le joueur la ramasse. , ou B. Liez le au StartingPoint avec un lien “Contains”(le joueur l'a dès le début).
Si “A”, Il ya une étape supplémetaire…qui sera mentionné plus tard.
Maintenant, créez trois marqueurs (fnord>Marker), 4 trappes de téléportation (fnord>TrapTrig>TeleportTrap), 4 boutons (physical>Gizmo>Switches>Buttons>Button), et un OmniLightPoint (fnord>HackLight>OmniLightPoint).
Lisez le sujet “Conversations”.
Ajoutez les propriétés suivantes aux 3 marqueurs (nommez les: “UnliteLantern”, “LiteLantern”, et “AddRemoveLinks”):
S>Scripts: TrapConverse;;;;FALSE
AI>Conversations>SaveConversation: TRUE
Liez chaque marqueur à “LanternAI”, avec un lien “AIConversationActor”…réglez la valeur sur “1” pour chacun.
Ensuite, nommez les boutons: “RealButton”, “OmniButton”, “UnlitButton”, et “LitButton”.
Name the TeleportTraps: “RealTele”, “OmniTele”, “UnlitTele”, and “LitTele”.
Liez chaque bouton à sa trappe de téléportation respective (edit:TeleportTrap) avec un lien “ControlDevice” (“LitButton” à “LitTele”, etc.).
Nommez le OmniLightPoint: “RealLantern”.
Liez chaque trappe de téléportation à sa lanterne respective…vous remarquerez qu'il vous en reste encore une (“OmniTele”)…liez la à “RealLantern”…tous les liens ont “ControlDevice” comme flavour.
Ensuite ajoutez les propriétés suivante à “RealLantern”:
Renderer>Self Lit: 250
Renderer>Light: 0;0;0;0
Maintenant on va donnez une source à “RealLantern”, ce qui lui permettra de suivre Garrett partout, alors, ouvrez ses propriétés, et allez dans Add>Act/React>Sources.
Cliquez sur “Add”, et une fenêtre apparaîtra…remplissez la comme suit:
Name: RealLantern
Stimulus: LanternFStim
Propagator: Radius
Intensity: 1
Edit Shape>Radius: 8
Edit Shape>Flags: [None]
Edit Shape>Dispersion: None
Edit Life Cycle>Flags: No Max Firings
Edit Life Cycle>Period: 100
Edit Life Cycle>Max Firings: 1
Edit Life Cycle>Intensity Slope: 0
Cliquez sur “OK” pour ajoutez cette source…ensuite ajoutez une AUTRE source:
Name: RealLantern
Stimulus: LanternStim
Propagator: Radius
Intensity: 50
Edit Shape>Radius: 50
Edit Shape>Flags: Line of Sight (raycast)
Edit Shape>Dispersion: Linear
Edit Life Cycle>Flags: No Max Firings
Edit Life Cycle>Period: 100
Edit Life Cycle>Max Firings: 1
Edit Life Cycle>Intensity Slope: 0
Pressez “OK” pour ajoutez cette source, puis appuyez sur “OK” pour fermer la fenêtre des sources…si elle réapparait, réappuyez simplement sur “OK”…c'est un bug!
Maintenant pour que ce stim puisse permettre à “RealLantern” de suivre Garrett, on a besoin de faire recevoir à Garrett le stim et agir de facon appropriée! Alors ouvrez la hiérarchie et sélectionnez physical>Avatar>Garrett (-2099), et appuyez sur “Edit”.
Ensuite cherchez une propriété nommé “Receptrons”. appuyez sur “Edit” (Garrett a déjà des receptrons, donc le jeu bugguerait si on ajoutait encore “Receptrons”…Si une propriété existe, faites juste edit, NE FAITES PAS add…sauf si la propriété est hiérarchisé…dans ce cas faites add!).
Maintenant appuyez sur “Add” pour faire un nouveau receptron!
Une grande fenêtre va s'ouvrir, remplissez la comme suit:
Name: -2099
Stimulus: LanternFStim
Min: 0
Max: No Max (cochez la)
Effect: Teleport Object
Target Object: Source
Agent Object: Me
Edit Effect>X: 0.1
Edit Effect>Y: 0.1
Edit Effect>Z: 0.1
C'est tout!
Si vous vous rappelez de la section “Lumière dynamique”, Garrett a déjà des receptrons pour “LanternStim”. Si vous n'avait pas changé votre gamesys dans la dernière section pour l'éclairage dynamique…alors retournez à “Lumières dynamique”, et ajoutez les receptrons nécessaires à l'archétype “Garrett"…et retournez ici!
Okay, vous devriez vous souvenir qu'on a un marqueur nommé “AddRemoveLinks”…si, dans les choix A/B plus haut, vous avez choisi “B”, alors supprimez ce marqueur.
De même, si vous avez choisi “B”, liez “UnlitLantern” à “LiteLantern” via “ControlDevice”.
Sélectionnez “OmniTele”, et positionnez le pour qu'il chevauche le StartingPoint sur toutes les vues. Ensuite Add>Act/React>Sources:
Name: OmniTele
Stimulus: LanternFStim
Propagator: Radius
Intensity: 1
Edit Shape>Radius: 8
Edit Shape>Flags: [None]
Edit Shape>Dispersion: None
Edit Life Cycle>Flags: No Max Firings
Edit Life Cycle>Period: 100
Edit Life Cycle>Max Firings: 1
Edit Life Cycle>Intensity Slope: 0
Voilà, maintenant le “OmniTele” suivra Garrett.
Ajoutez une autre source à “OmniTele”:
Name: OmniTele
Stimulus: LanternStim
Propagator: Radius
Intensity: 15
Edit Shape>Radius: 1000
Edit Shape>Flags: [None]
Edit Shape>Dispersion: None
Edit Life Cycle>Flags: No Max Firings
Edit Life Cycle>Period: 100
Edit Life Cycle>Max Firings: 1
Edit Life Cycle>Intensity Slope: 0
Sélectionnez “UnlitLantern”, et “LitLantern”, dans cet ordre, et ajoutez cette source à chacun d'eux:
Name: UnlitLantern OU LitLantern
Stimulus: PassItOn
Propagator: Contact
Intensity: 1
Edit Shape>Contact: Frob in Inv
Edit Shape>Velocity Coefficient: 0
Edit Shape>Frob Time Coefficient: 0
Ensuite il faut que Garrett réagissent à la source…éditez les receptrons de Garrett à nouveau:
Name: -2099
Stimulus: PassItOn
Min: 0
Max: No Max
Effect: Frob Object
Target Object: Source
Ah, fini!
Puis, assurez vous que la “RealLantern” dans la blueroom, est AU MOINS à 8 pieds de toute zone accessible au joueur DE TOUS LES COTES, haut, bas, devant, derrière, gauche, droite, autrement des erreurs bizarres apparaitront!
Maintenant que tout est réglé, il est temps de régler les conversation!
Première chose: avez vous choisi “A” ou “B”? Si vous avez choisi “A”, continuez à lire, si vous avez choisi “B”, allez directement jusqu'au titre “Les B Commencent Ici”:
Okay les A, liez “UnlitLantern” à “AddRemoveLinks” avec un lien “ControlDevice”.
Sélectionnez le marqueur que vous n'avez pas supprimé, “AddRemoveLinks”. Il devrait déjà avoir le cadre d'une conversation (Si vous avez suivi mon tutorial mot-à-mot), le lien “AIConversationActor”, la propriété “SaveConversation”, et le script “TrapConverse”!
Add>AI>Conversations>Conversation:
STEP 00:
Action 00: Add Link
Actor One
Arg1: ControlDevice
Arg2: LiteLantern
Arg3: UnlitLantern
Action 01: Remove Link
Actor One
Arg1: ControlDevice
Arg2: AddRemoveLinks
Arg3: UnlitLantern
Action 02: Add/Remove Metaproperty
Actor One
Arg1: Remove
Arg2: MoveAndScript
Arg3: LitLantern
Action 03: Add/Remove Metaproperty
Actor One
Arg1: Remove
Arg2: MoveAndScript
Arg3: UnlitLantern
Les B Commencent Ici
Liez “LitLantern” à “UnliteLantern” avec un lien “ControlDevice”.
Sélectionnez “LiteLantern”, puis allez dans Add>AI>Conversations>Conversation:
STEP 00:
Action 00: Remove Link
Actor One
Arg1: Contains
Arg2: UnlitLantern
Arg3: Player
STEP 01:
Action 00: Frob Object
Actor One
Arg1: UnlitButton
Arg2:
Arg3:
Action 01: Add Link
Actor One
Arg1: Contains
Arg2: LitLantern
Arg3: Player
Action 02: Frob Object
Actor One
Arg1: OmniButton
Arg2:
Arg3:
On a fini la conversation(edit:That’s that conversation out of the way)…vers la prochaine conversation: sélectionnez maintenant “UnliteLantern”:
STEP 00:
Action 00: Remove Link
Actor One
Arg1: Contains
Arg2: LitLantern
Arg3: Player
Action 01: Frob Object
Actor One
Arg1: RealButton
Arg2:
Arg3:
STEP 01:
Action 00: Frob Object
Actor One
Arg1: LitButton
Arg2:
Arg3:
Action 01: Add Link
Actor One
Arg1: Contains
Arg2: UnlitLantern
Arg3: Player
Dernière, mais certainement pas la moindre, ajoutez les propriétés suivantes à “LanternAI”:
Add>AI>AI Core>Team: Neutral
Ensuite ajoutez les metaproperties: “M-NoBabble”, and “M-NeverEfficient”.
Allez dans le jeu et savourez!
Dernière édition par phil237 le Mer Nov 14, 2007 7:27 pm, édité 5 fois.
|
|