[FilterScript] Bloqueador de usuarios
#1

Bloqueador de Users

* Informaciуn: Es un filescript que he hecho en un momento para un usuario de pawnoscripting, que sirve para bloquear cuentas (Solo nombres, pero si quieres lo pongo para ip tambiйn pero seria un ban xD).

* Comando: /bloquear (Es para rcon, si lo quereis para admin con nivel, pasarlo a vuestro gamemode)

* Fotos: No tengo, pero funciona, testeado.


* AVISO: Es necesario crear una carpeta llamada Bloqueados en scriptfiles!

* Descarga: http://pastebin.com/Mvf8vK1c

* Crйditos: Toggle (Yo) Scripteado

Tienes alguna sugerencia para el FS? Posteala aqui y yo te dirй si lo puedo hacer y lo intentare!
Saludos espero que os guste!
Reply
#2

Sugerencia: cambiale la extensiуn al archivo, los sistemas de archivos INI usan esa extensiуn y se pueden mezclar.
Reply
#3

Quote:
Originally Posted by Miguel
Посмотреть сообщение
Sugerencia: cambiale la extensiуn al archivo, los sistemas de archivos INI usan esa extensiуn y se pueden mezclar.
Yo tambiйn iba a decir eso, no entiendo la obsesiуn de la gente con usar archivos INI.
Reply
#4

Yo diria que hagas uno con bloqueo de IP aver que tal.
Reply
#5

#Miguel y MrDeath
Que extensiуn deberia usar? Lo pongo mejor en formato .txt?

#TiNcH010
Hay va

pawn Код:
// Sistema para bloquear a usuarios /bloquear.
// Crйditos: Toggle (Ner0x)
/***** ] Includes [ *****/
#include <a_samp>
//#include <filemanager>

/***** ] Defines [ *****/
#define ROSA 0xC2A2DAAA
#define BLANCO 0xFFFFFFFF

/***** ] New's   [ ******/
new File:archivo;

/***** ] OnPlayerConnect [ *****/
public OnPlayerConnect(playerid)
{
    new IP[16];
    new string[256];
    GetPlayerIp(playerid,IP,sizeof(IP));
    format(string, sizeof(string), "Bloqueados/%d.ini", IP);
    if(fexist(string))
    {
        SendClientMessage(playerid, 0xFF0000FF, "Esta IP estб bloqueada. Por lo tanto usted no podrб jugar aqui.");
        SendClientMessage(playerid, 0xFF0000FF, "Si quiere mбs informaciуn acuda a nuestro foro.");
        Kick(playerid);
    }
    return 1;
}

/***** ] OnPlayerCommandText [ *****/
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256], idx, giveplayerid;
    new Nombre[MAX_PLAYER_NAME], giveplayername[MAX_PLAYER_NAME];
    new IP[16];
    GetPlayerName(playerid, Nombre, sizeof(Nombre));
    new string[256];
    cmd = strtok(cmdtext, idx);
   
    if(strcmp(cmd, "/bloquear", true) == 0)
    {
        new tmp[256];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){
            SendClientMessage(playerid, BLANCO, "Use: /bloquear [ID del Jugador]");
            return 1;
        }
        //dir_create("Bloqueados");
        giveplayerid = strval(tmp);
        GetPlayerIp(giveplayerid, IP, sizeof(IP));
        GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
        if(IsPlayerAdmin(playerid))
        {
            if(IsPlayerConnected(playerid))
            {
                new str[256];
                format(str, sizeof(str), "Bloqueados/%d.ini", IP);
                archivo = fopen(str, io_write);
                if(archivo)
                {
                    format(str,sizeof(str), "Este usuario ha sido bloqueado por algun motivo.");
                    fwrite(archivo, str);
                    fclose(archivo);
                }
                Kick(giveplayerid);
                format(string, sizeof(string), "La IP %d de %s ha sido bloqueada por el Administrador: %s.", giveplayername, IP, Nombre);
                SendClientMessageToAll(0xFF0000FF,string);
                printf("%s",string);
            }
            else
            {
                SendClientMessage(playerid, 0xFF0000FF, "ID Invalida.");
            }
        }
        else
        {
            SendClientMessage(playerid, 0xFF0000FF, "No estбs autorizado a usar el comando.");
        }
        return 1;
    }
    return 0;
}

/***** ] Strtok [ *****/
strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}
Asi guarda las ip..
Reply
#6

Gracias, pero me acorde que tengo un BanIP (ya se que no es lo mismo xD)
pawn Код:
if(strcmp(cmd,"/banip",true)==0)
    {
            tmp = strtok(cmdtext,idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid,COLOR_GRAD1,"[INFO]: /BanIP [IP]");
                return 1;
            }

            format(string,sizeof(string),"banip %s",tmp);
            SendRconCommand(string);
            SendRconCommand("reloadbans");
                        SendClientMessage(playerid,COLOR_GRAD1,"Has baneado la IP");
        return 1;
    }
Jajaja saludos!
Reply
#7

Jajaja, ok
Reply
#8

Nota: La IP se devuelve como cadena de texto, no como nъmero entero.
Reply
#9

Hmm, ok no savia, Gracias
Reply
#10

pinta bueno.

nota: que problema hay con las extenciones obsesionados!
una extencion puede ser MrD y va a ser correcta, que importa la extencion. no afecta el formato, eso se lo da uno. es mas podes ponerle extencion html o docx y va a leerlo =.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)