August 12, 201411 yr comment_179893 Bonjour à tous ! Aujourd'hui je vais vous présenter un tutoriel qui a déjà été posté sur le forum mais qui est faux. premièrement nous allons procurer aux explications. Alors, comme d'habitude, on met l'include sourcemod #include <sourcemod>Ensuite, on prévient l'ouverture du plugin comme ceci: public OnPluginStart() { //code }A l'intérieur de la variable OnPluginStart on ajoute la variable qui permettra de définir la commande pour ouvrir le menu: RegConsoleCmd("sm_menu", Menu1);Maintenant nous allons prévenir que cette commande ouvrira le menu: public Action: Menu1(client, args) { //code }A l'intérieur de ce code, nous allons définir le titre du menu ainsi que son contenu, mais avant ça, il faut créer le menu avec ce code: new Handle:menu = CreateMenu(OpenMenu);Pour définir le titre du menu on utilise la variable SetMenuTitle: SetMenuTitle(menu, "Titre du menu");Puis, on ajoute son contenu avec la variable AddMenuItem: AddMenuItem(menu, "Contenu 1", "Contenu1"); AddMenuItem(menu, "Contenu 2", "Contenu2"); AddMenuItem(menu, "Contenu 3", "Contenu3");On affiche si oui ou non, nous voulons que le joueur ferme le menu sans sélectionner un contenu (ici Oui): SetMenuExitButton(menu, true); Et pour finir, on définit combien de temps doit rester ouvert le menu: DisplayMenu(menu, client, MENU_TIME_FOREVER); MENU_TIME_FOREVER signifie que nous voulons ouvrir le menu sans aucun temps.Si nous souhaitons ouvrir notre menu pour par exemple 30 secondes, il faut remplacer MENU_TIME_FOREVER par le nombre de secondes, ce qui donnera ça: DisplayMenu(menu, client, 30);Ensuite c'est cool d'avoir notre menu, mais disons que nous souhaitons qu'à chaque contenu sélectionné, nous voulons qu'un texte s'affiche dans le chat du jeu, alors nous utiliserons ceci: public OpenMenu(Handle:menu, MenuAction:action, client, itemNum)on définit l'action : if ( action == MenuAction_Select )On procède à un switch pour être plus clair ça veut dire que nous disons à SourceMod que nous souhaitons changer la selection en une phrase: switch (itemNum)Et maintenant, on définit chaque contenu en utilisant case: case 0 : PrintToChat(client, "ça affiche le contenu 1"); case 1 : PrintToChat(client, "ça affiche le contenu 2"); case 2 : PrintToChat(client, "ça affiche le contenu 3");Et notre code au final donnera ça: #include <sourcemod> public OnPluginStart() { { RegConsoleCmd("sm_regle", Menu1, "Affiche le menu"); } } public Action: Menu1(client, args) { new Handle:menu = CreateMenu(OpenMenu); SetMenuTitle(menu, "Titre du menu"); AddMenuItem(menu, "Contenu 1", "Contenu1"); AddMenuItem(menu, "Contenu 2", "Contenu2"); AddMenuItem(menu, "Contenu 3", "Contenu3"); SetMenuExitButton(menu, true); DisplayMenu(menu, client, MENU_TIME_FOREVER); } public OpenMenu(Handle:menu, MenuAction:action, client, itemNum) { if ( action == MenuAction_Select ) { switch (itemNum) { case 0 : PrintToChat(client, "ça affiche le contenu 1"); case 1 : PrintToChat(client, "ça affiche le contenu 2"); case 2 : PrintToChat(client, "ça affiche le contenu 3"); } } }Voilà, ce tutoriel est authentique, je ne l'ai pas copié/collé d'un autre forum, j'ai écris les codes à la main. En cas d'erreur dans mon code, prévenez moi je corrigerais. A bientôt pour un nouveau tuto Edited August 12, 201411 yr by K4nsuke Report
August 13, 201411 yr comment_179912 K4nsuke, je t'ai sur Skype :-)J'suis jaloux, j'te veux aussi sur Skype vieux Report
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.