Comando de desbanir ip sem reinisciar o server -
aldair8 - 01.12.2012
Quando do ban em alguem /ban id motivo, ele toma ban ip automaticamente, certo... mas quando quero desbanir o ip de alguem, tenho q desbanir pela pasta do gm e tenho q reinisciar o server, alguem me ajuda num comando q desbani o ip pelo jogo mesmo, e sem reinisciar o server?
Ta aki o comando /ban
pawn Код:
if(strcmp(cmd, "/ban", true) == 0) {
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, MAX_PLAYER_NAME);
format(file, sizeof(file), PASTA_CONTAS, aname);
if(pAdmin[playerid] == 1 || pAdmin[playerid] == 2 || pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5){
new tmp[256];
new plid;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, Vermelho, "Uso: /ban [id] [motivo]");
return 1;
}
plid = strval(tmp);
new pname[MAX_PLAYER_NAME];
GetPlayerName(plid, pname, MAX_PLAYER_NAME);
format(file2, sizeof(file2), PASTA_CONTAS, pname);
if(IsPlayerConnected(plid)){
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, Vermelho, "Uso: /banir [id] [motivo]");
}else{
new year, month,day;
getdate(year, month, day);
format(string, sizeof(string), "| INFO-SERVER |O Administrador %s baniu o jogador: %s. (Motivo: %s ) %d-%d-%d", aname, pname,result,month,day,year);
BanLog(string);
SendClientMessage(plid, 0x80FF00AA, "» Vocк foi banido deve ter feito alguma merda");
SendClientMessage(plid, 0xFFFFFFAA, "» Se foi banido injustamente Tire uma ''SS'' e tente o contato com um de nossos Admins!");
GameTextForPlayer(plid,"~r~banido", 2500, 3);
format(string, sizeof(string), "| INFO-SERVER | O Administrador %s baniu o jogador: %s. (Motivo: %s. )", aname,pname,result);
SendClientMessageToAll(tcadm, string);
dini_IntSet("banidos.ini",pname,1);
SetPlayerPos(plid, 831.9581,-1102.1510,24.2969);
GameTextForPlayer(plid,"~r~banido~w~!", 2500, 3);
SendClientMessage(plid, Vermelho, "* Vocк foi banido do servidor!");
Ban(plid);
}
}else{
format(string, sizeof(string), "| ERRO | ID : %d nгo й valido!", plid);
SendClientMessage(playerid, Vermelho, string);
}
}
return 1;
}
Obrigado des de jб a todos q tentarem me ajudar
Re: Comando de desbanir ip sem reinisciar o server -
andreasbleck - 01.12.2012
Testa ae, se nгo funcionar avisa, eu nгo testei
Pra poder desbanir com esse cmd tem que saber o ip que vocк quer desbanir
pawn Код:
if(strcmp(cmd, "/desbanip", true) == 0)
{
if(pAdmin[playerid] >= 1 && pAdmin[playerid] <= 5){
new tmp[256], ip[16];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "Uso: /desbanip [ip]");
return 1;
}
ip = strval(tmp);
new string[32];
format(string, sizeof(string), "unbanip %s", ip);
SendRconCommand(string);
return 1;
}
Respuesta: Comando de desbanir ip sem reinisciar o server -
ipsBruno - 01.12.2012
Precisa dar
unbanip e em ъltimo caso recarregar os arquivos
pawn Код:
if(!strcmp(cmd, "/desbanip", true))
{
if(pAdmin[playerid] >= 1 && pAdmin[playerid] <= 5) {
static
tmp[256], idx
;
tmp = strtok(cmdtext, idx);
if(strlen(tmp) < 10)
{
return SendClientMessage(playerid, Vermelho, "Uso: /desbanip [ip]"), true;
}
format( tmp, 128, "unbanip %s", tmp);
SendRconCommand(tmp);
SendRconCommand("reloadbans");
}
return true;
}
OU caso queira algo otimizado
pawn Код:
if(!strcmp(cmdtext, "/unba", true, 5))
{
if(pAdmin[playerid] < 1) {
return true;
}
if(!cmdtext[5] || strlen(cmdtext) > 54) {
return SendClientMessage(playerid, -1, "USE: /unba [unbanip]");
}
static tmp [56];
format( tmp, 56, "unbanip %s", cmdtext[6]); // 6 pois й apуs o espaзo xD
SendRconCommand(tmp);
SendRconCommand("reloadbans");
return true;
}