Se connecter / S'enregistrer
Votre question

[TUTO] Réaliser son propre commandmenu pour CS 1.6 ou CZ

Tags :
  • FPS
  • Jeux
Dernière réponse : dans Jeux et consoles
25 Mai 2007 15:49:25

Bonjour à tous, vous êtes sur le point de lire mon second tuto (je ne dis pas deuxième parce que je ne sais pas si il y en aura un troisième).

Celui-ci va donc porter sur le commandmenu de CS. Vous êtes plusieurs à savoir déjà ce que c'est et d'autres non, donc je vais expliquer brièvement :

Le commandmenu est un fichier texte (*.txt) qui se trouve dans votre répertoire CS habituel (\cstrike ou \cstrike_french). Dans le jeu on peut l'ouvrir en appuyant sur la touche "H" par défaut du clavier. Si ça ne marche pas, vérifiez que vous possédez un commandmenu.txt dans votre répertoire CS et que vous avez dans votre config.cfg la ligne : bind "h" "+commandmenu". Si vous n'avez pas de commandmenu, prenez celui ci-après.
Dedans se trouve une sorte de "code" propre à lui-même et facilement compréhensible. Comme son nom l'indique le commandmenu (en français : menu de commandes) comprend donc des commandes.

"Qu'est-ce qu'une commande ?"

C'est une action qui va s'exécuter lorsque que l'on va cliquer sur son nom (autrement dit, un bind). Exemple concret : Lorsque vous tirez dans CS, vous cliquez sur le clic gauche de la souris, celui-ci est donc associé à l'action "tirer" d'où bind "MOUSE1" "+attack".

Maintenant que ceci est mis au clair, nous allons parler d'un petit (ou grand) menu in-game (dans le jeu) qui va vous être utile pour la plupart d'entre vous ; voire indispensable pour les administrateurs de serveur (d'ailleurs le commandmenu est la meilleure alternative de Révolution Script).

Donc pour ceux qui ne savent pas à quoi le commandmenu ressemble je vous montre une capture d'écran de celui qu'on va étudier :

***CAPTURE D'ÉCRAN*** (s'ouvre dans un autre onglet)

Vous le voyez, il est fait d'un menu principal avec "Current game" etc et de sous menus dans lesquels on intègre des sous-menus et encore et encore.

"Est-ce qu'il y a une limite ?"

Je dirais oui, vous le voyez sur mon screen on ne peut pas aller trop en bas car après on ne pourra pas voir étant donné la résolution dans laquelle on joue (ici du 800*600). Donc plus vous jouez avec une grande résolution, plus vous pourrez avoir de choses. Attention aussi, ne pas mettre de choses inutiles dans le commandmenu afin qu'il garde son efficacité et que vous ne cherchiez pas pendant 3 heures votre commande.

Petite précision au passage, ce commandmenu est tiré du "CPL GUI" (Si vous voulez en savoir plus sur les GUI, rendez-vous ici)

