Je remercie donc l'auteur de ce vmf très complet et très clair. Si par ailleurs il est disponible je serais heureux de faire sa connaissance (contacte moi par msn).
Tout d'abord commencer par modéliser votre ascenseur que vous mettez en func_tracktrain et que vous nommerez comme vous le désirez.
Vous devez créer ensuite les boutons à chaque étage, là ou vous désirez que votre ascenseur s'arrête. Chacun de ces boutons doivent être une entité func_button que vous régler de façon suivante :
Name : donnez le nom de votre bouton de porte
Delay before reset : mettez entre 3 à 5 secondes sinon votre bouton ne reviendra pas à sa position initiale.
Dans les flags cochez : Don't move et Use activate.
Une fois fait vous devez aussi créer les boutons à l'intérieur de votre ascenseur. commencer par modéliser votre panneau de bouton puis vos boutons, passez ensuite chaque bouton en entité func_button et régler les comme suit :
Name : nom de votre bouton (étage) dans l'ascenseur
Parent : mettez ici le nom de votre ascenseur
Delay before reset : mettez un chiffre de 3 à 5
Créer ensuite autant d'entité path_track que vous avez d'étage. Le sommet de chaque path_track doit être à la même hauteur que le sol de vos étage sinon l'ascenseur s'élèvera au dessus de votre étage créant par la même occasion une marche parfois impossible à franchir. Chaque path_track doit être configuré comme suit :
Name : nommez vos path_track par rapport à vos étages (track01 pour l'étage 1, etc.)
Next stop target : mettez pour chaque path_track le nom du path_track de l'étage supérieur et celui du 1er étage sur le dernier
Orientation type : sélectionner Face direction of motion
Créer enfin les portes coulissantes pour chaque étage (qui ne sont pas reliées à l'ascenseur) et nommez les selon vos étages.
Nous allons maintenant en venir à la partie la plus longue. Vous allez devoir créer tout un tas d'entités qui vous permettrons de gérer votre ascenseur, vos portes et vos boutons. Tout d'abord vous allez commencer par créer une entité logic_compare devant chacune de vos portes, celà afin de gérer l'ouverture des portes selon que l'ascenseur s'arrête à un étage ou pas. Configurez les logic_compare de la manière suivante :
Name : donnez un nom en conséquence de votre étage (doorlogic01 pour l'étage 1, etc)
Initial value : 1
Compare value : 1
Dans les Outputs vous allez ajouter des commandes comme suit :
Output named : OnEqualTo
Target : le nom de votre porte. si vous avez fait 2 portes pensez bien à faire un output pour chaque porte
Via : Open
Créer ensuite pour chaque étage une entité logic_relay que vous configurez de la manière suivante :
Name : nom de votre relay (doorbuttonrelay01 pour l'étage, etc.)
Dans les outputs de chaque logic_relay vous allez ajouter ceci :
Output named : OnTrigger
Target : logic
Via : SetCompareValue
Parameter : X (l'étage de votre relay)
Output named : OnTrigger
Target : EnableInput
Via : SetValueSet
Output named : OnTrigger
Target : logic
Via : Compare
Delay : 0.01
Toujours pour chaque étage, à côté des logic_relay vous allez créer une nouvelle entité logic_branch que vous configurez comme suit :
Name : nommez en fonction des étages (doorbuttonlogic01 pour l'étage 1, etc.)
Dans chaque logic_branch vous allez rajouter les outputs suivants :
Output named : OnFalse
Target : doorbuttonlogicX (ou X est égal à votre étage supérieur, 2 pour l'étage 1, 3 pour l'étage 2, etc. sauf pour le dernier étage que nous verrons plus loin)
Via : Test
Output named : OnTrue
Target : doorbuttonrelayX (ou X est égal à l'étage de votre entité, 1 pour l'étage 1, etc.)
Via : Trigger
Output named : OnTrue
Target : doorbuttonlogicX (ou X est égal à votre étage supérieur, 2 pour l'étage 1, 3 pour l'étage 2, etc. sauf pour le dernier étage que nous verrons plus loin)
Via : Test
Delay : 0.05
Pour le dernier étage vous devez configurer votre logic_branch comme suit :
Output named : OnTrue
Target : doorbuttonrelayX (X étant le dernier étage)
Via : Trigger
Nous allons maintenant nous occuper des boutons et autres concernant la plateforme de l'ascenseur. Vous devez déjà avoir votre panneau de bouton accroché à votre ascenseur avec dessus autant de boutons que d'étage (voyez plus haut pour la configuration de ces boutons). Vous allez créer une entité logic_relay et une entité logic_branch pour chacun de vos boutons que vous configurez comme suit :
pour les logic_relay
Name : nommez le (elevatorbuttonrelay01 pour l'étage 1, etc.)
outputs des logic_relay
Output named : OnTrigger
Target : logic
Via : SetCompareValue
Parameter : 1
Output named : OnTrigger
Target : EnableInput
Via : SetValueTest
Delay : 0.01
Output named : OnTrigger
Target : logic
Via : Compare
Delay : 1.00
pour les logic_branch
suivez le même procédé que pour les logic_branch de chaque étage en faisant bien attention pour le dernier étage qui est un peu différent).
Créez maintenant un logic_compare à côté des autres logic_XXX de votre ascenseur que vous configurerez comme suit :
Name : logic
Initial value : 1
Compare Value : 1
Outputs :
Output named : OnEqualTo
Target : ascenseur (le nom de votre ascenseur)
Via : Stop
Output named : OnEqualTo
Target : doorlogic01 (le nom de votre logic_compare des portes de l'étage 1)
Via : Compare
Delay : 0.50
Output named : OnEqualTo
Target : doorlogic02 (le nom de votre logic_compare des portes de l'étage 2)
Via : Compare
Delay : 0.50
Output named : OnEqualTo
Target : doorlogic03 (le nom de votre logic_compare des portes de l'étage 3 continuez insi pour chaque étage si vous nen avez plus de 3)
Via : Compare
Delay : 0.50
Output named : OnGreaterThan
Target : ascenseur (le nom de votre ascenseur)
Via : StartBackward
Output named : OnLessThan
Target : ascenseur (le nom de votre ascenseur)
Via : StartForward
Passons enfin à la dernière entité. Créez une entité logic_branch que vous placerez proche des dernières que vous venez de créer et que vous configurerez comme suit :
Name : enableInput
Initial value : 1
Outputs :
Output named : OnFalse
Target : elevatorbuttonrelay01
Via : Disable
Ajoutez en autant de fois que d'étage à votre bâtiment en faisant attention à bien nommez vos cibles selon les étages
Output named : OnTrue
Target : elevatorbuttonrelay01
Via : Disable
Ajoutez en autant de fois que d'étage à votre bâtiment en faisant attention à bien nommez vos cibles selon les étages
Output named : OnFalse
Target : doorbuttonrelay01
Via : Disable
Ajoutez en autant de fois que d'étage à votre bâtiment en faisant attention à bien nommez vos cibles selon les étages
Output named : OnTrue
Target : doorbuttonrelay01
Via : Disable
Ajoutez en autant de fois que d'étage à votre bâtiment en faisant attention à bien nommez vos cibles selon les étages
Voilà dans la logique des choses vous devriez réussir à avoir un ascenseur qui monte sur plusieurs étage et surtout qui s'arrête à l'étage désiré par la simple pression sur un bouton. Les portes de chaque étage doivent s'ouvrir selon que l'ascenseur s'arrête ou pas devant elles.
Un tutorial qui n'est pas simple à mettre en oeuvre mais qui permettra à tous d'avoir autrechose que ces satané plateforme sur 2 étages
. Merci encore à Sh4rk pour m'avoir trouvé LA seule personne qui se soit intéressé aux ascenseur (je ne connais malheureusement pas son pseudo mais je le remercie du fond du coeur
Je reste à votre disposition pour d'éventuelles questions d'ordres techniques
Hackrow
tdlboss@hotmail.com
j'vai bientôt pouvoir partir au sky alors ?
super tuto par contre si tu veux un ftp demande à tarkiss
sisi tarkiss c ton devoir c marquer là en tout petit 






