[Ajuda] /ban /tempban
#1

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 ?
Reply
#2

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


Forum Jump:


Users browsing this thread: 1 Guest(s)