Si on ouvre ce commandmenu avec un éditeur texte (type bloc-notes Windows) on obtient ceci :

  1. // CPL VGUI MENU
  2.  
  3. "1" "Current Game"
  4. {
  5. "1" "Show Map Briefing" "!MAPBRIEFING"
  6. "2" "Change Team" "chooseteam"
  7. "3" "Show Time Left" "timeleft"
  8. }
  9.  
  10.  
  11. "2" "Team Messages"
  12. {
  13.  
  14. "1" "'Acknowledged'" "roger"
  15. "2" "'Negative'" "negative"
  16. "3" "'Need backup!'" "needbackup"
  17. "4" "'Go Go Go!'" "go"
  18. "5" "'Cover me!'" "coverme"
  19. "6" "On my way" "roger; say_team On my way.."
  20. "7" "Covering fire!" "go; say_team Covering fire!"
  21. "8" "Complete the objective" "regroup; say_team Complete the objective, team."
  22. "9" "Sniper spotted" "enemyspot; say_team Sniper spotted!"
  23. }
  24.  
  25.  
  26. "3" "Client Options"
  27. {
  28. "1" "Gameplay Settings"
  29. {
  30. "1" "Weapon Hands"
  31. {
  32. "1" "Use Right Models" "cl_righthand 1"
  33. "2" "Use Left Models" "cl_righthand 0"
  34. }
  35. "2" "Menu Type"
  36. {
  37. "1" "VGUI" "setinfo _vgui_menus 1"
  38. "2" "Classic Text" "setinfo _vgui_menus 0"
  39. }
  40. "3" "Dynamic Crosshair"
  41. {
  42. "1" "On" "cl_dynamiccrosshair 1"
  43. "2" "Off" "cl_dynamiccrosshair 0"
  44. }
  45. "4" "Center ID"
  46. {
  47. "1" "On" "hud_centerid 1"
  48. "2" "Off" "hud_centerid 0"
  49. }
  50. "5" "Radar Type"
  51. {
  52. "1" "Transparent" "cl_radartype 0"
  53. "2" "Solid" "cl_radartype 1"
  54. }
  55. "6" "Show FPS"
  56. {
  57. "1" "Show FPS" "cl_showfps 1"
  58. "2" "Hide FPS Display" "cl_showfps 0"
  59. }
  60. "7" "Auto Weapon Switch"
  61. {
  62. "1" "On" "setinfo _cl_autowepswitch 1"
  63. "2" "Off" "setinfo _cl_autowepswitch 0"
  64. }
  65. "8" "HUD Fastswitch"
  66. {
  67. "1" "Disable HUD Fastswitch" "hud_fastswitch 0"
  68. "2" "Enable HUD Fastswitch" "hud_fastswitch 1"
  69. }
  70. "9" "Zoom Sensitivity" "messagemode zoom_sensitivity_ratio"
  71. "10" "Mouse Sensitivity" "messagemode sensitivity"
  72.  
  73.  
  74. }
  75.  
  76. "2" "Change Crosshair Color" "adjust_crosshair"
  77. "3" "Change Name" "messagemode name"
  78. "4" "Change Team" "chooseteam"
  79. }
  80.  
  81. "4" "Drop Weapon" "drop"


Donc pour étudier le menu principal, on voit "Current Game", c'est le premier élément, il porte le "1". En dessous on lui ouvre une accolade { pour montrer que l'on veut un sous-menu et on remet un "1" qui sera le premier élément de ce sous-menu. C'est une commande au nom de "Show Map Briefing", elle exécutera "!MAPBRIEFING" ce qui montrera le briefing de la map en cours (planter la bombe ou sauver des otages), je reconnais que c'est pas super intéressant parce que ça on le sait mais bon, c'est pour vous montrer comment c'est fait.
Toujours dans le sous-menu du "Current Game" on a en petit "2" qui porte comme nom "Change Team", vous l'aurez compris, en cliquant dessus vous pourrez changer d'équipe donc ça executera la commande "chooseteam". On passe le petit "3" et on voit que l'accolade que vous avions ouverte à été fermée } ce qui signifie la fin du menu "Current Game".

Notez la présence de tabulations pour mieux percevoir les menus et sous-menus, sans ça c'est très difficile de s'y retrouver.

On ouvre un grand "2" qui va signifier qu'il y a un deuxième élément au menu principal. Donc on lui donne un nom "Team messages" on ouvre sa petite accolade { pour montrer que l'on va faire un sous-menu et on place le premier petit "1"... Vous voyez c'est pas trop compliqué. Ce qui l'est en revanche, c'est pour le troisième élément du menu (grand "3"), il comporte un sous-menu dans un sous-menu. Je vais essayer de détailler un peu ce qui se passe :

