CS-Fusion.com - Nous faisons des news et nous les faisons bien !   
MyFusion
         



FDJ & WCG
La review tant attendue; un jour après la LAN!

Ta e-loose en .avi
Envoi nous tes démos pour participer au movie !

10 bonnes raisons #6
6e opus de la rubrique "10 bonnes raisons"

FJV & WCG.fr : les photos
Tout ce que tu voulais voir! ou presque
 
Le commandmenu
Osmoz.rpm vous présente les bases du commandmenu
Auteur: TpSoffline
Publication: Le 23 août 2006
Lectures: 9604
Commentaires: 7 réactions. Voir et poster des commentaires Atteindre le dernier message


Le commandmenu  
    Si les grandes forces de CS sont le caractère multijoueur et la possibilité de dévelloper plus ou moins fortement son sens tactique et son esprit d'équipe, il est aussi très prisé grâce à sa flexibilité. Respiration. En effet, si les config.cfg et userconfig.cfg sont adaptables par l'utilisateur en fonction de sa connexion Internet (par exemple), d'autres accessoires tels que le commandmenu permettent de customiser son jeu comme bon vous semble.

    Aujourd'hui, c'est bel et bien de tunning CS dont  Osmoz.rpm a décidé de vous parler en tâchant de vous expliquer les différentes étapes conduisant à la création de son propre commandmenu. Si vous en avez marre de rentrer sans arrêt les mêmes commandes dans la console, que vous avez envie de vous la raconter avec vos textes pendant les messages radios, ou que vous voulez acheter mac10, dual elite, nightvision et smoke par un simple clic : lisez donc la suite !


1. Introduction


    Afin de rendre plus agréable votre jeu, voici un petit guide tout simple sur le commandmenu :  une sorte de fichier à première vue banal mais pourtant d'une très grande utilité. Un premier dossier avait été fait sur CS-Fusion à l'époque, mais datant un peu, l'idée m'a pris de le rafraichir et de vous en proposer un nouveau. Ceci est un tutorial expliquant les bases nécessaires à la réalisation d'un commandmenu et l'explication globale de sa structure. Le but de ce tuto n'est donc pas de vous balancer un maximum de bind pour votre CS ;)


2. Présentation


    Alors voilà, tout commence ici. Le commandmenu est un fichier texte sous le nom de "commandmenu.txt" (ndlr: tu l'avais pas vu venir celle là hin ?), qui est dans votre dossier cstrike (ou cstrike_french pour ceux qui ont l'immense plaisir de jouer en Français (attention, ça va péter!)) et qui va vous servir dans CS tel un menu bien pratique, que vous pouvez personnaliser à volonté.


    Si vous n'avez jamais utilisé de commandmenu, vous allez sans doute me dire qu'il n'y a pas de tel fichier dans votre dossier SteamSteamAppsVotreComptecounter-strikecstrike. En effet, Steam en a décidé ainsi en créant son programme. Tous les fichiers indispensables à CS ont été archivé dans un fichier annexe (pour éviter de nombreux problèmes) nommé "counter-strike.gcf" et situé dans la racine du dossier SteamApps. Les fichiers "*.gcf" sont donc des archives lisibles mais non modifiables (enfin, il y a toujours moyen grâce au logiciel "GcfScape" mais je ne rentrerais pas dans les détails).


    Ainsi, pour avoir votre propre commandmenu, vous devez créer un nouveau fichier texte, le renommer "commandmenu" et le placer dans votre dossier cstrike, comme indiqué plus haut.


Les fichiers "*.gcf" sont des archives que l'on peux lire ( mais pas modifier ( enfin ya toujours moyen mais la je me tais ) ) grâce a un utilitaire nommé "gcfscape" ( dispo ici ) attention il faut avoir net framework 2.0 )


3. Les bases

    Mieux que de longs discours, un petit exemple sera parfait pour vous présenter la structure générale d'un commandmenu.


    "1" "Menu test" ""
    "2" "Settings"
    {
            "1" "rate"
            {
                "1" "25000" "rate 25000"
                "2" "20000" "rate 20000"
                "3" "17500" "rate 17500"
                "4" "15000" "rate 15000"
                "5" "12500" "rate 12500"
                "6" "10000" "rate 10000"
                "7" "7500" "rate 7500"
                "8" "5000" "rate 5000"
            }
            "2" "cl_updaterate"
            {
                "1" "101" "cl_updaterate 101; ex_interp .01"
                "2" "90" "cl_updaterate 90; ex_interp 0"
                "3" "80" "cl_updaterate 80; ex_interp 0"
                "4" "70" "cl_updaterate 70; ex_interp 0"
                "5" "60" "cl_updaterate 60; ex_interp 0"
                "6" "50" "cl_updaterate 50; ex_interp 0"
                "7" "40" "cl_updaterate 40; ex_interp 0"
                "8" "30" "cl_updaterate 30; ex_interp 0"
            }
            "3" "cl_cmdrate"
            {
                "1" "101" "cl_cmdrate 101"
                "2" "90" "cl_cmdrate 90"
                "3" "80" "cl_cmdrate 80"
                "4" "70" "cl_cmdrate 70"
                "5" "60" "cl_cmdrate 60"
                "6" "50" "cl_cmdrate 50"
                "7" "40" "cl_cmdrate 40"
                "8" "30" "cl_cmdrate 30"
            }
     }
    "3" "Close" ""


    Dans un premier temps, il faut savoir que le commandmenu sera une suite de menu et de sous-menus dans lesquels vous aurez la possibilité d'entrer. Ainsi, vous devez systématiquement attribuer un numéro, puis un titre à chacun de vos menus, puis y insérer vos commandes. Ainsi, vous avez systématiquement un schéma de la forme "NUMERO" "TITRE" "COMMANDE". Par ailleurs, lorsque vous voulez créer un sous-menu dans un des menus, vous devez ouvrir des accolades (comme en programmation).

    Dans cet exemple, il y aura 3 menus principaux : Menu test (qui sera vide), Settings (qui aura 3 sous-menus) et Close qui fermera le commandmenu. Une fois que vous avez entré ces lignes de code dans votre commandemenu.txt, vous sauvegardez et vérifiez qu'une touche est attribué à commandmenu dans votre config.cfg. Par défaut, la touche "h" est attribuée ( si non, on la bind de suite dans son config.cfg : bind "la_touche" "+commandmenu" ) puis on lance CS pour voir ce que ca donne:



Alors, heureux ? x)


    Et la vous allez me dire: mais osef des rate, cl_updaterate et compagnie ffs ! (ndlr: mais osef des rate, cl_updaterate et compagnie ffs !) et moi je vous répond " :o " (ndlr: vas-y). En effet, cela n'est qu'un exemple pour vous présenter l'architechture globale du fichier, mais vous pouvez bien entendu y inclure bien d'autres choses ! Pour ceux qui n'auraient pas toujours pas cerné le rôle de chacunes des lignes de code, je vais vous l'expliquer ligne par ligne ( comme ça vous allez mieux comprendre ). Iwigo :


    "1" "Menu test" ""

"1" = ça veux dire ça sera la première ligne
"Menu test" = ça veux dire que tout ce que vous allez écrire entre "" c'est ce que vous allez voir d'ecrit pour la ligne 1 (ndlr: le titre du menu si vous préférez)
"" = Ceci contient la commande du menu. Ici, la commande est vide, donc le menu se fermera sans rien faire.

    "2" "Settings"
    {
            "1" "rate"
            {
                "1" "25000" "rate 25000"
                "2" "20000" "rate 20000"
                "3" "17500" "rate 17500"
                "4" "15000" "rate 15000"
                "5" "12500" "rate 12500"
                "6" "10000" "rate 10000"
                "7" "7500" "rate 7500"
                "8" "5000" "rate 5000"
            }
            "2" "cl_updaterate"
            {
                "1" "101" "cl_updaterate 101; ex_interp .01"
                "2" "90" "cl_updaterate 90; ex_interp 0"
                "3" "80" "cl_updaterate 80; ex_interp 0"
                "4" "70" "cl_updaterate 70; ex_interp 0"
                "5" "60" "cl_updaterate 60; ex_interp 0"
                "6" "50" "cl_updaterate 50; ex_interp 0"
                "7" "40" "cl_updaterate 40; ex_interp 0"
                "8" "30" "cl_updaterate 30; ex_interp 0"
            }
            "3" "cl_cmdrate"
            {
                "1" "101" "cl_cmdrate 101"
                "2" "90" "cl_cmdrate 90"
                "3" "80" "cl_cmdrate 80"
                "4" "70" "cl_cmdrate 70"
                "5" "60" "cl_cmdrate 60"
                "6" "50" "cl_cmdrate 50"
                "7" "40" "cl_cmdrate 40"
                "8" "30" "cl_cmdrate 30"
            }
     }


