Affichage des résultats 1 à 3 sur 3

Discussion: [SourceBan] SBBanPlayer -> Problème

  1. #1
    Newbee
    Date d'inscription
    May 2017
    Messages
    2

    Angry [SourceBan] SBBanPlayer -> Problème

    (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.

  2. #2
    Modérateur

    Date d'inscription
    May 2011
    Localisation
    Belgique
    Messages
    3 099

    Par défaut

    Montre le code, sans ça je saurais pas t'aider


  3. #3
    Newbee
    Date d'inscription
    May 2017
    Messages
    2

    Par défaut

    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

    Code:
    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;
    }

Informations de la discussion

Utilisateur(s) sur cette discussion

Il y a actuellement 1 utilisateur(s) naviguant sur cette discussion. (0 utilisateur(s) et 1 invité(s))

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •