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:
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