Aller au contenu
News ticker
  • Bienvenue sur le nouveau forum VeryGames
  • Welcome to the new VeryGames forum
  • VeryNews

    [SourceBan] SBBanPlayer -> Problème


    NeoXw

    Messages recommandés

    (Je ne suis pas sûr de demander au bon endroit, mais autant essayer)

     

    Bonjour, Bonsoir,

     

    Codeur débutant, j'ai crée un menu admin (je sais qu'il y en a déjà un bla bla bla), avec des fonctions réduites pour justement un groupe d'admin, bref, j'ai utilisé la native "SBBanPlayer" du sourceban mais comme j'ai un ****** de clavier de caca, au niveau du temps, j'ai mis un 0 (que je n'avais pas vu avant de test) donc, permanent, problème lors du test :

     

    • Le ban ne s'affiche pas sur le sourceban.
    • Il n'est pas enregistré sur la base SQL.
    • Il n'est pas enregistré sur le ftp (banned_user.cfg | banned_ip.cfg)

    Or, lorsque je reboot le serveur, le client en question n'est pas ban, ok, d'accord, dès qu'il se déconnecte et qu'il revient, il est ban, pourquoi pas, mais le ban ne s'affiche nul part ou il est caché à quelque part mais je ne le trouve pas.

    Autre observation, il y a 5 serveurs tous connectés au sourceban (3 CSS et 2 CSGO), ce que j'aime encore plus c'est qu'il est ban que d'un seul serveur (celui où le test à eu lieu), il n'a aucun soucis avec les autres serveurs, la connexion se fait comme si de rien n'était.

    J'aimerai comprendre le pourquoi du comment (maintenant tout de suite ça fonctionne bien, quand je ban quelqu'un depuis le menu, le ban s'affiche et s'enregistre, pas de bugs rien) et comment puis-je faire pour faire en sorte qu'il ne se fasse plus bannir par je ne sais quelle chose.

     

    Cordialement.

    Lien vers le commentaire
    Partager sur d’autres sites

    La partie que j'utilise pour le ban, c'est peut-être pas la meilleure manip au niveau du menu mais, j'débute comme tu le sais, et je fais avec ce que je sais. Le truc c'est que la maintenant en faite ça fonctionne très bien, je ne vois pas en quoi ça peut te servir, j'pense que le problème vient d'ailleurs

     

    public Plugin:myinfo = {
       name = "*~ Menu Surveillant ~*",
       author = "NeoX",
       description = "Menu pour les Surveillants Ba_Jail",
       version = "1.2",
       url = ""
    }
    
    #pragma semicolon 1
    #pragma tabsize 0
    
    #include <sourcemod>
    #include <smlib>
    #include <sourcebans>
    
    int BAN_RAISON;
    
    public OnPluginStart()
    {
       RegAdminCmd("sm_sadmin", Cmd_sAdminMenu, ADMFLAG_CUSTOM4, "Menu Admin Surveillants");
    }
    
    public Action:Cmd_sAdminMenu(client, args)
    {
       sAdminMenu_princ(client);
    }
    
    //----------------------------------------------------------------------------------------------------------------------------------------------
    public sAdminMenu_princ(client)
    {
       if(!IsClientValid(client))
           return;
    
       new Handle:menu_princ = CreateMenu(Princ_Menu);
    
       SetMenuTitle(menu_princ, "Surveillant : %N", client);
       AddMenuItem(menu_princ, "", "Gestion des Joueurs");
       SetMenuExitButton(menu_princ, true);
    
       DisplayMenu(menu_princ, client, MENU_TIME_FOREVER);
    }
    
    public Princ_Menu(Handle:menu, MenuAction:action, client, item)
    {
       if(action == MenuAction_Select)
       {
           switch(item)
           {
               case 0: {
                   sAdminMenu_Joueurs(client);
               }
           }
       }
       else if(action == MenuAction_End)
           CloseHandle(menu);
    }
    
    public sAdminMenu_Joueurs(client)
    {
       if(!IsClientValid(client))
           return;
    
       new Handle:menu_joueurs = CreateMenu(Joueurs_Menu);
    
       AddMenuItem(menu_joueurs, "", "Bannir un Joueur");
       SetMenuExitButton(menu_joueurs, true);
    
       DisplayMenu(menu_joueurs, client, MENU_TIME_FOREVER);
    }
    
    public Joueurs_Menu(Handle:menu, MenuAction:action, client, item)
    {
       if(action == MenuAction_Select)
       {
           switch(item)
           {
               case 0: {
                   new Handle:menu_banr = CreateMenu(Ban_Raison);
    
                   SetMenuTitle(menu_banr, "Raison du ban :");
                   AddMenuItem(menu_banr, "", "Freekill");
                   AddMenuItem(menu_banr, "", "Insultes");
                   AddMenuItem(menu_banr, "", "Irrespect");
                   AddMenuItem(menu_banr, "", "Provocation");
                   AddMenuItem(menu_banr, "", "Non-Respect des règles");
                   AddMenuItem(menu_banr, "", "Spam Micro/Chat");
                   SetMenuExitButton(menu_banr, true);
    
                   DisplayMenu(menu_banr, client, MENU_TIME_FOREVER);
               }
           }
       }
       else if(action == MenuAction_End)
           CloseHandle(menu);
    }
    
    //BAN----------------------------------------------------------
    public Ban_Raison(Handle:menu, MenuAction:action, client, item)
    {
       if(action == MenuAction_Select)
       {
           BAN_RAISON = item;
           Ban_cJoueur(client);
       }
       else if(action == MenuAction_End)
           CloseHandle(menu);
    }
    
    public Ban_cJoueur(client)
    {
       new Handle:menu_banj = CreateMenu(Ban_Joueur);
    
       SetMenuTitle(menu_banj, "Bannir un Joueur :");
       AddMenuItem(menu_banj, "", "Durée du ban : 10 Minutes.", ITEMDRAW_DISABLED);
       ChoosePlayer(menu_banj);
       SetMenuExitButton(menu_banj, true);
    
       DisplayMenu(menu_banj, client, MENU_TIME_FOREVER);
    }
    
    public Ban_Joueur(Handle:menu, MenuAction:action, client, player)
    {
       if(action == MenuAction_Select)
       {
           decl String:info[5];
    
           GetMenuItem(menu, player, info, sizeof(info));
           new client2 = StringToInt(info);
    
           switch(BAN_RAISON)
           {
               case 0: {
                   SBBanPlayer(client, client2, 10, "[sAdmin] Freekill");
                   PrintToChat(client, "[sM_sAdmin] Merci de contacter un admin pour un prolongement potentiel du ban.");
               }
               case 1: {
                   SBBanPlayer(client, client2, 10, "[sAdmin] Insultes");
                   PrintToChat(client, "[sM_sAdmin] Merci de contacter un admin pour un prolongement potentiel du ban.");
               }
               case 2: {
                   SBBanPlayer(client, client2, 10, "[sAdmin] Irrespect");
                   PrintToChat(client, "[sM_sAdmin] Merci de contacter un admin pour un prolongement potentiel du ban.");
               }
               case 3: {
                   SBBanPlayer(client, client2, 10, "[sAdmin] Provocation");
                   PrintToChat(client, "[sM_sAdmin] Merci de contacter un admin pour un prolongement potentiel du ban.");
               }
               case 4: {
                   SBBanPlayer(client, client2, 10, "[sAdmin] Non-Respect des règles");
                   PrintToChat(client, "[sM_sAdmin] Merci de contacter un admin pour un prolongement potentiel du ban.");
               }
               case 5: {
                   SBBanPlayer(client, client2, 10, "[sAdmin] Spam Micro/Chat");
                   PrintToChat(client, "[sM_sAdmin] Merci de contacter un admin pour un prolongement potentiel du ban.");
               }
           }
       }
       else if(action == MenuAction_End)
           CloseHandle(menu);
    }
    
    stock bool:IsClientValid(client, bool:checkConnected=true)
    {
       if(client <= 0 || client > MaxClients){
           return false;
       }
    
       if(checkConnected && !IsClientConnected(client) || !IsClientInGame(client)){
           return false;
       }
    
       if(IsClientSourceTV(client) || IsFakeClient(client)){
           return false;
       }
    
       return true;
    }
    
    ChoosePlayer(Handle:menu)
    {
       decl String:name[MAX_NAME_LENGTH];
       decl String:index[8];
       new total = 0;
    
       for(new i=1; i<MaxClients; i++)
       {
           if(IsClientValid(i) && !Client_HasAdminFlags(i, ADMFLAG_KICK))
           {
               GetClientName(i, name, sizeof(name));
               IntToString(i, index, sizeof(index));
               AddMenuItem(menu, index, name);
               total++;
           }
       }
       if(total == 0)
           AddMenuItem(menu, "", "Euuuuuuh ... Nan.", ITEMDRAW_DISABLED);
    
       return total;
    }

    Lien vers le commentaire
    Partager sur d’autres sites

    Rejoindre la conversation

    Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

    Invité
    Répondre à ce sujet…

    ×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

      Seulement 75 émoticônes maximum sont autorisées.

    ×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

    ×   Votre contenu précédent a été rétabli.   Vider l’éditeur

    ×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

    ×
    ×
    • Créer...