Ascensseurs, tourelles et portes rotativesSommaireInsérer un ascensseur
Créer des tourelles
Créer une porte rotative Comment créer un ascensseurQuelle est la différence entre une porte coulissante et un ascensseur? Aucune, ils utilisent la même entité:
func_door. La seule différence réside dans le fait que votre porte au lieu de se déplacer à gauche ou à droite, elle se déplacera de haut en bas. D'abord créer votre ascenseur de toute pièce. Il peut ressembler à n'importe quoi, c'est vous qui voyez. Si vous voulez que votre ascensseur possède des textures transparentes sautez ce passage.
Si il n'en possède pas, sélectionnez tous les éléments qui composent l'ascensseur et qui vont se déplacer. Faites
group et ensuite
Tie To Entity, et choisissez
func_door.
Si il possède des textures transparentes, séléctionnez tous les objets avec ces textures et faites
Tie To Entity, sélectionnez
func_door, et définissez la transparence. Ensuite slectionnez tous les objets avec des textures "normales" et faites
Tie To Entity. Choisissez l'entité
func_door. Ensuite tous ce qui sera expliqué après devra etre appliqué à ces deux ascenceurs DISTINCTS.
Commencez par choisir la direction que prendra l'ascensseur. Juste à coté du cercle noir pour l'angle, sélectionnez
down (vers le bas) ou
up (vers le haut). Ensuite vous pourrez choisir la vitesse dans
Speed, puis les sons dans
move sound et
stop sound. Donnez lui un nom dans name et créer un bouton (qui ne se trouvera pas sur l'ascensseur mais à coté) pour le déclencher, n'oubliez pas de mettre un certain délai afin que le joueur puisse avoir le temps de rentrer dedans. Mettez des boutons en haut et en bas si vous voulez qu'il puisse remonter et cochez l'option
Toggle dans les Flags. Si vous ne voulez pas que l'ascensseur remonte tout seul, choisissez
Stay Open dans
Delay before close. Enfin chose la plus importante définissez Lip. Cela permettra de savoir à quelle distance l'ascensseur s'arretera. En fait si
Lip =
0, il déscendra (ou montra) une fois sa taille. Si vous voulez qu'il fasse plus de chemin entrez la valeur correspondant à la
hauteur de la cage d'ascensseur - la taille de l'ascensseur. Pour connaitre la taille de la cage, faites comme si vous alliez créer un nouvel objet. Modifiez sa taille afin qu'il soit aussi grand que la hauteur de la cage. Alors regardez en bas à droite vous pourrez voir la taille de votre objet:

ici, la hauteur est de 691.
Faites de même pour connaitre la taille de l'ascensseur et vous pourrez connaitre la valeur à entrez dans
Lip.
Comment créer une TourelleAvant d'insérer une entité vous devez créer votre tourelle de toutes pièces. Sachez aussi qu'elle doit se composer d'un canon, d'un socle et d'un "pied". Lorsque vous avez créé tout cela ajouter un autre objet qui servira de lien entre le pied et le canon, c'est à dire le point d'attache autour duquel la tourelle pourra être manipulée. Cet objet doit avoir absolument la texture "
Origin". De plus le canon doit OBLIGATOIREMENT être pointé vers l'angle 0 (vers la droite). Ensuite sélectionnez les objets formant le canon et le bloc Origin (sans le pied et le socle). Faites Proprieties et dans l'onglet
VisGroup faites Edit Groups puis New Group. Sélectionnez ensuite le
VisGroup que vous venez de créer et faites
Tie To Entity. Vous avez le choix entre 4 types de tourelles: func_tank, func_tanklaser, func_tankmortar et
Func_tankrocket.
Func_tankCette fonction permet de créer une tourelle qui lancera des balles de fusil ou de mitraillette.
Name: Nom de la tourelle.
angle: Votre tourelle est tournée vers la droite dans WorldCraft et cette fonction définit l'angle du canon dans le jeu.
yaw rate: vitesse avec laquelle tournera le canon horizontalement.
yaw range: Amplitude horizontale du canon, la valeur en degré que vous rentrerez définira la moitié de l'amplitude total (pour 90° il faut mettre 45, soit 45° à gauche et 45° à droite)
pitch rate: vitesse à laquelle tournera le canon verticalement.
pitch range:Identique à
yaw range mais pour l'amplitude verticale.
barrel length: longeur du canon par rapport à l'origine. Les munitions, au lieu de partir de l'origine, partiront ainsi au bon endroit!
barrel horizontal: si votre canon est plus à droite ou plus à gauche que l'origine, vous pouvez modifier ce chiffre.
barrel vertical: Idem mais pour la distance verticale.
flash sprite: Sprite affiché au bout du canon: "
sprites/X.spr" où X peut prendre les valeur:
muzzleflash,
muzzleflash1,
muzzleflash2 ou
muzzleflash3.
sprite scale: échelle du sprite précédent.
rotate sound: son généré lorsque la tourelle tourne.
rate of fire: vitesse de tir.
damage per bullet: puissance de feu (points de vie enlevés).
firing persistance: inertie du tir. Plus le chiffre est grand, puis le canon continuera à tirer après l'arrêt.
bullet accuracy: créé un cone de présision de tir plus ce cône est large plus plas précision de tir est faibler.
bullets: type de munitions.
Minimum et Maximum Target Range: ces deux fonctions permettent de choisir la distance minimal et maximal des tirs.
Smoke sprite: sprite de fumé, on l'utilise surtout pour les mortar et les rockets
Enfin enclenchez l'option Controlable dans les Flags.
Funk_tanklaser
Cette fonction permet de créer une tourelle laser. Elle est identique à la préscendante sauf que dans env_laser entity mettez laser et ajouté une entité env_laser à coté de la tourelle et entrez les valeur:
Name: laser.
Target of laser: nom de la tourelle
Brightness : transparance du laser, environ 100
Beam Color: couleur du laser
Width of Beam: taille du laser, environ 50
Amount of noise: mettez 10 envrion mais je ne sais pas à quoi cela sert
Sprite Name: sprite du laser , le meilleur que j'ai trouvé est "sprites/laserbeam.spr". Les autres sont bof
Texture scroll Rate: Vitesse de défilement de la texture du laser, environ 35
Starting Frame: définit le numéro de la frame du laser à laquelle il commence
Damage/second: dommages par seconde.
Func_tankmortar
Cette fonction permet de créer une tourelle qui lance des obus. Entrez une valeur pour "Explode Magnitude" et smoke sprite (facultatif) : "sprite/X.spr" où X peut prendre les valeurs: ballsmoke, steam1, stmbal1.
Func_tankrocket:
Cette fonction permet de créer une tourelle qui lance des rockets. Entrez une valeur pour Explode Magnitude et smoke sprite (facultatif).
Ensuite créer un bloc qui servira de trigger depuis lequel le joueur pourra controller la tourelle. Faites Tie To Entity et créer une nouvelle fonction en remplacant le nom de celle déjà écrite par "func_tankcontrols", cette fonction n'a pas été intégré à worldcraft mais existe dans Half-life. Supprimmez (delete) tous les éléments présents et créez une nouvelle variable en appyant sur Add: "target" et entrez comme valeur le nom de la tourelle. Créez cet objet suffisament mince et près de la tourelle.
Vous pouvez aussi ajouter des sons. Ajoutez une entité "ambient_generic" dont le nom sera identique à la variable Target de la tourelle. Ainsi chaque fois que la tourelle tirera on entendra un son. Entrez aussi dans path/filename of wav, ambience/X.wav où X peut prendre les valeurs: biggun1 (canon), biggun2 (canon), biggun3 (mortar). ou encore dans weapons/X.wav: explode3 (mortar), explode4 (mortar), explode5 (mortar), mortar (mortar), rocketfire1 (rocket) et egon_windup2 (laser).
Et si vraiment vous avez trop de mal, vous pouvez trouver des tourelles en préfab factories.
Comment créer une porte rotative
Comme toutes les fonctions comportant un mouvement de rotation (tourelle, porte rotative, train...), les portes rotatives doivent posséder un objet qui sert de centre de la rotation. Pour faire une porte rotative commencez par créer votre porte. Ensuite créer un petit objet qui doit entierement recouvert de la texture "Origin". Placez cet objet par exemple aux emplacements des gonds d'une porte. Ensuite séléctionnez tous les objets composants la porte (avec l'objet origin) et faites "propriétées". Allez dans l'onglet Vis Group et faites edit group, puis new group. Donnez lui un nom (n'importe lequel ça n'a pas d'importance). Ensuite faites Tie To Entity, et choisissez la fonction func_rotating_door.
Pour définir la direction de la rotation vous devez faire attention à certaines choses: Tout d'abord entrez l'angle en degré de la rotation dans le champ distance (deg). Par exemple 90 ou -90 selon si votre rotation doit se faire dans le sens trigonométrique ou direct. Si vous voulez que votre porte s'ouvre dans le sens vertical ou horizontal (se tourne vers le sol), vous devez choisir respectivement soit l'axe Y ou l'axe X dans les flags. Il y a aussi un flag qui permet d'inverser le sens de la rotation, il s'agit de Reverse Dir. Attention donc à ne pas vous tromper de sens quand vous choisirez une valeur positive ou négative pour le champ Distance (deg) . Enfin toutes les autres options très simples sont expliqués dans le listing qui suit:
Name: nom de la porte
Render Fx: effets de transparence
Render mode: type de transparence
FX Amount: valuer de la transparence
FX Color: couleur de l'objet
Global Entity Name: nom global de l'entité en cas d'utilisation d'un env_global.
Speed: vitesse d'ouverture de la porte
Master: nom commun utilisé en cas de multisource
Move sound: son quand la porte se déplace
Stop sound: son lorsque la porte s'arrete
Delay before close: temps avant que la porte se referme (pour qu'elle reste ouverte choisissez: stay open)
Lip: une fois que la porte aura fini sa rotation elle pourra encore se déplacer de la distance que vous indiquerez
Damage inflicted when blocked: dommages quand le joueur se fait coincer par la porte.
Message if triggered: message affiché quand la porte s'ouvre (idem que la fonction env_message)
Target: déclenche une entité
KillTarget: détruit une entité
Distance (Deg) : distance en degré de la rotation, cette valeur peut être positive ou négative
_minlight : niveau de lumière minimum (pour eviter de se faire squishé par une porte s'il fait trop noir)
Pitch Yaw Roll (XYZ) : angle de la porte (en fonction de l'emplacement de l'objet origin)
FLAGS
Starts Open: ouvert dès le départ
Reverse Dir: change le sens de la rotation
Passable: la porte est visible mais elle n'est pas solide
One-way: la porte ne peut s'ouvrir que d'un seul coté
Toggle: la porte s'ouvre dès que le joueur s'approche d'elle.
X axis: change le plan de la rotation (à l'origine c'était Z)
Y axis: idem mais dans le plan Y
Use Only: le joueur doit appuyer sur le bouton "utiliser" pour ouvrir la porte
Monsters' can't: les monstres ne peuvent pas utiliser cette porte
je ne sais pas qui
réedité par DaRiO