/ban /tempban -
BigRet - 31.05.2014
MEu GM tem um sistema de ban e temp ban mas й por dia ou ban permanente eu queria deixar por hora e por dia
Код:
dcmd_tempban(playerid,params[])
{
if(Player[playerid][pAdmin] < 3)
return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo tem permissгo para usar este comando!");
else
{
new tmp[24],tmp2[256],Index; tmp = strtok(params,Index), tmp2 = strtok(params,Index);
new tmp3[256];
tmp3 = strtok(params,Index);
if(!strlen(tmp)||!strlen(tmp2) || !strlen(tmp3))
return SendClientMessage(playerid,COLOR_GREY,"-OperServ- Uso: /tempban [id] [dias] [motivo]");
new id;
id = ReturnUser(tmp);
if(!IsPlayerConnected(id) || IsPlayerNPC(id))
return SendClientMessage(playerid,COLOR_RED,"[ERRO] Jogador nгo encontrado.");
else
{
SafeBan[playerid] += 1;
if(SafeBan[playerid] == 1)
SetTimerEx("ResetSafeBan",60000,false,"i",playerid);
if(SafeBan[playerid] == 5)
BanExtend(playerid,playerid,"Tentando banir todos? Aqui nгo.", 60);
BanExtend(playerid, id, params[strlen(tmp)+strlen(tmp2)+2], strval(tmp2));
return 1;
}
}
}
Код:
dcmd_ban(playerid,params[])
{
if(Player[playerid][pAdmin] < 2)
return SendClientMessage(playerid, COLOR_RED, "[ERRO] Vocк nгo tem permissгo para usar este comando!");
new tmp[24],Index; tmp = strtok(params,Index);
new id;
if(!strlen(params))
return SendClientMessage(playerid,COLOR_GREY,"-OperServ- Uso: /ban [id] [motivo]");
id = ReturnUser(tmp);
if(!IsPlayerConnected(id) || IsPlayerNPC(id))
return SendClientMessage(playerid,COLOR_RED,"[ERRO] Jogador nгo encontrado.");
if(!strlen(params[strlen(tmp)+1]))
return SendClientMessage(playerid,COLOR_GREY, "-OperServ- Vocк deve especificar um motivo para o ban.");
if(Player[id][pAdmin] == 7)
return BanExtend(playerid,playerid,"Nгo se deve tentar banir Masters.", 60);
SafeBan[playerid] += 1;
if(SafeBan[playerid] == 1)
SetTimerEx("ResetSafeBan",60000,false,"i",playerid);
if(SafeBan[playerid] == 5)
BanExtend(playerid,playerid,"Tentando banir todos? Aqui nгo.", 60);
BanExtend(playerid, id, params[strlen(tmp)+1], 0);
return 1;
}
dcmd_recon(playerid,params[])
{
if(Player[playerid][pAdmin] < 7)
return SendClientMessage(playerid,COLOR_RED, "Vocк nгo pode usar este comando");
if((params[10] != ' ') || (params[11] == EOS))
//return SendClientMessage(playerid, 0xFFFFFFFF, ""WHITE" Usage: "GREEN"/Reconnect "WHITE"[playerid]");
return SendClientMessage(playerid, COLOR_GREY, "[USO] : /recon [playerid]");
new string[16 + 6],destid = strval(params[11]),ipstring[16];
if(!IsPlayerConnected(destid))
return SendClientMessage(playerid, COLOR_RED, "[ERRO] O jogador nгo estб conectado.");
GetPlayerIp(destid, ipstring, 16), SetPVarString(destid, "pIp", ipstring);
format(string, sizeof(string), "banip %s",ipstring);
SendRconCommand(string);
return 1;
}
Como eu faзo ?
Re: /ban /tempban -
lKoDlFuLLaNNo - 31.05.2014
Usa Um
Gettime
https://sampwiki.blast.hk/wiki/Gettime
pawn Код:
CMD:tempban(playerid, params[]) {
new
id,
hours
;
if(sscanf(params, "uis", id, hours, params)) {
SendClientMessage(playerid, -1, "Uso: \ "/ ban <playerid> <horas> <razгo> \"");
} else {
if(id == INVALID_PLAYER_ID) {
SendClientMessage(playerid, -1, "Jogador nгo encontrado");
} else {
if(0 < hours < 24) {
dUserSetINT(PlayerName(id)).("ban", (gettime() + (hours * 60 * 60)));
Kick(id);
} else {
SendClientMessage(playerid, -1, "Maximo 23 horas");
}
}
}
return true;
}
pawn Код:
public OnPlayerConnect(playerid)
{
new
banned = dUserINT(PlayerName(playerid)).("ban")
;
if(banned) {
if(banned == 1) {
Kick(playerid);
} else {
if(banned < gettime()) {
dUserSetInt(PlayerName(playerid)).("ban", 0);
} else {
Kick(playerid);
}
}
}
return 1
};