Pour la première ligne c'est exactement pareil sauf que le 2 veux dire que c'est la deuxième ligne
"Settings" : Titre du second menu
{ = annonce le début d'un sous-menu
"1" = premier sous-menu
"rate" = "nom du premier sous menu"
{ = annonce un nouveau sous-menu à rate
"1" "25000" "rate 25000" = le premier sous-menu nommé 25000 executera la ligne de code "rate 25000" et modifiera la valeur de votre rate au sein de votre config.cfg

[...]

} = annonce la fin d'un sous-menu

     Voila, pas la peine de faire toutes les lignes non plus, la structure est récurrente. En gros pour ne pas faire d'erreur dans le fichier commandmenu.txt il faut respecter ça:

  • L'ordre des colonnes ( 1, 2 , 3 .... )
  • Si vous voulez que rien ne se passe quand vous cliquez, pensez a ne rien mettre après le nom de votre (sous)menu ( /! si vous mettez "" exemple ici: "1" "Menu test" "" , comme indiqué plus haut, quand vous cliquerez dessus ça fermera le menu )
  • Penser a bien fermer vos menu ( par les symbole "}" )
  • Ne jamais mettre des "" dans vos noms de menu, sinon le commandmenu les considérera comme une commande et tout sera alors illisible et carrément infâme ( exemple "1" "Menu "cs"" "" )
  • Penser a mettre a la fin de votre menu une touche pour fermer le commandmenu ( pas forcément nécessaire, la touche qui ouvre le commandmenu peut aussi le refermer )
  • Eviter les "é è @ à etc... car souvent mal traduit par cs

4. Comment réaliser son propre commandmenu ?


    Si vous lisez ce superbe tutorial, c'est déjà pas mal (faut bien se vendre). Commencez donc par appliquer la structure décrite ci-dessus :


"1" "Votre titre" ""
"2" "votre menu"
{
    "1" "mon premier sous menu"
     {
            "1" "le nom de ce que ça va faire" "la commande spécifique"
            "2" "toujours pareil" "la commande spécifique"
     }
    "2" "mon deuxième sous menu"
    {
            "1" "toujours pareil" "la commande spécifique"
            "2" "toujours pareil" "la commande spécifique"
    }
}
"3" "fermer le commandmenu" ""


    Désormais, il ne vous reste plus qu'à choisir quelles commandes vous désirez entrer dans votre commandmenu, quels menu et sous-menus vous désirez créer, etc. Plutôt que de copier des centaines de lignes de codes à la suite de ce dossier, je vous invite vivement à visiter le site suivant afin de découvrir quelles sont les commandes programmables dans CS (ndlr: quelques exemples généraux sont donnés dans le dernier point). Par ailleurs, le forum de CS-Fusion regorge de topic contenant des binds et alias qui vous permettront de réaliser de nombreuses combinaisons.

    Si jamais vous avez des questions, passez sur le forum il y a un topic dédié ici. Et au pire, envoyez moi un mail à l'adresse debian83@hotmail.fr.


5. Exemples de binds courants


// NetGraph :

"1" "NetGraph"
{
     "1" "Net Graph Off" "net_graph 0"
     "2" "Net Graph 1 On" "net_graph 1"
     "3" "Net Graph 2 On" "net_graph 2"
     "4" "Net Graph 3 On" "net_graph 3"
     "5" "Cancel "slot10"
}

// Achat :

"2" "Achats multiples"
{
    "1" "Deagle, Kevlar, Diffuse Kit" "deagle; secammo; vesthelm; defuser"
    "2" "Ak-M4, Kevlar, Diffuse Kit" "m4a1; ak47; primammo; vesthelm; defuser"
    "3" "Full stuff" "ak47; m4a1; primammo; deagle; secammo; vest; vesthelm; hegren; defuser;"
    "4" "Full stuff csfufu style" ""mac10; tmp; primammo; elites; secammo; vest; vesthelm; Nvgs;"
    "5" "Grenades" "hegren; flash; Sgren;"
    "6" "Je suis riche et je te merde" ""awp; primammo; deagle; secammo; vesthelm; hegren; flash; Sgren; defuser; Nvgs;"
}

// Droitier - Gaucher :

"3" "Cote Arme"
{
    "1" "Droitier" "cl_righthand 1"
    "2" "Gaucher" "cl_righthand 0"
}

// Commandes à la con

"4" "Divers"
{
    "1" "Timeleft nextmap" "say timeleft; say nextmap"
    "2" "Pub de batard" "say www.cs-fusion.com & #csfusion sur Quakenet : pour donner un sens à ta vie"
    "3" "Non je ne suis pas un autiste" "say gnieeeeeeee KEKETTE §§§"
    "4" "Kick facile" "say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;say PEDALES;"
    "5" "Le bouton magique" "quit"
}

    Un futur dossier sur la configuration de CS est à prévoir prochainement. Comme il dit MeNeS, STAY TUNNEL. Ahah, comment c'est la honte MeNeS de dire ça !

Source: Osmoz.rpm
Ajouts et corrections: TpS o/


 
 
charte du site - Flux RSS cs-fusion - Design par gm4n - Code par BadGOne & modifié par S4rum4n
Informations Légales du site