Jump to content
News ticker
  • Bienvenue sur le nouveau forum VeryGames
  • Welcome to the new VeryGames forum
  • VeryNews

    [Tuto] Créé un addons VipMenu


    Kriax

    Recommended Posts

    Hello,

     

    Voici le tutos pour créé un addons VipMenu

     

    Dans la suite de ce tutos, je vais ajouté des bous de code, et à la fin le plugin seras complet.

    Cet exemple donneras de la vie (15 et 25), oui je sais j'ai déjà codé un plugin qui le fait, mais c'est un exemple basique.

    Dans mes autres plugins, vous verez certaines choses différentes, je fait ici se qu'il faut afin que tout sois compris.

     

    Nous commençons par include se qu'il faut :

     

    #include <sourcemod>
    #include <morecolors>
    #include <vipmenu>
    

     

    Nous définissons les valeurs de vie ajouté via une define

     

    #include <sourcemod>
    #include <morecolors>
    #include <vipmenu>
    
    #define HEALTH_ADD_1 15
    #define HEALTH_ADD_2 25
    

     

    Nous ajoutons le bonus Health dans le menu via le MapStart :

     

    #include <sourcemod>
    #include <morecolors>
    #include <vipmenu>
    
    #define HEALTH_ADD_1 15
    #define HEALTH_ADD_2 25
    
    public OnMapStart()
    {
       VipMenu_AddMenuItem("15 HP", "hp1", OnItemClic);
       VipMenu_AddMenuItem("25 HP", "hp2", OnItemClic);
    }
    

     

    # Il faut IMPÉRATIVEMENT le mettre dans le MapStart sous risque de problème d'affichage

    # Il faut voir la fonction VipMenu_AddMenuItem comme ceci :

    > VipMenu_AddMenuItem(NOM AFFICHER, VALEUR POUR LE CALLBACK, CALLBACK);

     

    Et maintenant nous appellons le CallBack afin de donner de la vie.

    Dans cet exemple je vérifie l'exactitude de deux variable String (Variable à caractère) via la fonction StrEqual :

     

    #include <sourcemod>
    #include <morecolors>
    #include <vipmenu>
    
    #define HEALTH_ADD_1 15
    #define HEALTH_ADD_2 25
    
    public OnMapStart()
    {
       VipMenu_AddMenuItem("15 HP", "hp1", OnItemClic);
       VipMenu_AddMenuItem("25 HP", "hp2", OnItemClic);
    }
    
    public OnItemClic(client, const String:sValue[])
    {
       if(StrEqual(sValue, "hp1"))
       {
           SetEntityHealth(client, GetClientHealth(client) + HEALTH_ADD_1);
           CPrintToChat(client, "{green}%s {lightgreen}Vous avez choisis {green}%iHP {lightgreen}supplémentaire", g_sPrefix, HEALTH_ADD_1);
       }
       if(StrEqual(sValue, "hp2"))
       {
           SetEntityHealth(client, GetClientHealth(client) + HEALTH_ADD_2);
           CPrintToChat(client, "{green}%s {lightgreen}Vous avez choisis {green}%iHP {lightgreen}supplémentaire", g_sPrefix, HEALTH_ADD_2);
       }
    }
    

     

    Maintenant je retire une valeur d'activation du VipMenu pour le client, si ce n'est pas fait ce seras un bonus cadeau :

     

    #include <sourcemod>
    #include <morecolors>
    #include <vipmenu>
    
    #define HEALTH_ADD_1 15
    #define HEALTH_ADD_2 25
    
    public OnMapStart()
    {
       VipMenu_AddMenuItem("15 HP", "hp1", OnItemClic);
       VipMenu_AddMenuItem("25 HP", "hp2", OnItemClic);
    }
    
    public OnItemClic(client, const String:sValue[])
    {
       if(StrEqual(sValue, "hp1"))
       {
           SetEntityHealth(client, GetClientHealth(client) + HEALTH_ADD_1);
           PrintToChat(client, "Vous avez choisis %iHP supplémentaire", HEALTH_ADD_1);
       }
       if(StrEqual(sValue, "hp2"))
       {
           SetEntityHealth(client, GetClientHealth(client) + HEALTH_ADD_2);
           PrintToChat(client, "Vous avez choisis %iHP supplémentaire", HEALTH_ADD_2);
       }
    
       VipMenu_SetClientBonusLeft(client, VipMenu_GetClientBonusLeft(client) - 1);
    
       if(VipMenu_GetClientBonusLeft(client) <= 0)
           VipMenu_ClientSetUse(client, false);
    }
    

     

    # Pour savoir comment utiliser les fonctions il suffis d'aller voir dans l'include vipmenu.inc

     

    Information :

     

    # OnItemClic : Est le nom du CallBack, vous pouvez le mettre comme vous voulez.

    # Vous n'êtes pas obliger d'utiliser une vérification de string si vous ajouté qu'un bonus par plugin, il suffiras de faire :

    ## VipMenu_AddMenuItem("15 HP", _, OnItemClic);

    ## Et continuer sans le if(StrEqual, sValue "..."))

     

    Voilà, rien de plus simple :)

    Edited by Kriax
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Reply to this topic...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...