Sistema administrativo

Buenas noches, en esta ocasión quisiera compartir con ustedes una forma de como construir un sistema administrativo básico, cabe aclarar que al ser un sistema básico deberán de construir por ustedes mismos las demás funcionalidades que le quieran agregar, por ejemplo comandos.

Recomendaciones

Es recomendable tener conocimientos básicos sobre las siguientes cosas:

  • Variables
  • Enumeradores
  • Funciones (Stocks)

Sin mas que aclarar comencemos

Código del sistema

Bien, para comenzar deberemos de crear un enumerador para la información del jugador, ahí se guardara la información del jugador, esto nos ayudara mas tarde a realizar ciertas validaciones.

enum pInfo {
    pName[MAX_PLAYER_NAME],
    pClave[40],
    pAdmin
};
new PlayerInfo[MAX_PLAYERS][pInfo]; 

Luego de a ver creado el enumerado que almacena la información del jugador, nos tocara crear otro enumerador/variable para almacenar nuestros rangos administrativos, este "enumerador" será de dos dimensiones ósea bidimensional.

new staff_rank[6][64] = {
    {"Usuario"},
    {"Ayudante"},
    {"Moderador"},
    {"Moderador Global"},
    {"Administrador"},
    {"Dueño"}
};```

Luego de crear el "enumerador" procederemos a crear dos funciones, una para obtener el nombre del jugador para no tener que estar creando variables para ello y otra para obtener el rango administrativo por si lo llegáramos a necesitar mas tarde.

stock GetPlayerNameEx(playerid)
{
    new name[24 + 1];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}

stock GetRankStaff(playerid)
{
    new adm = PlayerInfo[playerid][Admin];
    return staff_rank[adm];
}

Perfecto, en pocas palabras el sistema esta terminado pero claro surge una pregunta ¿Cómo me dare admin?,
Esa es la parte mas sencilla de todas, vamos a realizar la creación de un comando básico para darnos admin en nuestra gamemode.

Recomendable tener un procesador de Comandos, usare ZCMD.

CMD:setadmin(playerid, params[])
{
    if(sscanf(params, "dd", params[0], params[1])) return SendMessageEx(playerid, -1, "[*] Uso /setadmin [ID][Rango]");
    {
        if(params[1] == PlayerInfo[params[0]][Admin]) return SendClientMessage(playerid, -1, "[*] El jugador ya tiene ese rango");
        
        if(params[1] < 0 || params[1] > 5) return SendMessageEx(playerid, -1, "[*] Rango Invalido");
        PlayerInfo[params[0]][Admin] = params[1];

        new str[60];
        format(str, sizeof(str), "[*] Se te a otorgado el rango %s", staff_rank[params[1]]);
      > SendClientMessage(playerid, -1, str);
        }
    }
    return 1;
}

Listo, con eso ya tendrian un sistema básico de administracion para su servidor, claramente pueden mejorarlo usando MySQL u demas cosas pero eso queda a criterio de ustedes, Muchas Gracias por Leer.

Tutorial creado por zTrax (Bernard Martinez) 19/10/2023 2:43

un mes más tarde

Estadísticas

Servidores totales:

Jugadores en línea:

open.mp:





© 2024 OtherClap. Todos los derechos reservados.