Aller au menu - Aller au contenu

Trucs et Astuces

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page Précédente  1  2 
Hors ligne Almos # Posté le 03/07/2009 à 13:36:18
Geek Beta v1.1.3
Avatar

Reprise du dernier message de la page précédente :
J'ai aussi VTFEdit et le trouve assez simple, pratique et performant. Par contre, quand je crée le .vmt de mon image et que je met le .vtf plus le .vmt dans le dossier texture, sur Hammer il m'affiche dans le menu des textures les diaboliques carrés roses et noirs à la place de mon image.

Je voulais donc savoir :
Comment créer un .vmt (compatible avec Hammer) de mon image à partir de VTFEdit,
et dans quel dossier mettre le .vtf et le .vtf.

Merci pour vos futures réponses

"Chuck Norris n'a pas écrit sa biographie car il ne voulait pas faire de l'ombre sur la Bible."
 
Hors ligne Dark Ghost # Posté le 03/07/2009 à 14:19:02
Ten'son'
Avatar

Ville : Marseille
Pays : France métropolitaine

Pour Almos : va voir sur ce tuto (même sans Photoshop) et prend ce qui t'intéresse (genre le code à taper dans le .mt ...)) http://alucardmapping.halflifexpert.co [...] otexturing#II

Et aussi, une fois que tu auras compris comment faire, ça serais bien que tu l'écrive dans ton big tuto parce que tous le monde pose la question et personne ne sait quoi répondre à part "Photoshop" !

Voilà, bonne continuation à toi !


Ten'son'
 
Hors ligne Almos # Posté le 03/07/2009 à 16:05:59
Geek Beta v1.1.3
Avatar

C'est vrai que Photoshop n'est accesible à tous.
Il y plusieurs moyens de faire mais celle de VTFEdit est la meilleur façon.
Même si pour moi celle-ci ne marche pas :(
J'ai une solution qui marche très bien mais elle est un peu compliquée :
Il faut avoir CS:S
Je t'explique :
Tu sais, dans Counter-Strike, tu as la posibilité de mettre des "tags", c'est à dire des images que tu inseres dans le jeu. Par exemple, je met un chien comme tags et l'insere dans un serveur choisi au hasard. Ensuite, je quitte Counter-Strike et lance Hammer. Je vais dans le menu des textures et tape "vgui"
Et là, je retrouve l'image mon chien et toutes les images telechargées sur les serveurs come par exemple, les plugs, les skin ect ...

C'est la seul façon que je connais qui marche. Pour te le prouver, un petit apreçu :) :

Image utilisateur Image utilisateur Image utilisateur

"Chuck Norris n'a pas écrit sa biographie car il ne voulait pas faire de l'ombre sur la Bible."
 
Hors ligne leplubodeslapin # Posté le 17/07/2009 à 03:05:56
Avatar

Créer une zone sans gravité

Voici quelque chose qui pourrait être intéressant pour les amateurs d'énigmes ou d'environnements un peu fantastiques, créer des zones où la gravité est nulle.
J'y ai pensé en vacances, je me suis imaginé comment le jeu fonctionne, c'est tout simplement de la physique. Admettons que chaque chose physique sous Source soit tirée vers la bas avec une certaine force d'attraction terrestre. Cette force est tout simplement une force de gravitation. L'astuce pour défier cette force est donc de l'annuler, et pour annuler une force, on exerce une autre force :
- de même intensité
- de même direction (droite d'action)
- de sens opposés

Pour créer cette force d'opposition à la gravitation, on utilisera une entité-bloc trigger_push.
On créé donc un bloc avec la texture tools/toolstrigger que l'on va transformer en entité trigger_push.
Dans ses propriétés, on va commencer par donner l'orientation de cette force : vers le haut.
C'est à la ligne Push Direction, que l'on va mettre les valeurs "-90 0 0" .
Puis à la ligne Speed of Push, on va donner la vitesse en pouces/sec. Pour les jeux Source, c'est souvent soit 600, soit 800.

Et enfin, on va se diriger dans les flags du trigger_push
- Clients : à cocher pour que l'action soit exercée sur le/les joueur(s)
- Physics Objects : à cocher pour que l'action soit exercée sur les objets physiques (prop_physics, func_physbox...)

Voilà, en théorie après ça fonctionne ! Vous voyez, c'est pas très compliqué :p
Hors ligne Solid Snake # Posté le 18/07/2009 à 22:46:32
CBasePlayer::PwnPlayer rulez !
Avatar

Ville : Bruay-la-buissière
Pays : France métropolitaine

Un téléporteur où les joueurs contrôlent le tout


Sur le tuto de Thunderseb, vous aviez appris à faire un téléporteur. Mais si vous avez envie que les joueurs fassent fonctionner la machinerie (comme Stargate), suivez cette astuce :

Demandez à votre mère Il vous faut :
- 1 prop_static
- 1 prop_dynamic
- 1 func_detail
- 1 func_wall_toggle
- 1 trigger_teleport
- 1 info_teleport_destination
- 2 func_button
- 2 light
- 2 ambient_generic
- Une pièce avec au minimum 1 info_player_start et 1 light pour tester.
- Votre PC
- Vous
- Hammer prêt
- Du café (si nécessaire)

Configurer les entités


Le prop_static (pour indiquer aux joueurs qu'ils peuvent appuyez sur les boutons) :
World Model : models/props_c17/traffic_light001a.mdl

Le prop_dynamic :
World Model : models/props_combine/combine_teleportplatform.mdl
Name : Teleporter_Model

Le func_detail est un bloc autour du model texturé avec "tools/invisible"

Le func_wall_toggle qui est texturé avec invisible et placé sur l'entrée du téléporteur (voir tuto de Thunderseb sur la téléportation si vous comprenez pas ce que j'ai dit) :
Name : Teleporter_Doors
Flag Starts Invisible coché

Le trigger_teleport qui je rappelle est texturé en "tools/trigger" et placé à l'intérieur du téléporteur :
Name : Teleporter_Teleport
Start Disabled : Yes
Remote Destination : Teleporter_Destination

Le info_teleport_destination :
Name : Teleporter_Destination
N'oubliez pas de configurer les angles si il le faut avec le radar !
Les 2 func_button ont le flag "Don't move" coché

Le premier func_button :
Name : Teleporter_Button_1

Le deucième :
Name : Teleporter_Button_2
Flag Start Locked coché
Les 2 light sont placés devant le feu tricolore, et respectez la position des couleurs, la light rouge devant le vert ça fait pas réaliste.
Le premier light :
Name : Teleporter_Light_Red
Brightness : 255 0 0 100
Flag Initially Dark coché

Le deuxième light :
Name : Teleporter_Light_Green
Brightness : 0 255 0 100
Les 2 ambient_generic ont les flags "Play everywhere", "Is NOT Looped", "Start Silent" cochés.
Le premier :
Name : Teleporter_Sound_Start
Sound Name : k_lab.mini_teleport_buildup

Le deuxième :
Name : Teleporter_Sound_End
Sound Name : k_lab.teleport_sound

Inputs, Outputs, gentils Inputs, Outputs !



Pour le premier func_button :
OutputEntitée concernéeActionParamètreDélai
OnPressed Teleporter_Model SetAnimation open 0.00
OnPressed Teleporter_Doors Toggle 0.00
OnPressed Teleporter_Button_1 Lock 0.00
OnPressed Teleporter_Button_2 Unlock 2.00
Le deuxième :
OutputEntitée concernéeActionParamètreDélai
OnPressed Teleporter_Light_Green TurnOff 0.00
OnPressed Teleporter_Light_Red TurnOn 0.00
OnPressed Teleporter_Button_2 Lock 0.00
OnPressed Teleporter_Sound_Start PlaySound 3.00
OnPressed Teleporter_Teleport Enable 5.00
OnPressed Teleporter_Sound_End PlaySound 5.00
OnPressed Teleporter_Teleport Disable 6.00
OnPressed Teleporter_Model SetAnimation open 10.00
OnPressed Teleporter_Doors Toggle 12.00
OnPressed Teleporter_Light_Red TurnOff 12.00
OnPressed Teleporter_Light_Green TurnOn 12.00
OnPressed Teleporter_Button_1 Unlock 12.00
Mais comment ça marche ?
Voilà comment :
D'abord la lumière rouge est éteinte, l'interdiction d'entrée du téléporteur est désactivé, et le bouton 2 est vérouillé.

Quand le joueur appuie sur le bouton 1, il va ordonner la représentation du téléporeur de jouer l'animation "open". Ensuite il n'est plus possible aux joueurs de rentrer dans le téléporteur (func_wall_toggle), le bouton 1 se vérouille et son compagnon fait le contraire.

Le deuxième bouton enclenche le processus, quand le joueur l'active, la lumière verte s'éteint, et la rouge s'allume et le bouton 2 se vérouille. Après 3 secondes, le son de la préparation de la téportation est joué, un peu plus tard, le téléporteur s'active et téléporte le joueur, au même moment que le téléporteur s'active, le son de la téléportatione est joué et le téléporteur se désactive juste après. La représentation du téléporteur joue l'animation "close", un prochain joueur peut entrer dans le téléporteur, la lumière rouge s'éteint et la verte s'allume de nouveau, et le bouton 1 se dévérouille pour refaire fonctionner le tout.

Moi je veux que le téléporteur fonctionne 1 seule fois, comment faire ?
Dans le deuxième bouton, il faut supprimer l'Output :
OutputEntitée concernéeActionParamètreDélai
OnPressed Teleporter_Button_1 Unlock 12.00
En supprimant cet Output, le bouton 1 se dévérouillera jamais et il sera impossible de faire une nouvelle téléportation.
Si un joueur reste planté à l'intérieur du info_teleport_destination et qu'au autre se téléporte, ils vont se bloquer, comment éviter ça ?
Faites un bloc de 128x128x128 à l'intérieur du info_teleport_destination avec la texture "tools/trigger", convertissez-la en trigger_push, mettez une vitesse de 1000 (ça devrait suffire), et configurer le Push Direction.
Le joueur qui s'amuse à rester à l'intérieur du info_teleport_destination ne pourra plus car il est poussé.
Mais il y a personne pour téléporter le joueur comment il peut faire pour se téléporter ?
Copiez les 2 func_button, placez-les au plafond, supprimez tout les Outputs et cochez le flag "Damage Activates", et dans le Output du premier, mettez :
OutputEntitée concernéeActionParamètreDélai
OnDamaged Teleporter_Button_1 Press 0.00
Et dans le deuxième :
OutputEntitée concernéeActionParamètreDélai
OnDamaged Teleporter_Button_2 Press 0.00
2 joueurs sont dans le même téléporteur, et les portes sont fermées, comment empêcher la téléportation ?
Faites un troisième bouton, cochez les flag "Don't Move", et "Start Locked", nommez-le "Teleporter_Button_3", voici les Outputs à mettre :
OutputEntitée concernéeActionParamètreDélai
OnPress Teleporter_Button_2 Lock 0.00
OnPress Teleporter_Model SetAnimation open 0.00
OnPress Teleporter_Doors Toggle 2.00
OnPress Teleporter_Button_1 Unlock 2.00

Dans les Output du premier bouton, ajoutez ceux en vert :
OutputEntitée concernéeActionParamètreDélai
OnPressed Teleporter_Model SetAnimation open 0.00
OnPressed Teleporter_Doors Toggle 0.00
OnPressed Teleporter_Button_1 Lock 0.00
OnPressed Teleporter_Button_2 Unlock 2.00
OnPressed Teleporter_Button_3 Unlock 2.00
Et dans le deuxième bouton :
OutputEntitée concernéeActionParamètreDélai
OnPressed Teleporter_Light_Green TurnOff 0.00
OnPressed Teleporter_Light_Red TurnOn 0.00
OnPressed Teleporter_Button_2 Lock 0.00
OnPressed Teleporter_Button_3 Lock 0.00
OnPressed Teleporter_Sound_Start PlaySound 3.00
OnPressed Teleporter_Teleport Enable 5.00
OnPressed Teleporter_Sound_End PlaySound 5.00
OnPressed Teleporter_Teleport Disable 6.00
OnPressed Teleporter_Model SetAnimation open 10.00
OnPressed Teleporter_Doors Toggle 12.00
OnPressed Teleporter_Light_Red TurnOff 12.00
OnPressed Teleporter_Light_Green TurnOn 12.00
OnPressed Teleporter_Button_1 Unlock 12.00
Si le processus de téléportation est enclenchée, le bouton 3 ne fera aucun effet !
Édité le 20/07/2009 à 10:49:41 par Solid Snake
 
Hors ligne malfrax # Posté le 24/09/2009 à 20:27:34
Mapeur et joueur.
Avatar

Allez je recommence :


Code : Autre
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Chaise|chair
Table|Table
Echelle|Ladder
Tuyau|Pipe
Chateau d'eau|Watertower
Lampe|Light ou Lamp
Objets Combine|Combine
Models de Skybox|Skybox
Armes|Weapons
Porte|Door
Fenêtre|Window
Ordinateur|Computer
Boite|Box
Laboratoir|Lab
Voiture|Car
Sol|Floor
Mur|Wall
Plafond|Ceil
Arche|Arch
Arbre|Tree
Humain|Humans
Tonneaux|barrel
Bouteille de gaz|propane
Détritus/déchet|junk
baignoire|bathtub
ventilation/conduit de ventilation|vents
Écran|monitor
Rangement de dossier|filecabinet/file_cabinet
plateforme en bois et ustensile pour plateforme en bois|docks
Banc|bench
Bateau|boat
Poteau|pilla
Panneau de signalisation|streetsign
Statut|statue
caisse|cashregistrer
Horloge|clock
Poupée|doll
Ascenseur|elevator
Grille|fence

Une aide s'il vous plait :
 
Hors ligne Lpu8er # Posté le 26/09/2009 à 02:35:55
[R34n1m4T3d]
Avatar
Validateurs
Flux RSS

Ville : Grenoble
Pays : France métropolitaine
études : BTS IG Grenoble

Petit up pour l'histoire de la gravité, il y a plus simple et adapté: trigger_gravity.

Un trigger (donc bloc texturé en toolstrigger) qui permet de changer la gravité de tout Client qui y passe, d'une valeur de 0 (no-grav) à 1 (gravité normale).

Si vous comptez faire une pièce avec faible gravité, pensez à plusieurs choses:

- placez le ou les trigger_gravity de faible gravité soit sur toute la pièce, soit sur les entrées
- placez d'autres trigger_gravity aux sorties possibles afin de rétablir la gravité à 1
- placez ces mêmes trigger_gravity avec valeur 1 dans tous les spawns. Sinon, si un joueur meurt ou est rétabli alors qu'il était dans une zone anti-grav... Il restera insensible à la gravité.

Petite note quand même: malgré ses flags, cette entité bloc ne fonctionne que sur les Clients.

Le or exit(mysql_error()), nom d'un chien !!!
(et apprenez à concaténer avant de le faire)

Oui, oui, c'est exit(), pas die() (alias, toussa). Tant qu'on y est, je mettrais aussi une gestion Exception PDO Error. Ca fera beau en signature.
 
Hors ligne malfrax # Posté le 22/10/2009 à 19:46:54
Mapeur et joueur.
Avatar

Difficulté : |||||||||| 90%

Présentation de l'exercice



Nous allons faire dans cette exercice une mitrailleuse qui tire des grenades et des balles. Pour cela il vous faut toute ces entités :
  • 1 game_ui
  • 1 prop_dynamic_override
  • 3 bloc nodraw
  • 2 logic_compare
  • 2 logic_multicompare
  • 1 bloc en trigger
  • 2 env_entity_marker
  • 2 point_template
  • 2 prop_physique


Disposez les comme ceci :

Image utilisateur

Préparation



Voila déjà la liste des noms :
Nom de l'entitéValeur de 'name'
point_template templ_balle
point_template templ_gre
env_entity_marker marker_balle
env_entity_marker marker_gre
game_ui game
logic_compare logic_roty
logic_compare logic_rotz
logic_multicompare tir_balle
logic_multicompare tir_gre
Func_rotating roty
Func_rotating rotz
Trigger_Push push
Func_button bouton
prop_dynamic_override prop
prop_physique balle
prop_physique gre


Non ne partez pas déjà !!! Bon ben il en reste quelque un ?? On continue alors !!
Juste pour dire que maintenant j'utiliserais la valeur 'name' pour designer l'entité qui correspond.

Les propriétés et flags



Ici aussi je fais un tableau de flags et je met les propriétés après :
(je ne met que les truc à rajouter par rapport au standard donc si c'est cochez et que je dis pas de décochez laissez le !!)

Valeur 'name'Flag
roty Yaxis
button Don't Move
gre Break Touch
Break Pressur
balle Break Touch
Break Pressur


Pour les propriétées :

templ_balle : template 1 = balle
templ_gre : template 1 = gre
marker_balle : point_template to spawn = templ_balle
marker_gre : point_template to spawn = templ_gre
push : force = 70000
Start Disabled = Yes
balle : Min Dammage To hurt = 1~3
gre : Explosion Damage = 50~100
Explosion radius = 150~250
Min Dammage To hurt = 1~3

Pour les parentés :

marker_balle, marker_gre, push, bouton dois être parenté à prop
prop doit être parenté à roty
roty doit être parenté à rotz

Ouptut


Je vous donne tous ça en image :

Image utilisateur
Image utilisateur
Image utilisateur
Image utilisateur
Image utilisateur
Image utilisateur
J'ai eu un problème avec la dernière image mais elle reste juste ne faite pas attention au rouge.

Et voila normalement tout est prêt votre mitrailleuse fonctionne parfaitement !!

Une aide s'il vous plait :
 
Hors ligne leplubodeslapin # Posté le 04/03/2010 à 22:53:56
Avatar

Créer une alternative à la fonction logique "et/and"


Dans ce mini-tutoriel je vais expliquer rapidement une méthode pour simuler une fonction logique et/and. Rappelons d'abord ce qu'est une fonction logique : c'est une fonction à deux entrées utilisée en langage booléen, elle fait la propriété que les deux entrées doivent être toutes-les deux à l'état logique 1 pour sortir un 1.
Voici comment réagit cette fonction dans un tableau :

Entrée 1 Entrée 2 Sortie
0 0 0
0 1 0
1 0 0
1 1 1


Quel peut-être l'intérêt d'une telle fonction ?


Tout au long de ce mini-tutoriel on va utiliser un exemple simple mais concret :
Le joueur doit appuyer sur 2 boutons pour pouvoir allumer une lumière.

Image utilisateur


Alors là je vous laisse cogiter un petit peu pour me pondre une solution, mais je suis pas sûr que sur le coup vous y arriveriez, car c'est en fait plus complexe que ça n'y parait (car il n'existe pas de fonctions logiques avec hammer).
Donc la première chose à faire va être de faire une petite map avec nos boutons qu'on va dors-et-déjà transformer en func_button, notre lumière, le point de démarrage du joueur et une lumière quand même pour éclairer la salle (pas trop puissante de préférence pour pouvoir apprécier la différence).

Image utilisateur


Désormais, je vais vous donner la recette secrète, l'entité-point logic_compare.
Cette entité enregistre 2 valeurs en mémoire et peut les comparer entre elles, d'où le compare de "logic_compare".
Je vais donner un nom à ces 2 valeurs : la valeur interne et la valeur de comparaison.
La démarche qu'on va utiliser est la suivante :
En appuyant sur le bouton 1, on change la valeur interne (qui sera initialement de 1) à la valeur 3.
En appuyant sur le bouton 2, on change la valeur de comparaison (qui sera initialement de 2) à la valeur 3.
À chaque fois que l'on fait n'importe quelle manipulation, on va effectuer une comparaison des deux valeurs, en effet la comparaison est à faire manuellement, elle n'est pas automatique.
Puis, en sortie de comparaison, il y aura deux possibilités :
  • Soit les deux valeurs sont différentes et on ne fait rien.
  • Soit les deux valeurs sont identiques et on agie sur l'output qui va allumer la lumière.

Maintenant que j'ai expliqué assez rapidement toute la clé du problème, on va mettre ça en œuvre et vous comprendrez probablement mieux en faisant le tout vous-même.
Commençons par placer l'entité logic_compare, n'importe-où, sa position n'a pas d'importance. Configurons-la :

Name compare
Initial value 1
Compare Value 2

Name va nous servir à retrouver l'entité pour l'appeler avec un output par la suite.
Initial value est la valeur interne de l'entité.
Compare value est la valeur de comparaison de l'entité.

Puis réglons ses 2 outputs :
Output 1 Output 2
My output named OnEqualTo OnNotEqualTo
Targets entities named lumiere lumiere
Via this input TurnOn TurnOff
With a parameter override of <none> <none>

Ainsi, quand il saura que sa valeur interne et sa valeur de comparaison auront la même valeur, il allumera la lumière. Dans le cas contraire il l'éteindra. Bien entendu, dans mon exemple de situation, ma lumière s'appelle lumiere ^^ .

Passons dès à présent au bouton 1 : celui qui a pour but de toucher à la valeur interne du logic_compare.

Output 1
My output named OnPressed
Targets entities named compare
Via this input SetValueCompare
With a parameter override of 3

L'output SetValueCompare est en fait un output superbe puisqu'il fait 2 choses à la fois :
  • D'une part il change la valeur interne du logic_compare (là on change la valeur interne de 1 à 3 par exemple)
  • Mais aussi il effectue juste après une comparaison des deux valeurs du logic_compare, on a donc pas à s'en occuper.

Et maintenant, lançons-nous dans la configuration du bouton 2 : celui qui a pour but de toucher à la valeur de comparaison du logic_compare.

Output 1 Output 2
My output named OnPressed OnPressed
Targets entities named compare compare
Via this input SetCompareValue Compare
With a parameter override of 3 <none>
After a delay in seconds of 0.00 0.01

Ici, l'output qu'on utilise est l'output SetCompareValue est il est un peu moins magique que l'autre puisqu'il n'effectue pas lui-même la comparaison une fois qu'on a modifié la valeur de comparaison, ça explique donc l'apparition d'un second output qui va servir à faire la comparaison.

Mais pourquoi avoir mit un délai à l'output de comparaison ?

C'est assez simple : Source n'a pas d'ordre de préférence lors de l'exécution des outputs par défaut, or s'il effectue l'output de comparaison avant d'avoir modifié la valeur de comparaison, ça n'a pas d'intérêt, on lui donne un ordre d'exécution des outputs en ajoutant un délai tout tout petit, ainsi il fait la comparaison une fois qu'il a modifié la valeur et pas l'inverse.

Et voilà !
À ce stade le système est fonctionnel, je vais juste rajouter un petit détail pour ne pas à avoir à recharger la map à chaque fois et réessayer une autre possibilité : un bouton de reset. Il va juste remettre les valeurs initiales et faire une comparaison :

Output 1 Output 2 Output 3
My output named OnPressed OnPressed OnPressed
Targets entities named compare compare compare
Via this input SetValue SetCompareValue Compare
With a parameter override of 1 2 <none>
After a delay in seconds of 0.00 0.00 0.01


Les plus attentifs remarqueront que je n'ai plus utilisé l'output SetValueCompare mais uniquement SetValue car SetValue n'effectue pas de comparaison et met permet d'éviter de surcharger le moteur avec des calcules inutiles (puisque juste après on va faire une autre comparaison)


Bon, maintenant que vous avez réussi tout ça avec succès (je n'en doute pas :p ), je vous propose de télécharger le VMF, au cas où vous auriez une erreur pour la retrouver.
Voilà, bonne journée !
Édité le 05/03/2010 à 00:04:02 par leplubodeslapin
Hors ligne Wofa2tens # Posté le 04/03/2010 à 23:02:43
Mappeur fou
Avatar

Salut à tous.
Voila que souvent la question revient:
Comment utilise t'ont BspZip?

Voici donc une méthode efficace, simple et rapide, qui compléteras aisément le tutoriel de Nyko18.

Je rappel donc l'adresse de ce tutoriel:

http://hl.logout.fr/?p=bspzip

Ou vous trouverais toutes les commande nécessaire à l'utilisation de ce petit tool très pratique.

Dans un premier temps, nous verrons comment afficher les extensions des fichiers, afin de réussir ce tutoriel ensemble.
Dans la deuxième partis, nous allons voir comment crée un fichier ".bat", pour permettre de facilité l'utilisation de BspZip.
Et finalement, nous allons voir comment inclure les fichiers grâce à BspZip et à ce tutoriel.

Ce tutoriel est rédigé pour un système d exploitation Windows Xp


ETAPE1


Pour commencer, il vous faut tout dabord affiché les extension des fichier.
Si cela n est pas fait, vous ne pourrez pas réussir a faire tous ce qui est décrit dans ce tutoriel.


Mais comment faire?


Très simple:

Aller dans Mes document, outils, options des dossiers:

Image utilisateur

Puis une fenêtre s'ouvre.
Aller dans l onglet affichage, puis descendez un peut pour décrocher la case:
Masquer les extensions des fichiers dont le type est connu

Image utilisateur

Et voila, il ne vous reste plus qu a clic sur OK.
Maintenant les extensions de fichier apparaisse, vous pourrez constater que vos image sont en ".jpg", ou ".png" ou que tous vos fichier sont en ".quelquechose".

Vous êtes maintenant prêt pour commencé se tutoriel.

ETAPE2


Commençons simplement par ouvrir l explorateur windows, pour aller dans le dossier de BspZip.

Poste de travaille ( ou pour le raccourci "fenêtre+E" ):

C:\Program Files\Steam\steamapps\nom_de_compte\sourcesdk\bin\ep1\bin

La il faut crée un fichier texte.
Clic droit au milieu de la fenêtré, dans le vide, nouveau, document texte.
Image utilisateur

Il devrais se nommé:
Nouveau Document texte.txt

Maintenant ouvrez le, et la il faut y mettre la commande suivante:
bspzip -addlist ta_map.bsp list.txt ta_map_renomé.bsp

Enregistrez, et la, renommé le fichier "Nouveau Document texte.txt" en "addlist.bat"

L extension du fichier final doit être ".bat" et non pas ".bat.txt"


Une fenêtre vas s'ouvrir pour vous dire de faire attention a cause du changement d'extension.

Image utilisateur

Clic sur oui.

Vous avez maintenant votre fichier "addlist.bat"

Image utilisateur

Le fait de changer l extension vas permettre d'utiliser le fichier comme lancement d'un exécutif, avec des commande console prédéfini.

ETAPE3


Voila, sa y est, nous y sommes.

Vous avez terminé votre map, compilé, avec un minimum d erreur.
Vous avez suivit le tutoriel de Nyko18 pour crée votre list de fichier a inclure.

Petit rafraîchissement:

Crée un fichier texte qui contient les chemins d accès a tous les fichiers a inclure.
Inscrivez les chemin comme cité si après:

-chemin relatif= materials/models/dossier/texture.ext
-chemin absolu= c:/programmes files/steam/steamapps/counter strike/cstrike/materials/models/dossier/texture.ext

Et un petit "enter", pour laisser une ligne libre a la fin de la list.

enregistré le sous "list.txt" à fin de coller avec la commande inscrite dans le ".bat"


Copier et coller votre map.bsp, et votre fichier list.txt dans:
C:/Program Files/Steam/steamapps/nom_compte/sourcesdk/bin/ep1/bin

Il ne reste plus qu à double clic sur le fichier addlist.bat
La console s'ouvre et indique tous les fichiers inclus a la map.

FINAL


Voila ce tutoriel s'achève.
En à peine dix minutes, vous pouvez déjà constater que l'utilisation de BspZip, n'est pas si complexe que l'on pourrait le croire.
Bon mapping à tous.

PS: Merci a Nyko18 pour la base de ce tutoriel. ;)

Image utilisateur
 

Retour au forum "Source (HL2)" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx