[Ajuda] Ban - pasta
#1

Ta estou montando meu serve com o pouco de conhecimento q eu tenho ;-; mas nao estou acertando botar o ban pra ir para uma pasta - sendo q pegue o seu Ip e salve no Arquivo que o Dof2 vai criar.
comandos q eu uso .....
o problema q estou tendo com ele e que o jogador reseta o nick e volta pro serve. seria mais facil pegar o ip do roteador pra ele ter o trabalho de mudar o ip.
entao como faзo para esse comando ir para uma pasta ?
Код:
CMD:ban(playerid, params[])
{
	if(PlayerInfo[playerid][Admin]  >= 3){
	if(sscanf(params,"us[158]",ID,Texto))
	{
	    SendClientMessage(playerid,-1,"{FF0000}< Erro > {C3C3C3}USO: /ban [id] [motivo]");
 	}
 	else
 	{
 	if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"{FF0000}< Erro > {C3C3C3} Jogador nгo Conectado!");
 	if(Owner[ID] == true) return 0;
 	GetPlayerName(playerid,NomeP,MAX_PLAYER_NAME);
 	GetPlayerName(ID,NomeID,MAX_PLAYER_NAME);
 	gettime(Horas,Minutos,Segundos);
 	getdate(Ano,Mes,Dia);
 	format(CBDStr, sizeof(CBDStr),"***Administrador '%s' Baniu '%s' (Motivo: %s ) [Data: %d/%d/%d] [Hora: %d:%02d:%02d]",NomeP,NomeID,Texto,Dia,Mes,Ano,Horas,Minutos,Segundos);
 	SendClientMessageToAll(cinza,CBDStr);
	PlayerInfo[playerid][Banido] = 1;
	format(CBDStr, sizeof CBDStr,"Admin: %s\nMotivo: %s\nData: %d/%d/%d\nHora: %d:%02d:%02d",Nome(playerid),Texto,Dia,Mes,Ano,Horas,Minutos,Segundos);
	ShowPlayerDialog(ID,122,DIALOG_STYLE_MSGBOX,"Banido Do Servidor!",CBDStr,"Sair","");
 	Kick(ID);
 	}
 	} else SendClientMessage(playerid,-1,"{FF0000}< Erro > {C3C3C3} Vocк precisa ser Administrador para usar esse Comando!");
    return 1;
}
Reply
#2

Olha aqui um pequeno comando de banir por IP, se quiser. dai agora й so adequar a teu sistema de administrador e fazer salvar.

pawn Код:
CMD:banip(playerid, params[])
{
    new
        type[ 128 ],
        string[ 128 ]
    ;
    if(sscanf(params, "s[128]", type)) SendClientMessage(playerid, -1, "CORRETO: /banip [IP]");
    else
    {
        format(string, sizeof(string),"banip %s", type);
        SendRconCommand(string);
        SendRconCommand("reloadbans");
    }
    return true;
}
Agora a lуgica que posso te dar, й criar uma pasta chamada Ips dos jogadores, lб cada arquivinho 'txt' serб nomeado como o IP de um jogador, depois faзa uma verificaзгo do nome de todos os arquivos, dai cada nome vai ser um IP, entгo sу bloquear o nome de todas os arquivos (Ou seja bloqueando os IPS).

Mas eu acho que por padrгo, quando vocк digitar o comando /banip, ele jб vai ficar no arquivo Bans do teu servidor.
Lб vai ficar algo como:

Код:
NICKDOUSUARIO IP
Ex: SemNick 127.0.0.1
Reply
#3

Geta o IP dele e salva.
Reply
#4

Код:
CMD:ban(playerid, params[])
{
	if(PlayerInfo[playerid][Admin]  >= 3){
	if(sscanf(params,"us[158]",ID,Texto))
	{
	    SendClientMessage(playerid,-1,"{FF0000}< Erro > {C3C3C3}USO: /ban [id] [motivo]");
 	}
 	else
 	{
 	if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"{FF0000}< Erro > {C3C3C3} Jogador nгo Conectado!");
 	if(Owner[ID] == true) return 0;
 	GetPlayerName(playerid,NomeP,MAX_PLAYER_NAME);
 	GetPlayerName(ID,NomeID,MAX_PLAYER_NAME);
	GetPlayerIp(ID, plrIP, sizeof(plrIP));
	SetTimerEx("BanPlayer", 100, false, "d", ID);
	MensagemAdminCMD(pNome(playerid), "Banir");
	new File:SaveBan = fopen("/Banidos.txt", io_append);
 	gettime(Horas,Minutos,Segundos);
 	getdate(Ano,Mes,Dia);
 	format(CBDStr, sizeof(CBDStr),"***Administrador '%s' Baniu '%s' (Motivo: %s ) [Data: %d/%d/%d] [Hora: %d:%02d:%02d]",NomeP,NomeID,Texto,Dia,Mes,Ano,Horas,Minutos,Segundos);
 	SendClientMessageToAll(cinza,CBDStr);
	PlayerInfo[playerid][Banido] = 1;
	format(CBDStr, sizeof CBDStr,"Admin: %s\nMotivo: %s\nData: %d/%d/%d\nHora: %d:%02d:%02d",Nome(playerid),Texto,Dia,Mes,Ano,Horas,Minutos,Segundos);
	fwrite(SaveBan, String);
 	fclose(SaveBan);
	ShowPlayerDialog(ID,122,DIALOG_STYLE_MSGBOX,"Banido Do Servidor!",CBDStr,"Sair","");
 	Kick(ID);
 	}
 	} else SendClientMessage(playerid,-1,"{FF0000}< Erro > {C3C3C3} Vocк precisa ser Administrador para usar esse Comando!");
    return 1;
}
tentei fazer assim mais deu uns erros esse codigo veio na minha mente achei q ia funfar :v mas parece q deu uns erros e nao to achando soluзao

Код:
C:\Users\Vinny3D\Desktop\samp03z_svr_R4_win32\gamemodes\CBD.pwn(3622) : error 017: undefined symbol "plrIP"
C:\Users\Vinny3D\Desktop\samp03z_svr_R4_win32\gamemodes\CBD.pwn(3622) : error 017: undefined symbol "plrIP"
C:\Users\Vinny3D\Desktop\samp03z_svr_R4_win32\gamemodes\CBD.pwn(3622) : error 029: invalid expression, assumed zero
C:\Users\Vinny3D\Desktop\samp03z_svr_R4_win32\gamemodes\CBD.pwn(3622) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


3 Errors.
Reply
#5

Ja conseguir arrumar faltava uma new pIP[20]; nao tava vendo isso ;-; troquei os PLRIP por pip
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)