Si ça peut vous aider, remontez voir mon screenshot pour bien voir l'arborescence que prend le grand "3". Il s'appelle bien "Client Options", on veut un sous-menu donc une accolade ouverte {, on met le petit "1" "Gameplay Settings" MAIS, on veut un sous-menu à ce petit "1" donc logiquement on va réouvrir une accolade { et entrer le petit petit "1" (la répétition est volontaire pardonnez-moi). En premier lieu on va vouloir avoir le choix entre "porter son arme dans la main gauche ou droite". Alors à ce petit petit "1" on va assigner le nom anglais "Weapon Hands" on va remettre une petite accolade { et donc remettre un petit petit petit "1" pour choisir "la main droite" donc place au code car c'est plus parlant :

  1. "3" "Client Options"
  2. {
  3. "1" "Gameplay Settings"
  4. {
  5. "1" "Weapon Hands"
  6. {
  7. "1" "Use Right Models" "cl_righthand 1"
  8. "2" "Use Left Models" "cl_righthand 0"
  9. }


Notez qu'il ne faut pas oublier de fermer les accolades. Ca peut vous paraître le foullis dans mes explications mais c'est vraiment pas facile à expliquer. C'est très visuel, vous pouvez comprendre par vous même en regardant comment le commandmenu est fait. A partir de là, vous pouvez le personnaliser à votre goût. Vous pouvez y ajouter des commandes d'admins si vous l'êtes ce qui facilite vraiment la tâche une fois dans le jeu. Je peux vous renvoyer vers mon premier tuto concernant le RCON pour les administrateurs de serveurs CS 1.6 et CZ.

Exemple :

  1. "1" "Admins cmd"
  2. {
  3. "1" "Restart"
  4. {
  5. "1" "1 sec" "rcon sv_restart 1"
  6. "2" "3 sec" "rcon sv_restart 3"
  7. "3" "5 sec" "rcon sv_restart 5"
  8. }
  9. }


Mon tutoriel touche à sa fin, j'espère vous avoir été d'une utilité et vous avoir fait découvrir/revoir le commandmenu de CS. Maintenant, place à vos questions, vos déclarations d'amour remarques et tout et tout...

Je vous remercie d'avoir pris la peine d'avoir lu jusqu'au bout et à bientôt. :) 

Par Desolation.

Autres pages sur : tuto realiser propre commandmenu

25 Mai 2007 16:30:09

Merci pour ton TUTO très bien expliqué, Mais il marche pour tous les CS?
25 Mai 2007 16:32:04

Faut demander à ganondorf150 si ça marche pour CS:S. Cs 1.6 et CZ c'est sûr. :) 
Contenus similaires
25 Mai 2007 16:38:27

Très bien expliqué .
25 Mai 2007 16:48:06

Joli tuto tu as du y passer bien du temps ^^.
Sinon il n'y a pas de commandmenu pour CSS, peut etre qu'il en viendra un dans une future mise a jour qui sait ;) .
25 Mai 2007 17:05:43

Quelqu'un a deja essayer d'en faire un? ou ça a été décrété qu'on peut pas?
25 Mai 2007 17:26:33

J'en sais rien, t'as qu'à essayer. :) 

Réfère toi au début du tuto où j'explique pour ceux qui n'en n'ont pas.
26 Mai 2007 10:35:16

Up pour ce tuto qui est déjé en train de couler dans les archives d'IDN...
3 Juin 2007 20:13:44

petite question comment peu on faire pour les pseudos ?
21 Août 2007 19:20:26

j'ai tout lu et je ne trouv pas le commandmenu.txt

et des config.cfg j'en est au moin 10
21 Août 2007 20:10:44

Desolation a dit :

Le commandmenu est un fichier texte (*.txt) qui se trouve dans votre répertoire CS habituel (\cstrike ou \cstrike_french). Dans le jeu on peut l'ouvrir en appuyant sur la touche "H" par défaut du clavier. Si ça ne marche pas, vérifiez que vous possédez un commandmenu.txt dans votre répertoire CS et que vous avez dans votre config.cfg la ligne : bind "h" "+commandmenu". Si vous n'avez pas de commandmenu, prenez celui ci-après.

5 Octobre 2007 19:16:41

bonjour voila j'ai un commandmnu.txt que jai cree mais ejn suis arriver a un poiint de crise que je n'rrive pas a resoudre voila le.txt
//
//
//
// Limitation :
// Maximum of 40 menus.
// Maximum of 100 buttons per menu.

//--------------------------------------------------------




"1" "Toute les maps"
{
"1" "Maps aaa"
{


"1" "aaa_aim" "amx_map aaa_aim"
"2" "aaa_awp" "amx_map aaa_awp"
"3" "aaa_deagle" "amx_map aaa_deagle"
"4" "aaa_famas" "amx_map aaa_famas"
"5" "aaa_glock" "amx_map aaa_glock"
"6" "aaa_knife" "amx_map aaa_knife"
"7" "aaa_scout" "amx_map aaa_scout"
"8" "aaa_shotgun" "amx_map aaa_shotgun"
"9" "aaa_usp" "amx_map aaa_usp"



}

"2" "Maps aim"
{
"1" "Maps aim 1"
{

"1" "aim_aaacity" "amx_map aim_aaacity"
"2" "aim_ak-colt" "amx_map aim_ak-colt"
"3" "aim_ak-colt-simpsons_v2-1" "amx_map aim_ak-colt-simpsons_v2-1"
"4" "aim_ak-colt2k3" "amx_map aim_ak-colt2k3"
"5" "aim_ak-colt_pool" "amx_map aim_ak-colt_pool"
"6" "aim_ak47_toxic_v1_1" "amx_map aim_ak47_toxic_v1_1"
"7" "aim_ak_colt_x" "amx_map aim_ak_colt_x"
"8" "aim_assault" "amx_map aim_assault"
"9" "aim_awp" "amx_map aim_awp"
}

"2" "Maps aim 2"
{
"1" "aim_aztec" "amx_map aim_aztec"
"2" "aim_aztec2003" "amx_map aim_aztec2003"
"3" "aim_bolos" "amx_map aim_bolos"
"4" "aim_crazyjump" "amx_map aim_crazyjump"
"5" "aim_crazyjump2" "amx_map aim_crazyjump2"
"6" "aim_crazyjump3" "amx_map aim_crazyjump3"
"7" "aim_deagle2k" "amx_map aim_deagle2k"
"8" "aim_deathmatch" "amx_map aim_deathmatch"
"9" "aim_dust" "amx_map aim_dust"

}

"3" "Maps aim 3"
{

"1" "aim_dust2003" "amx_map aim_dust2003"
"2" "aim_headshot" "amx_map aim_headshot"
"3" "aim_jah" "amx_map aim_jah"
"4" "aim_map" "amx_map aim_map"
"5" "aim_map_usp" "amx_map aim_map_usp"
"6" "aim_pistols" "amx_map aim_pistols"
"7" "aim_scoutmap" "amx_map aim_scoutmap"
"8" "aim_usp_map" "amx_map aim_usp_map"

}

}

"3" "Maps as"
{

"1" "as_aldea" "amx_map as_aldea"
"2" "as_hole" "amx_map as_hole"
"3" "as_oilrig" "amx_map as_oilrig"
"4" "as_rocks" "amx_map as_rocks"

}



"4" "Maps awp"
{
"1" "Maps awp 1"
{

"1" "awp_arena" "amx_map awp_arena"
"2" "awp_aztec" "amx_map awp_aztec"
"3" "awp_battle" "amx_map awp_battle
"4" "awp_bycastor2" "amx_map awp_bycastor2"
"5" "awp_castle" "amx_map awp_castle"
"6" "awp_city" "amx_map awp_city"
"7" "awp_city2" "amx_map awp_city2"
"8" "awp_gowenna2003" "amx_map awp_gowenna2003"
"9" "awp_india" "amx_map awp_india"

}

"2" "Maps awp 2"
{

"1" "awp_map" "amx_map awp_map"
"2" "awp_map999" "amx_map awp_map999"
"3" "awp_monopoly" "amx_map awp_monopoly"
"4" "awp_monopoly_v2" "amx_map awp_monopoly_v2"
"5" "awp_nuke_fun" "amx_map awp_nuke_fun"
"6" "awp_raiden578" "amx_map awp_raiden578"
"7" "awp_rats2001" "amx_map awp_rats2001"
"8" "awp_thepark" "amx_map awp_thepark"
"9" "awp_us" "amx_map awp_us"

}

}


"5" "Maps cs"
{

"1" "cs_16fighter" "amx_map cs_16fighter"
"2" "cs_4x4" "amx_map cs_4x4"
"3" "cs_747" "amx_map cs_747"
"4" "cs_akfest" "amx_map cs_akfest"
"5" "cs_assault" "amx_map cs_assault"
"6" "cs_backalley" "amx_map cs_backalley "
"7" "cs_blitztowers" "amx_map cs_blitztowers"
"8" "cs_desperados "amx_map cs_desperados"
"9" "cs_estate" "amx_map cs_estate"

}

}



"2" "Messages"
{

"1" "insultes" "amx_csay Ici insultes ou mots Grossier = ban"
"2" "Bienvenue" "amx_csay BIENVENUE A TOUS"
"3" "Trop fort" "amx_csay Si vous fraggez trop n'hesitez à vous adapter SVP et prenez un lance pierre et allez au front !"
"4" "web" "amx_csay N'hesitez pas, faite un tour http://hypnotix.halflifexpert.com et laissez des messages"
"5" "serveur FFA" "amx_csay Le serveur vous plait? visiter notre serveur FFA "
"6" "no rush" "amx_csay NO RUSH!!! NO RUSH!!! NO RUSH!!! NO RUSH!!! NO RUSH!!!"
"7" "ambiance" "amx_csay Ici regne la bonne humeur ainsi que la bonne ambiance, revener nous voir!!"
"8" "au revoir" "amx_csay Au revoir, je repasse plus tard pour faire regner l'ordre xD"
"9" "recrutement" "amx_csay Tu est une fille? Tu cherche une team girls? vien chez nous sur merci"

}

"3" "SERVEUR 1"
{


"1" "Choix armes"
{

"1" "Couteau ON" "amx_csay white COUTEAU UNIQUEMENT; amx_knives 1"
"2" "Couteau OFF" "amx_csay white MODE COUTEAU DESACTIVE; amx_knives 0"
"3" "WEAPON ARENA menu" "amx_weaponarenamenu"
"4" "WEAPON ARENA off" "amx_weaponarena off"
"5" "Weapon Arena ammo"
{
"1" "sans reload" "amx_rcon weaponarena_unlimitedammo 1"
"2" "avec reload" "amx_rcon weaponarena_unlimitedammo 2"
}

}


"2" "Restartround"
{
"1" "1 seconde" "amx_rcon sv_restartround 1"
"2" "5 secondes" "amx_rcon sv_restartround 5"
"3" "10 secondes" "amx_rcon sv_restartround 10"
}


"3" "Gravity"
{
"1" "sans gravité" "amx_rcon sv_gravity -999"
"2" "gravite tres faible" "amx_rcon sv_gravity 45"
"3" "gravite faible(250)" "amx_rcon sv_gravity 250"
"4" "gravite moyenne" "amx_rcon sv_gravity 450"
"5" "Gravite normale" "amx_rcon sv_gravity 800"
"6" "Gravité forte" "amx_rcon sv_gravity 1500"
"7" "Gravite tres forte" "amx_rcon sv_gravity 9999"
}


"4" "LUMIERE"
{
"1" "a" "amx_setlights a"
"2" "b" "amx_setlights b"
"3" "c" "amx_setlights c"
"4" "d" "amx_setlights d"
"5" "m" "amx_setlights m"
"6" "z" "amx_setlights z"
}

"5" "Alltalk"
{
"1" "ON" "amx_csay white ALLTALK : ON; amx_rcon sv_alltalk 1"
"2" "OFF" "amx_csay white ALLTALK : OFF; amx_rcon sv_alltalk 0"
}


"6" "TempsMap"
{
"1" "Prolonger" "amx_rcon mp_timelimit 30"
"2" "FinirMap" "amx_rcon mp_timelimit 1"

}

"7" "C4timer"
{
"1" "30 secondes" "amx_rcon mp_c4timer 30"
"2" "35 secondes" "amx_rcon mp_c4timer 35"
"3" "45 secondes" "amx_rcon mp_c4timer 45"
"4" "45 secondes" "amx_rcon mp_c4timer 60"
}
}

"4" "SERVEUR 2"
{

"1" "Friendly Fire"
{
"1" "ON" "amx_csay white FRIENDLY FIRE : ON; amx_rcon mp_friendlyfire 1"
"2" "OFF" "amx_csay white FRIENDLY FIRE : OFF; amx_rcon mp_friendlyfire 0"
}


"2" "Footsteps"
{
"1" "ON" "amx_rcon mp_footsteps 1"
"2" "OFF" "amx_rcon mp_footsteps 0"
}

"3" "AllowSpectators"

{
"1" "ON" "amx_rcon allow_spectators 1"
"2" "OFF" "amx_rcon allow_spectators 0"
}

}

"5" "SERVEUR 3"
{
"1" "match"
{
"1" "match on" "amx_match2 mr12 ecup rechltv"
"2" "match off" "amx_matchstop"
"3" "match menu" "amx_matchmenu"
"4" "match stop2" "say /stop"
}






"2" "infinite money"
{
"1" "infinite money on/off" "amx_money"
}




"3" "argent"
{
"1" "Argent terro" "amx_money @TERRORIST 16000"
"2" "Argent ct" "amx_money @CT 16000"
}
}






j'aurais aimé savoir d'ou vien le bug merci d'avance pour vos reponse

3 Novembre 2009 16:58:47

Bonjour,

Je vous met un menu de commandes assez complet je pense, mais pas sans erreurs, je vous demande si vous voulez bien d'y jeter un coup d'oeil, je sais que ce topic date d'un certain temps déjà mais si de nouvelles personnes comme moi le consulte et y voyent un plan assez détaillé d'un menu complet ca les aiderai surement, voici mon menu :

Citation :
"1" "Restart"
{
"1S" "1S" "rcon sv_restart 1"
"2S" "3S" "rcon sv_restart 3"
"3S" "5S" "rcon sv_restart 5"
}
"2" "Password"
{
"1" "lolilol" "rcon sv_password lolilol"
"2" "inwar" "rcon sv_password inwar"
"3" "starlike" "rcon sv_password starlike"
"4" "stargame" "rcon sv_password stargame"
}
"3" "Divers"
{
"1" "Startmoney"
{
"1" "800" "rcon mp_startmoney 800"
"2" "16000" "rcon mp_startmoney 16000
"3" "8000" "rcon mp_startmoney 8000"
}
"2" "Say"
{
"1" "Salut" "rcon say Salut"
"2" "Ready pour la war ?!" "rcon say Ready pour la war ?!"
"3" ".:GL & HF:." "rcon say .:GL & HF:."
}
"3" "Camera"
{
"1" "Bloquée" "rcon mp_forcechasecam 0"
"2" "Libre" "rcon mp_forcechasecam 2"
"3" "Semi-Libre" "rcon mp_forcechasecam 1"
}
"4" "Roundtime | Buytime | Frezzetime"
{
"1" "Roundtime"
{
"1" "1.75" "rcon mp_roundtime 1.75"
"2" "3" "rcon mp_roundtime 3"
"3" "5" "rcon mp_roundtime 5"
"4" "10" "rcon mp_roundtime 10"
}
"2" "Buytime"
{
"1" "0.30M" "rcon mp_buytime 0.30"
"2" "0.15M" "rcon mp_buytime 0.15"
"3" "1M" "rcon mp_buytime 1"
}
"3" "Freezetime"
{
"1" "10" "rcon mp_freezetime 10"
"2" "15" "rcon mp_freezetime 15"
"3" "7" "rcon mp_freezetime 7"
}
}
"5" "Change Map"
{
"1" "de_dust2" "rcon changelevel de_dust2"
"2" "de_aztec" "rcon changelevel de_aztec"
"3" "de_nuke" "rcon changelevel de_nuke"
"4" "de_inferno" "rcon changelevel de_inferno"
"5" "de_dust" "rcon changelevel de_dust"
"6" "de_tuscan" rcon_changelevel de_tuscan"
}
}
"4" "Lancer la War" "rcon exec war.cfg"
{




Dans le menu tout marche sauf vers la fin, mais je ne sais pas d'où viens l'erreur, surement d'une accolade oublier mais j'ai repasser plusieurs fois ce texte et ne je trouve pas. Si quelqu'un pouvait me répondre. Merci

PS : les espaces ne se font pas mais je ne sais pas si les espaces aux mauvais endroits cause une erreur (si il faut que tout sois vraiment bien aligné (ce que j'ai fait)).
a b 4 Jeux
3 Novembre 2009 17:15:23

Désolation est parti y'a bien des journées .
3 Novembre 2009 22:32:39

D'accord merci bien
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS