/!\ A LIRE AVANT TOUTE QUESTION : COMMENT QU'ON FAIT ?


kokotchy

Messages recommandés

Posté(e)

www.aide-map.fr.st

Ce topic est tout ce que nous avons pu récupérer du "comment qu'on fait" du forum avant l'apocalypse.

Merci de me laisser le temps de poster les backups avant de mettre des commentaire.

Important:

-Les questions sont INTERDITES sur ce topic, le reste du forum est là pour ça.

-Avant de poster quelque chose, vérifiez que ce n'est pas déjà fait.

-Vérifiez votre authogrâfeu, vos liens, etc. Rien de pire qu'un tuto mal présenté.

L'équipe de modération aimerait en profiter pour remercier tous ceux qui ont participé à la création de ce topic, à savoir les majorité des habitués de l'ancien forum, ainsi que tous ceux qui apporterons une contribution à l'ensemble :).

NB: a noter que sauf indication contraire, ces posts conçernent HL premier du nom. Ce qui ne veut pas forcément dire que ça ne marche plus pour HL²...

Posté(e)

[#ff0000][g]QUESTION:[/g][/#ff0000]

"Comment on fait une vitre sans tain ?" (une vitre "invisible" d'un côté).

[#0000ff][g]REPONSE:[/g][/#0000ff]

Pour faire simple, je vais simplement mettre online un ancien tuto créé par Koko (si mes souvenirs sont bons), il y a des techniques plus simples, n'hésitez pas à les poster ici. Je précise que je n'ai fait qu'un copié/collé, adressez-vous à l'auteur pour les réclamation ;).

Je confirmes qu'on peut faire plus simple, mais j'ai pas mon PC sous les yeux...

******************************

Bon, je suppose que vous avez déjà vu une vitre uni-visionelle ou sans tain dans de_vegas ou bien cs_loftstrike. Moi, je vais vous dire comment faire.

En fait, la vitre uni-visionelle est composé de 4 couches : une couche avec une texture glass (vitre) un texture invisible, une autre texture invisible et une dernière texture glass.

glass.jpg

Voici une image explicative. (Vue du haut)

Mais comment faire cela ? D'abord crée un bloc de 4 d'épaisseur avec la texture Glassblue2. Ensuite bouton droit dessus et appuyez sur hollow puis entrer 2.

Dé-groupez le bloc et choisissez un des 2 côté et appliquez-y la texture invisible.

glassinv2.jpgglassinv.jpg

A gauche la texture invisible et à droite, la texture glassblue1. Groupez les 2 textures.

Voila la première partie de la vitre. Créez-en une autre mais en inversant le côté des textures. Groupez les 2 textures.

Bon maintenant, il faut transformer c'est vitre en entité. Moi, je l'ai mis en func_breakable mais on peux aussi le mettre en func_wall. Voici les paramètres à introduire :

Vitre où l'on voit à travers:

Material type Glass

Render Mode Additive

FX Amount 150

Vitre où l'on ne voit pas à travers:

Material type Glass

Render Mode Solid

FX Amount 75

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

Une échelle,

s'il vous plait?

[#0000f0][g]REPONSE:[/g][/#0000f0]

Tu crée un bloc de quelques pixels d'épaisseur (5 pixels iront bien),

de quelques dizaines de pixels de largeur (au moins 30 pixels) et de la

longueur que tu veux.

Tu applique sur les faces de ton brush ("solide"

en anglais, bloc) la texture de ton choix (une texture d'échelle irait

bien je pense) et tu le met en func_wall ou en func_illusionnary (c'est

comme tu veux, mais sache que les func_illusionnary laissent mieux passer

les balles et projectiles).

Tu fais ensuite un solide ayant exactement

les mêmes dimensions que le précédent et tu lui applique la texture

AATRIGER. Tu le transforme en func_ladder puis tu "colle" le solide contre

l'autre solide.

Ben voilà.

EDIT: pour la texture de l'echelle,

dans properties (clic droit)

pour FX Amount vous mettez 255 pour

que l'échelle soit transparent.Render mode: Solid.

Posté(e)

[g][#ff0000]QUESTION:[/#ff0000] [/g]

"Comment on fait une vitre sans tain ? (2éme version)

[g][#0000ff]REPONSE:[/#0000ff] [/g]

Faire une vitre normale, et lui appliquer "NULL" ("NODRAW" pour le moteur HL²) du coté ou vous voulez "espionner" lachement votre adversaire....

Pour plus de réalisme, vous pouvez transformer le bloc en func_wall, et lui attribuer une valeur de FX basse (50, voir 100...)

Posté(e)

[#f00e00][g]QUESTION:[/g][/#f00e00]

Comment on fait une porte tournante?

[#0000ff][g]REPONSE:[/g][/#0000ff]

Faites un solide qui sera votre porte (de préference au moins 5 pixels

d'épaisseur, 96 pixels de haut et 64 pixels de large).

Appliquez lui

la texture que vous voulez, puis créez un bloc de 16 pixels de côté avec

la texture ORIGIN sur toute ses faces

puis mettez le milieu du

cube ORIGIN (qui va servir de charnière) sur le milieu du côté de la porte

qui restera toujours contre le mur (celui où il y a des charnières dans le

monde réel). Groupez les deux solides puis mettez-les en func_door en

faisant "Tie to entity" (ctrl + T).

Puis parametrez la porte (clic

droit, properties):

[g]Class info:[/g]

- Name: comme

pour le nom de votre map ne mettez pas d'espaces autre que "_" et pas de

caractères spéciaux. Utile si la porte a besion de boutons pour s'ouvrir.

- Target: l'objet qui va être activé ou désactivé quand la porte

est ouverte (ou activée).

- Speed: vitesse d'ouverture de la

porte.

- Delay before close: délai pour que la porte se referme.

Mettez -1 pour que la porte reste tout le temps ouverte après ouverture.

- Move sound: son de la porte quand elle s'ouvre et se referme.

- Stop sound: son de la porte juste au moment où elle se referme (

quand elle "claque").

- Damage inflicted when blocked: dommage

infligé au joueur qui bloque la porte.

- Fire on close: Objet à

activer quand la porte se ferme.

- Minimum light level: c'est pour

définir le niveau d'éclairage de la porte. 0 = aucun éclairage. 1 =

éclairage moyen. 2 = éclairage fort.

- Pitch Yaw Roll ( Y Z X):

distance sur laquelle la porte va se déplacer du centre de rotation

lorsqu'elle sera activée, ce n'est pas la même chose que l'angle

d'ouverture.

- Distance (deg): angle d'ouverture de la porte. 90°

en général.

[g]Flags:[/g]

Vous n'êtes pas obligé de

cocher dans la partie Flags.

- Start Open: porte ouvert au début

de chaque round.

- Reverse Dir: inverse la direction d'ouverture

de la porte quand l'option one-way est cochée.

- Don't link:

vérouille la porte pour toute la partie.

- Use only : la porte

s'ouvre seulement quand on utilise le bouton Utiliser (E par défaut).

- Passable: elle est pas solide la porte...

- One-way: la

porte s'ouvre toujours du même côté.

- Toggle: la porte s'ouvre ou

se ferme quand on l'active.

- X axis: la porte s'ouvre en suivant

l'axe X, par défaut la porte s'ouvrant sur l'axe Z.

- Y axis:

idem, mais sur l'axe Y cette fois.

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

Un mur invisible avec le moins de pertes de performances possibles et qui laisse passer les balles ?

[#0000f0][g]REPONSE:[/g][/#0000f0]

On crée un mur destiné à devenir invisible et on lui applique la texture "CLIP" (présente dans halflife.wad). Simplement.

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

Une belle grille qui laisse passer les balles mais pas le joueur ?

[#0000f0][g]REPONSE:[/g][/#0000f0]

On crée la grille avec une belle texture de grille (les trous en bleu...). On la converti en func_illusion. FX Amount 255 (par exemple), Render mode: Texture (d'autres modes peuvent marcher aussi, à vous de choisir). Là, la grille laisse passer les balles, mais aussi le joueur.

Puis on crée un deuxième bloc, recouvrant la grille (même taille, ou 1 pixel de plus), en lui appliquant la texture "CLIP" (pour son utilité, voir le tutorial ci-dessus). A présent, les balles passent mais pas le joueur.

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

C'est quoi les commandes spéciales pour les mappeurs présentes dans Half-Life ?

[#0000f0][g]REPONSE:[/g][/#0000f0]

Premièrement, il faut bien comprendre que ces commandes ne

fonctionnent qu'en solo, par soucis d'équité entre les joueurs.

Deuxièmement, elles doivent être lancées dans Half-Life en mode

développeur. Pour cela, lancez HL avec le paramètre "-dev" ou tappez

"developer 1" dans la console.

Troisièmement: Il faut pas vous

étonner si j'abrège un peu, je vous avais pondu une tartine et explorer a

planté, mon texte perdu alors je suis un peu furax...

Les

commandes ci-dessous fonctionnent [g]dans tous les modes

graphiques[/g]:

[#00ff00]"r_speeds 1":[/#00ff00]

Affiche les r_speeds. Pour faire simple, les

r_speeds sont le nombre de polygones CALCULES (et non pas affichés !!) en

ce moment. Contrairement aux FPS, ils ne varient pas d'une configuration à

l'autre. Je ne vais pas vous faire tout un cours sur les r_speeds, ce sera

l'objet d'un autre post.

[#00ff00]"r_drawentites 1":[/#00ff00]

Je ne sais plus si elle marche dans tous les modes ou

uniquement en software. Cette commande permet de ne plus voir les entités

calculées (sorte de mini-draworder)

Les commandes ci-dessous

fonctionnent [g]qu'en Software[/g]:

[#00ff00]"r_draworder 1":[/#00ff00]

Sorte de "Wallhack du

pauvre", cette commande permet d'afficher les polygones calculés dans

l'ordre inverse de l'ordre abituel. Cela aura pour effet de vous créer une

illusion de wallhack (vous voyez pourquoi ça marche qu'en solo ;) ) permettant de voir ce qui

est vraiment calculé. Petite démonstration pour justifier mes dires (nb:

les images ci-dessous proviennent d'une map en développement confiée par

un mappeur du forum, si il veut que je les enlève il n'a qu'à me faire

signe...)

Un morceau de la carte en r_draworer 0 (observez les

r_speeds !):

de_cstv03.JPG

Le même en r_draworder 1:

de_cstv02.JPG

Vous voyez qu'une grande partie

de la carte est calculée inutilement, cela demande une bonne optimisation.

[#00ff00]"r_drawflat 1":[/#00ff00]

Cette

commande permet de voir de quelle manière sont appliquées les textures sur

les objets. Chaque fois qu'une texture est appliquée (un "carré" fluo),

cela ajoute un polygone aux r_speeds. Une demo, tirée toujours de la même

carte:

de_cstv01.jpg

Comme vous le voyez, cela aussi

demande à être optimisé...

Les commandes ci-dessous fonctionnent

[g]qu'en OpenGL[/g]:

[#00ff00]"gl_wireframe 1":[/#00ff00]

Cette commande est l'équivalent OpenGL du

r_drawflat 1, mais au lieu de mettre des textures "fluo", elle met les

découpes en "wireframe" (fil de fer pour les anglophobes). Une démo tirée

du (fantastique !) tutorial de Lichen. Comme toujours, si l'auteur veut

que je la retire, me contacter:

480x480.jpg

[#00ff00]"gl_wireframe 2":[/#00ff00]

Cette commande,

croisement entre un draworder et un gl_wireframe affiche n'affiche pas les

polygones AFFICHES en fil de fer, mais les polygones CALCULES. Une démo

est plus claire, elle est tirée d'une de mes maps, encore en développement

(pas opti, vis en fast...):

tst01.jpg

J'espère n'avoir rien

oublié d'important. Si c'est le cas, ajoutez les commandes conçernées ;).

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

pour que les func_wall aient des ombres???

[#0000f0][g]REPONSE:[/g][/#0000f0]

Un des inconvénients des

func_wall est que la lumière passe à travers, qu'ils n'ont pas d'ombre.

Les Zhlt permettent de régler ce problème, les zhlt_lightflags.

Selectionnez le func_wall que vous voulez qu'il ai une ombre, faites

clic droit puis properties.

Dans la partie "class info" de properties,

il y a des options du type "Name" pour mettre un nom à ce func_wall. Il y

a aussi une option "Light Flags (Zhlt 2.2+)".

Vous avez le choix entre

plusieures possibilités comme "Embedded Fix" (je ne sais pas à quoi ca

sert, chuis nul en anglais) mais aussi "Opaque (Blocks Light)".

Sélectionnez cette option pour que ce func_wall ai une ombre...

[EdithKoko] Un inconvénient des zhlt_lightflags est que le temps de compile augmente (

avec ma map il est passé de 5 min à 10 min, avec Bomber-Marc de 10 min à

1h30min je crois. Ca dépend surement de la surface totale des ombres crées

avec les zhlt_lightflags...)

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

Je veus

mettre des ombres à mes func_walls ou mes func_illusions (voir mes

func_door), mais J'AI PAS LES LIGHTFLAGS.

[#0000f0][g]REPONSE:[/g][/#0000f0]

ça arrive quand on utilise

un vieux FGD qu'on a trafiqué et qu'on a pas envie d'en changer...

On va faire ça gentillement, manipuler un FGD c'est pas la chose

la plus facile à faire. Il est évident que tout ceci se fait avec WC [#f00e00]qui n'est pas lancé[/#f00e00]...

1) Ouvrir le fgd avec

notepad ou wordpad (si il est trop gros).

2) Trouver la ligne

//

// Entities

//

Juste au-dessus, ajouter

@BaseClass = ZhltLightFlags

[

zhlt_lightflags(choices) :

"Light Flags (Zoner's Tools)" : 0 =

[

0: "Normal"

1: "Embedded Fix"

2: "Opaque (Blocks Light)"

3: "Opaque + Embedded Fix"

6: "Opaque + Concave Fix"

]

]

Il peut être déjà présent, mais pas

forcément complêt. Je vous laisse le modifier si c'ets le cas.

3)

Ajoutons les ombres aux func_wall. Pour cela, localisez la ligne:

@SolidClass base(Targetname, Appearflags, RenderFields) =

func_wall : "Wall"

et remplacez la par:

@SolidClass base(Targetname, Appearflags, RenderFields,

ZhltLightFlags) = func_wall : "Wall"

Voilà, nous avons ajouté les lightflags.

4) Encore une, pour vérifier que vous avez bien compris.

Localisez:

@SolidClass base(Targetname, RenderFields) = func_illusionary :

"Fake Wall/Light"

et remplacez la par:

@SolidClass base(Targetname, RenderFields, ZhltLightFlags) =

func_illusionary : "Fake Wall/Light"

5) Vous pouvez le faire avec func_door,

et peut-être avec d'autres tel func_door_rotating, func_rotating, etc...

mais je ne les ai pas toutes testées...

Posté(e)

[#f00e00][g]COMMENT ON FAIT:[/g][/#f00e00]

J'ai vu un pote qui mappais et, pour ses trigger_camera, à la place d'un cube fluo moche, dans la vue 3D texturée de VHE/WC, il avait une belle petite caméra. Comment je fais pour avoir la même chose ?

[#0000f0][g]REPONSE:[/g][/#0000f0]

Allez, la suite du cours sur la manipulation des FGDs.

1) Il faut avoir l'image de la

caméra (un sprite) au format .spr. Je vais considérer que vous en avez

une, soit parsce qu'on vous l'a filée, soit parsce que vous l'avez créée

avec SpriteWizard (je vous expliquerais à l'occasion comment ça marche).

Placez ce sprite dans le dossier "sprites" de votre dossier VHE/WC.

2) Ouvrez votre FGD, toujours avec un editeur de texte (notepad,

wordpad).

3) Localisez la ligne:

@PointClass base(Targetx, Targetname) = trigger_camera : "Trigger

Camera"

Et remplacez la par:

@PointClass iconsprite("sprites/cam.spr") base(Targetx,

Targetname) = trigger_camera : "Trigger Camera"

En admettant que votre sprite s'appelle

cam.spr.

4) Il est à noter que cela marche aussi pour

d'autres entités. Par exemple, info_target (pour vérifier que vous avez

compris):

@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100

50) = info_target : "Beam Target" []

Devient:

@PointClass iconsprite("sprites/target.spr") base(Targetname) =

info_target : "Beam Target" []

En admettant que le sprite s'appelle

target.spr.

Notez aussi que

size(-4 -4 -4, 4 4 4) color(200 100 50)

Définit le carré qui sera sinon affiché

dans la vue 3D de VHE/WC, à savoir un carré de 8*8*8 de couleur brune dans

cec cas-là.

Posté(e)

[#f00e00][g]QUESTION:[/g][/#f00e00]

C'est quoi l'optimisation, et comment on fait?

[#0000c6][g]REPONSE:[/g][/#0000c6]

L'optimisation c'est le

fait de faire réduire les r_speeds (expliqué plus haut dans: commande special pour Half-Life) de sa map afin de la rendre jouable même avec un

pc ne possédant pas de grosse config comme dit plus haut.

Il y a beaucoup à dire sur l'optimisation et beaucoup à comprendre surtout. Voilà pourquoi je vous donne l'adresse d'un site déjà donné sur le forum mais qui comporte deux page entiere consacré à l'optimisation des map.

http://wwwetu.utc.fr/~ngadenne/gaddy/tuto/optimisation(partie1).htm

http://wwwetu.utc.fr/~ngadenne/gaddy/tuto/optimisation(partie2).htm

Posté(e)

[#f00e00][g]QUESTION:[/g][/#f00e00]

Comment on fait un

objet que l'on peut pousser ?

[#0000c6][g]REPONSE:[/g][/#0000c6]

Selectionnez votre solide, et transformez le en entite (tie to entity) func_pushable . Et je pense qu'il doit y avoir un chiffre afin de faire en sorte que l'objet

soit plus glissant...

Posté(e)

[#f00e00][g]QUESTION:[/g][/#f00e00]

Comment on fait des

nuages animés dans sa map ?

[#00ff00][g]PRECISION:[/g][/#00ff00]

Je tiend à préciser la

source de ce "tutorial": The Wall. Je l'ai traduit, étant donné sa langue d'origine (allemand). Je l'utilise dans ma prochaine map ça rend pas mal du tout.

[#0000c6][g]REPONSE:[/g][/#0000c6]

Vous placez un grand grush qui va vous servir de nuage. Vous recouvrez

sa face intérieure de la texture SCROLLWATER, et je vous conseille de

recouvrir les autres faces (invisibles au joueur) de texture NULL si vous

utilisez les ZHLT modifiés (mais ce n'est pas obligatoire je précise).

Vous transformez le brush en FUNC_CONVEYOR et vous lui affectez les

propriétés suivantes:

Global Entity Name : peu

importe

Render FX :

Normal

Render Mode: Texture

Render Amount : 170 - 190 (environ)

FX Color : 0 0 0

Name :

peu importe

Conveyor Speed : 2 - 4

(essayez 3)

et vous cochez le flag NOT SOLID.

Sélectionnez

ensuite la face recouverte de SCROLLWATER et faites un scale de la texture

à 90-100 environ (je sais c'est énorme mais c'est fait pour).

Voilà, vous avez un beau nuage. Les valeurs sont celles indiquées

dans le tutorial d'origine; Pour ma part j'utilise 1.5 de vitesse environ

(je le trouvais trop rapide étant donné qu'il était relativement près du

sol, et j'en bloquais l'accès par un bloc CLIP (veus pas passer pour un

idiot si un mec passe au-dessus en faisant une pyramide...).

Posté(e)

[g][#ff0000]QUESTION:[/#ff0000][/g]

Comment reduire mes r_speeds ?

TUTORIAL COMPLET SUR LES R_speeds... ([g]par Bcastaldi[/g])

[g][#0000ff]REPONSE:[/#0000ff] [/g]

Bon pour commencer les bases.

Lancez votre jeu avec le racourci rajouté de : -console -dev (sans -dev ca apparait juste dans la console)

Quand vous lancez une carte Half-life (ou un de ses MOD), tapez (dans la console allumé par ²) r_speeds 1

Une serie de chiffre apparaitera en haut a gauche de l'écran.

Ca ressemble à ca (En mode OPENGL ou DIRECT3D) :

[g]60FPS 456 w_poly 768 e_poly 10ms[/g]

[g]LES FPS :[/g] Le nombre d'images par secondes diffusé sur l'écran. Quand cette valeur est supérieure à 30, l'oeil ne ressent pas de rallentissement...

[g]W_poly :[/g] World polygon. Ce sont les polygones (ou calculs) qui sont causé par les blocs. Ils sont calculé par le "Central clock frequency" de votre carte graphique.

[g]e_poly :[/g] Entity polygon. Ce sont les polygones qui sont causé par tout ce qui est *.mdl (Skin d'armes, skin d'armes a terre, hotages, amis, enemis...)

[g]10 ms [/g]: C'est le temp mis pour calculer une image. 10 ms : 100 images/secondes.

Comme vous pouvez le deviner, pour un mappeur, les chiffres qui l'interesse, c'est les w_poly et les e_poly. Nous nous interresseront surtout ici aux w_poly.

CHAPITRE SUIVANT : COMMENT RéDUIRE CES %^$@¨£ DE POLYGONES

[g]1) Les choses simples :[/g]

Vous avez surement remarqué que quand vous regarder un mur, il calcule ce ki ya dérière. Le compilateur qui s'occupe de ce ke le joueur vois a tel et tel endroit, c'est le VIS.

Il faut compiler en expert, en rajoutant -full en compilation expert. Ca prend plus de temp, mais c'est vraiment important...

En fait le VIS, il met des "portals" sur votre map. Vous pouvez controller cela grâce aux "hint-brush" (Disponible dans les derniers ZHLT). Je suis pas un expert en HINT. Il y a de superbes tutos sur cela. Pour l'instant, j'vous file l'adresse pour l'explication du siteduzero : www.siteduzero.com

[g]2) LES BLOCS[/g]

Un bloc de 6 faces, c'est 6xQQCHOSE

Quand vous le pouvez, enlevez certains blocs. C'est cons mais bon... :)

Quand vous faites 2 blocs qui se touchent parfaitement (2faces cotes a cotes), faites en sorte qu'ils Aie les mème propriétée de textures. Cela feras que les 2 blocs seront "mixé" en 1 bloc.

de_rats_cadrabulle0001.jpg

Vous voyez les chaises dans ma map ? Bah la partie suppérieure c'est des blocs mixé. Je n'ai pas pu faire un bloc et le vertexté, sinon j'orais eu l'erreur de vertex.

[g]3) La technique du bloc volant.[/g]

Très connue des mappeur, cette technique peut faire gagner beaucoup de r_speeds.

Quand vous posez un bloc 6 faces sur une table (par exemple) Bah ca divise votre texture en 6 partie. Si en plus votre bloc c'est un cylindre, alors là c'est pire.

Pour eviter cela, il suffit de faire "surelever" votre bloc de 1 pixel, ou alors de le transformer en func_wall (Ce que je vous déconseille ! Car l'erreur "too much entity" ou une autre risque d'apparraitre). Si c'est plein d'objet qui sont sur une table, reduisez la hauteur de la table de 1 pixel (Au lieu d'augmenter tous les objets a 1 pixel.

Dans ma map, entre les écrans et la table, ya un cylindre. Si j'avais pas utilisé cette technique, mes r_speeds aurait monté grave !

[g]4) La texture "NULL"[/g]

La texture NULL, présente dans le zhlt.wad des derniers ZHLTs permet a la face dont est aplliqué cette texture de ne pas étre calculé par le HLCSG.

Je vous conseil d'aplliquer NULL au plus de surfaces possible (Toutes les surface que le joueur ne regardera JAMAIS.)

Cette texture permet d'autres choses (On a vu cela plus haut avec une vitre double tain) bien pratique.

Elle peut aussi reduire le temp de compilation (ne vous attendez pas a des merveilles, mais dans certains cas ca peut vrement etre benefique)

Cette technique mérite surtout d'etre en complement de celle du "bloc-volant".

Adresses pour en savoir encore + sur l'optimisation :

http://www.siteduzero.com

http://wwwetu.utc.fr/~ngadenne/gaddy/tuto/optimisation(partie1).htm

http://wwwetu.utc.fr/~ngadenne/gaddy/tuto/optimisation(partie2).htm

Posté(e)

[#f00e00][g]QUESTION: [/g][/#f00e00]

Comment je crée une overview pour ma map ?

[g][#0000f0]REPONSE:[/#0000f0][/g]

http://www.siteduzero.com

http://www.maps-on-line.com

http://www.cstrike.de

[g]1) Pour éviter d'avoir a perdre de la qualité graphique [/g]quand on passe du BMP 24 bits au BMP 8 bits...

Telechargez "Xnview"

Convertissez vos BMP24Bits en GIF, puis transformez ces GIFS en BMP 8 bits. Ca fera un bmp "à propre palette", et non pas un BMP qui utilise une paltte d'origine

Si vous étes pas convaincu, regardez :

cs_assault.gifcs_assaultpabo.gif

[g]2)[/g] Autre chose : pour que le [g]vert soit noir[/g] dans l'utilisation de l'overview, il faut que le vert soit au gamma 0/255/0, c'est d'ailleur ce qui m'as perdu !! Une trentaine d'overviews gaché, si ce n'est plus... Je devais avoir 1/255/1...

Pour eviter cela, il faut bien regler gamma et brightness (dans HL)

[g]3)[/g] Si votre ordinateurs, pas assez puissant [g]produit trop de FLOU[/g], autant demander a qualqu'un de faire votre overview a votre place ;). Demandez a l'allemand...

ATENTION ! Les overviews en .tga ne sont pas compatible en mode software !! Car ils sont 24 Bits...;)

Posté(e)

[g][#f00e00]COMMENT ON FAIT:[/#f00e00][/g]

un personnage qui parle?

[g][#0000f0]REPONSE:[/#0000f0][/g]

C'est l'entité scripted_sentence qui gère les dialogues. Comme dans Half-life, par exemple au début quand le garde vous dit "vous êtes en retard", vous pouvez créer des dialogues.

Commencez donc par créer le personnage qui va parler, puis près de lui créez une entité scripted_sentence (c'est de cette entité que part le son). Nommez le personnage, speak1 par exemple. Notez que cette entité accepte uniquement les vrais sentences, comme par exemple pour le scientifique la sentence c1a2_sci_elevator. Seulement les fichiers .wav commencant par le nom d'une map (c1a2 dans l'exemple précédent) sont accéptés. Les phrases comme "bonjour, Aie, vous allez regretter c'que vous v'nez d'faire, Ha,..." ne sont pas accéptées car ce sont des sons de réflèxes des personnages (quand vous leur tirez dessus, quand vous leur parlez,...).

Propriétés

-Sentence name : nom du fichier .wav. Ils sont tous dans le pak0. Vous devez par contre l' écrire d'une facon étrange : pour la sentence c1a2_sci_elevator par exemple, vous devez l'écrire dans ce champ comme suit : !SCI_ELEVATOR. Comme vous le voyez, vous devez mettre un point d'exclamation initial et puis le nom du fichier sans c1a2.

-Speaker type : nom du monstre qui parle.

-Sentence time : durée de la sentence : cet attribut définit la durée de temps pendant laquelle le monstre agite sa bouche. Reportez le chiffre de la durée du la sentence. Si vous mettez un chiffre inférieur à la vraie durée de la sentence, le monstre va fermer sa bouche mais on entendra quand même sa voix....

-Listener type : nom du monstre récépteur : c'est le personnage à qui s'adresse l'homme qui parle. Cela peut être player (joueur) ou le nom que vous avez attribué à un monstre.

Posté(e)

[g][#f00e00]QUESTION[/#f00e00][/g]

Comment faire un sky ?

[#0000ff][g]REPONSE :[/g][/#0000ff]

tu dois creer differentes images ( 6 ) au formats .tga ( je sais pas comment on convertis ) dont le nom de chaque image doits être le même sauf le sufix ... EXPLICATION :

imaginons que je crée un ciel que j'appelle gs ( c'est mon diminutif de mappeur , ca correspond a Golden Soupline ) alors mes 6 images seront :

gsbk.tga

gsdn.tga

gsft.tga

gslf.tga

gfrt.tga et

gssup.tga

donc les sufixes a rajouter a chacunes de tes images sont : bk ; dn ; ft ; lf ; rt et sup

je suppose ( j'en ait jamais fait ) que sup doit être le haut de ton ciel , bk "l'arriere" ( back ) , lf la gauche (left) , rt la droite (right ), ft le devant (front ) et dn le bas (down )

une fois le ciel crée il faut mettre les images dans HL/cstrike/gfx/env

pour mettre le ciel que tu as crée dans la map du doit entrer me nom du ciel dans : map/map properties.../environment map (cl_skyname )

dans l'exemple de mon ciel il faut metre gs comme nom de ciel

il est possible que les images doivent être d'une certaine taille mais je ne sais pas laquelle

voila voila !!

(merci Lord Chrisoflamme)

Posté(e)

[#ff0000]QUESTION:[/#ff0000]

Commenton fait un porte avec une vitre?

[#0000ff]REPONSE:[/#0000ff]

tu dois faire 2 portes : la première ca sera la porte simple, et la duxième la vitre. Laisse un trou dans la porte pour mettre la vitre.

Puis, tu configures les 2 portes de la même facon : même vitesse (comme ca elles bougent en même temps), même nom, même temps de fermeture,... De cette facon, le joueur croira qu'il y a une seule porte qui est vitrée!

si tu cherches + d'explications sur le portes et les portes vitrées, tu vas sur http://www.alpha-hl.fr.st dans la rubrique 'portes'.

Posté(e)

[g][#ff0000]QUESTION[/#ff0000][/g]

Comment mettre une arme par terre ? (cs)

[g][#0000ff]REPONSE[/#0000ff][/g]

Mettre l'entitée armoury_entity du fgd expert de cs et réglé la valeur item de l'entitée

[g][#ff0000]QUESTION[/#ff0000][/g]

Comment faire pour donner une arme aux joueurs ? (cs)

[g][#0000ff]REPONSE[/#0000ff][/g]

On utilise cette entitée pour par exemple donner plusieurs armes secondaires ou primaires. Le nom des l'entitées est game_player_equip. Il faut mettre les options Give MP5, Give ... a la valeur Yes pour que les joueurs ait l'arme et No pour qu'ils ne l'ait pas.

[g][#ff0000]QUESTION[/#ff0000][/g]

Comment empecher d'acheter des armes (cs) ?

[g][#0000ff]REPONSE[/#0000ff][/g]

Mettre l'entitée info_map_parameters et dans la partie Weapon_Buying, mettre sur Neither CT's nor T's can buy guns.

Posté(e)

Bon, alors j'ai décidé d'ouvrir ce sujet ca quand je sors des commandes spéciales et raccourcis de worldcraft vous me ressemblez ! C'est surtout déstiné aux débutants.

Bon alors voici une liste avec des trucs qui vous faciliteront la vie. Je les mettrais aussi sur alpha-hl, tiens!

Séléctionner plusieurs blocas ensemble :

maintenez préssée la touche ctrl et séléctionnez plusieurs blocs : il vont se séléctionner ensemble! Ca alors!

Faire des trucs super-précis :

Vous pouvez agrandir et rétrécir des blocs avec éxtrème précision, pixels par pixel! Vous avez 2 solutions :

1.Maintenez préssée la touche Alt et changez vos blocs.

2.Allez dans le menu "Map" et déséléctionnez Snap To Grid. Maitenant, faites des blocs et ca pourra être super-précis! Incroyable, hein?

Enlever la grille :

Déséléctionnez Show Grid dans le menu Map, ou déséléctionnez la petite grille dans la barre en haut.

Statistiques de votre map :

Allez dans Show information dans le menu Map : le nombres de solides brush, le nombres de faces, de wpolys, de epolys, les wads, etc.

Savoir les problemes de votre map

Dans le menu Map, allez dans Check for problems : vous y trouverez tous les problèmes de votre map. Utile, très utile.

Voir toutes les entités de votre map :

Toujours dans le menu Map, allez dans Entity report.

Voila, ce sujet sera constamment mis a jour. Je vous rappelle que vous trouverez dans le menu Tools tous les outils (carve, ToEntity, Vues 3d,...).

Posté(e)

[#f00e00][g]QUESTION:[/g][/#f00e00]

Euh dis moi MOTA,comment on peu créer un mod solo en 5 minutes sans avoir aucune connaissance en coding ,même si c'est mieux pour développer un mod solo ? (petit tuto par [g]mota[/g])

[#0000c6][g]REPONSE:[/g][/#0000c6]

Bon ici tout vous sera expliqué,très facilement (je trouve) pour pouvoir créer votre propre mod solo.

allez gogogo on y va:

1-La création du mod en lui même.

2-Le maping pour mod solo

3-Personnaliser son mod,tjrs sans savoir coder.

4-Divers

[#e21c00][g]1-La création du mod en lui même.[/g][/#e21c00]

a-Céer un dossier du mod

b-liblist.gam

c-les dlls

a-Créer un dossier du mod

Bon tout d'abbord il vous faut lui trouver un nom a ce mod pour éviter tout probleme lors de compilation de maps. un foi le nom trouvé,créez un dossier qui portera le nom de votre mod dans

C:\SIERRA\Half-Life\ (par défaut)

On va prendre pour exemple mon ancien projet de mod,natural-s

Ce qui donne

C:\SIERRA\Half-Life\Natural-s (par défaut)

b-liblist.gam

Bon après il vous faut créer un fichier liblist.gam

Nepanniqez pas je vais vous expliquer comment faire !

Mais tout d'abbord expliquons ce qu'est ce fichier.

C'est tout simplement un fichier qui donne les renseignements sur votre mod dans "parties personalisées"

exemple : Nom,adresse du site;taille,version....

Et d'autres informations qui ne sont pas visibles par le client (joueur potentiel)

exemple : dlls client...

Pour créer ce liblist.gam,ouvrez le blocnote ou dev c++ et je vais vous montrer un exemple:

[#f00e00]game "natural-s"

version "beta1"

size "23.5 mo"

hlversion "1110"

type "single"

startmap "ns1.bsp"

trainmap "ns0"

gamedll "..\natural-s\dlls\hl.dll"

cldll "0"[/#f00e00]

[g]Version[/g] est un élément visible donc donnez votre version.

[g]size[/g]Est la taille de votre mod.

[g]hlversion [/g]la version de compatibilté d'hl je vous conseille de laisser 1110

[g]type[/g]si vous voulez créer un mod solo vous etes obliger de laisser single

[g]startmap [/g]Vous etes obligé de mettre le nom de la map de départ.

[g]trainmap[/g]Vous etes obligé de mettre le nom de la map d'entrainement,si vous en faites un,ou sinon supprimez cette comande.

[g]gamedll[/g]Vous etes obligé de rentrer le nom du dossier de votre mod suivi de dlls\hl.dll

exemple : ..\Natural-s\dlls\hl.dll

[g]cldll[/g] laissez a zero

L'exemple en rouge ci dessus est exactement la syntaxe précise pour faire votre liblist alors respectez les guillemets et tt et tt.

c-les dlls

Dans le dossier de votre mod,créez un dossier dlls.

exemple : C:\SIERRA\Half-Life\Natural-s\dlls

ensuite allez dans C:\SIERRA\Half-Life\valve\dlls

et copiez le dll nommé "hl.dll"

[#f00e00]ATTENTION !!Surtout ne copiez ps le dll de opposing force ou celui de hl sans update,c'est illégal puisque payant.[/#e21c00]

Enfin,sauvegardez-le en le nomant "liblist.gam"

Ensuite retournez dans VOTRE fichier dll et collez-le.

Faites exactement la même chose pour cl.dll mais cette fois ci le dll à copier se trouve dans

C:\SIERRA\Half-Life\valve\cl_dll\cl.dll

et vous le copierez dans

C:\SIERRA\Half-Life\nomdevotremod\cl_dll\cl.dll

[#f00e00][g]2-Le mapping du mod[/g][/#e21c00]

a-Le dossier maps

b-les wads

c-le mapping en lui même

a-le dossier map

Il vous faudra créer un dossier "maps" dans le dossier de votre mod.

exemple: C:\SIERRA\Half-Life\Natural-s\maps

dans hamer,vous y rentrerez ce dossier comme direction des bsp (je vous conseil de créer une deuxieme config worldcraf).

b-les wads

Inserez les wads dont vous avez besoin dans le mod sans sous dossier.

exemple: C:\SIERRA\Half-Life\Natural-s\machin.wad

c-le mapping en lui même

Bon bah là c'est pas tres dur,une ou deux maps doivent avoir seulement l'entité "infoplayer_start"

-La map de départ de l'aventure.

-La map de départ de l'entrainement.

Pour les autres fonctions du mod solo,allez voir le siteduzero qui est extremmement bien expliqué.

[#00ff00]-le site du zero[/#00ff00]http://www.siteduzero.com/wc/sommwc.php

[#f00e00][g]3- personnaliser son mod[/g][/#f00e00]

Il vous faut tout d'abbord,copier le dossier gfx de hl,ou un autre mod,dans le dossier de votre mod.

a-les menus

b-les skys

a-Les menus

Bon pour l'interface,vous devez ouvrir l'image "btns_main.bmp"

qui se trouve dans gfx\shell

Et configurez le a votre guise en respectant scrupuleusement les emplacements :

blabla.JPG

Pour ce qui est du fond de l'interface,ouvrez l'image "splash.bmp" et changez-là par une image de votre choix [#e21c00]MAIS DE MEME RESOLUTION, ET QUI DOIT ETRE EN 256 COULEURS ![/#e21c00]

Pareil pour ce qui est des boutons.

b-les skys

Dans env,mettez les 6 faces des skys dont vous avez besoin.

[#e21c00][g]4-divers[/g][/#e21c00]

Bon je vous conseil de créer un dossier "media" dans le dossier de votre mod et vous y mettez une video que vosu aurez fait préalablement en 256 couleurs en avi.

Je vous conseil de mettre juste une image où il n'y a rien dedans.

Cette video s'appelera [#00ff00]logo.avi[/#00ff00]

Dans ce même dossier média,si vous voulez encore plus customiser votre mod,vous pouvez changer les sons des menus.

Voici les noms:

bloblo.JPG

Et créez n'importe quel son,cela est completement égale (essayez de ne pas faire de sounds trop pesants)

Voilà,c'est finit!Les fichiers save et config.cfg se créeront par eux même,posez des questions si vous n'avez pas compris quelque chose.

[MoDuModo]:

Pour les personnes intéressées par la création de mods de manière plus poussée, il est quasi-indispensable de connaître le C++. Une fois ceci fait, le site Half-Life Design propose de très bons tutoriaux, en français.

Posté(e)

[#ff0000][g]QUESTION[/g][/#ff0000]

Comment faire pour que quand la bombe pete, que des caisses au alentour petent avec ?

[#0000ff][g]REPONCE[/g][/#0000ff]

D'abord, transformer les objects qui vont etre casser en [g]func_breakable[/g]. Dans le champ [g]Name[/g], mettre [g]bomb[/g] puis aller dans la partie [g]flag[/g] et mettre le flag [g]Only Trigger[/g].

Ensuite dans l'entitée [g]func_bomb_target[/g], dans le seul champ qu'il y a (Target machin) tu mets [g]bomb[/g]

Posté(e)

Voici un tut fait par [g]MonZon [/g]!!!

[g][#ff0000]QUESTION :[/#ff0000][/g]

J'ai créé une texture, et j'aimerais lui attribuer un son existant.

[g][#002ad4]REPONSE :[/#002ad4][/g]

Avant tout, on a besoin du fichier materials.txt

Si celui ci n'est pas dans le répertoir SOUND de votre MOD (TFC\SOUND\ ou CS\SOUND\) il faut le récupérer dans le fichier PACK0.PAK du répertoire "VALVE\PACK0.PAK"

Il suffit d'ouvrir ce fichier avec le logiciel PackScape.

Copiez le fichier materials.txt dans le répertoire SOUND du MOD concerné.

(un "clic-déplacement" marche très bien sous packscape)

puis éditez le :

Le répertoire est organisé par sections, et je pense qu'il vaut mieux ajouter son nom de texture dans la bonne section afin de conserver la logique du fichier, pratique si on fait de nombreux ajouts.

Le fonctionnement est simple :

On place la lettre du son désiré, un espace, puis le nom de sa texture, suivant les indications suivantes :

'M' metal

'V' ventillation

'D' dirt

'S' slosh liquid

'T' tile

'G' grate (par défaut)

'W' wood

'P' computer

'Y' glass

Si j'ai une texture nommé TEST, et que je veux un son métal quand je marche dessus ca donne :

M TEST

Un maximum de 512 textures peuvent être utilisées dans ce fichier.

on enregistre au format TXT, et le tour est joué

MonZon

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.