SA-MP Forums Archive
[Ajuda] Ban - pasta - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ban - pasta (/showthread.php?tid=560550)



Ban - pasta - VinnyScript - 29.01.2015

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



Re: Ban - pasta - zNexus_ - 29.01.2015

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


Re: Ban - pasta - ZeZin - 29.01.2015

Geta o IP dele e salva.


Re: Ban - pasta - VinnyScript - 29.01.2015

Код:
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.



Re: Ban - pasta - VinnyScript - 29.01.2015

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