[Ajuda]bans
#1

eu uso o seguinte comando para banir?

Код:
	if(strcmp(cmd, "/ban", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
	  	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [ID/ParteDoNome] [razгo]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 3)
			{
			  if(IsPlayerConnected(giveplayerid))
			  {
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
					  GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						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, COLOR_GRAD2, "USE: /ban [ID/ParteDoNome] [razгo]");
							return 1;
						}
						new year, month,day;
						getdate(year, month, day);
						format(string, sizeof(string), "AdmCmd: %s foi banido por %s, Razгo: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
						BanLog(string);
						format(string, sizeof(string), "AdmCmd: %s foi banido por %s, Razгo: %s", giveplayer, sendername, (result));
						SendClientMessageToAll(COLOR_LIGHTRED, string);
						PlayerInfo[giveplayerid][pLocked] = 1;
						Ban(giveplayerid);
						return 1;
					}
				}//not connected
			}
			else
			{
				format(string, sizeof(string), "  %d nгo й um player ativo.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
	}
so que nao esta banindo.
o player esta voltando em seguida com a mesma conta...
nao esta banindo, deve estar apenas kikando.
alguem pode me ajudar??
Reply
#2

Tente:

Код:
	if(strcmp(cmd, "/ban", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
	  	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [ID/ParteDoNome] [razгo]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 3)
			{
			  if(IsPlayerConnected(giveplayerid))
			  {
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
					  GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						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, COLOR_GRAD2, "USE: /ban [ID/ParteDoNome] [razгo]");
							return 1;
						}
						new year, month,day;
						getdate(year, month, day);
						format(string, sizeof(string), "AdmCmd: %s foi banido por %s, Razгo: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
						BanLog(string);
						format(string, sizeof(string), "AdmCmd: %s foi banido por %s, Razгo: %s", giveplayer, sendername, (result));
						SendClientMessageToAll(COLOR_LIGHTRED, string);
						PlayerInfo[giveplayerid][pLocked] = 1;
                            PlayerInfo[giveplayerid][pBan] = 1;						
                            Ban(giveplayerid);
						return 1;
					}
				}//not connected
			}
			else
			{
				format(string, sizeof(string), "  %d nгo й um player ativo.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
	}
Reply
#3

Isso Ocorre normamente quando o valor da string for maior de 128 , entгo acaba nao ocorrendo todos funзхes corretamente

Tenta:
pawn Код:
new string[128];
(valor maximo 128
Reply
#4

nao й a string
deve ser o jeito do comando mesmo..
se alguem puder fazer o favor de me mandar o comando
completo eu agradeceria, pq eu nao sei o motivo de nao estar banindo...
Reply
#5

Bota isso :

pawn Код:
BanEx
Reply
#6

Код:
	if(strcmp(cmd, "/ban", true) == 0)
	{
	  if(IsPlayerConnected(playerid))
	  {
	  	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [ id ] [reason]");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 1)
			{
			  if(IsPlayerConnected(giveplayerid))
			  {
			    if(giveplayerid != INVALID_PLAYER_ID)
			    {
					  GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						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, COLOR_GRAD2, "USE: /ban [ id ] [reason]");
							return 1;
						}
						new year, month,day;
						getdate(year, month, day);
						format(string, sizeof(string), "AdmCmd> %s foi banido por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
						BanLog(string);
						format(string, sizeof(string), "AdmCmd --> %s foi banido por %s, Motivo: %s", giveplayer, sendername, (result));
						SendClientMessageToAll(COLOR_LIGHTRED, string);
						PlayerInfo[giveplayerid][pAdmin] = PlayerInfo[giveplayerid][pNivel];
						PlayerInfo[giveplayerid][pNivel] = -999;
						Ban(giveplayerid);
						return 1;
					}
				}
			}
Peguei do GM do Caio_Cartaxo
Reply
#7

Devia Pedir no Tуpico do GM do Caio_Cartaxo.
Reply
#8

tenta mas eu nem testei

pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
    {
      new tmp2[256];
      if(IsPlayerConnected(playerid))
      {
        tmp = strtok(cmdtext, idx);
        tmp2 = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /ban [ID] [razгo]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >= 3)
            {
              if(IsPlayerConnected(giveplayerid))
              {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                      GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        new year, month,day;
                        getdate(year, month, day);
                        format(string, sizeof(string), "AdmCmd: %s foi banido por %s, Razгo: %s (%d-%d-%d)", giveplayer, sendername, tmp2,month,day,year);
                        BanLog(string);
                        format(string, sizeof(string), "AdmCmd: %s foi banido por %s, Razгo: %s", giveplayer, sendername, tmp2);
                        SendClientMessageToAll(COLOR_LIGHTRED, string);
                        PlayerInfo[giveplayerid][pLocked] = 1;
                        Ban(giveplayerid);
                        return 1;
                    }
                }//not connected
                else
                {
                    format(string, sizeof(string), "  %d nгo й um player ativo.", giveplayerid);
                    SendClientMessage(playerid, COLOR_GRAD1, string);
                }
            }
        }
        return 1;
    }
Reply
#9

muito obrigado a todos
pincipalmente ao dark
usei esse seu e deu certo
grande abraзo
Reply
#10

Boom eu estou com o mesmo problema so que uso outro adminfs aqui esta o comandos alguem poderia me ajudar

pawn Код:
if(strcmp(cmd, "/ban", true) == 0)
{
    new reason[128];
    if (AccountInfo[playerid][AdminLevel] >= 2 || IsPlayerAdmin(playerid))
    {
    tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid, ORANGE, "USOU: /ban [playerid] [motivo]");
            SendClientMessage(playerid, ORANGE, "Vai banir o jogador especificado.");
            return 1;
        }
        giveplayerid = ReturnUser(tmp);
        if (AccountInfo[giveplayerid][AdminLevel] > AccountInfo[playerid][AdminLevel])
        {
          format(string, sizeof(string), "-| [%i]%s tentou banir vocк |-",playerid,player);
            SendClientMessage(giveplayerid, ADMIN_RED,string);
            SendClientMessage(playerid, ADMIN_RED, "Vocк nгo tem permissгo para banir um administrador com um nнvel mais elevado do que vocк!");
        }
        else if(giveplayerid != INVALID_PLAYER_ID)
        {
          GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            while ((idx < length) && ((idx - offset) < (sizeof(reason) - 1)))
            {
                reason[idx - offset] = cmdtext[idx];
                idx++;
            }
            reason[idx - offset] = EOS;
            if(!strlen(reason))
                {
                    SendClientMessage(playerid, ORANGE, "USOU: /ban [playerid] [motivo]");
                    return 1;
                }
            else
            {
            new sstring[256];
            new ip[128];
            format(string, sizeof(string), "-|O Administrador %s baniu %s.  Motivo: %s |-", sendername,giveplayer,reason);
            SendClientMessageToAll(Vermelho, string);
            GetPlayerIp(giveplayerid,ip,128);
            format(sstring, sizeof(sstring), "-| Jogador foi banido Ip: %s |-", ip);
            SendClientMessageToAdmins(Vermelho, sstring,1);
            AccountInfo[giveplayerid][AdminLevel] = 0;
            BanEx(giveplayerid,reason);
            }
        }
        else if(giveplayerid == INVALID_PLAYER_ID)
        {
            format(string, sizeof(string), "%d nгo й um jogador ativo.", giveplayerid);
            SendClientMessage(playerid, RED, string);
        }
    }
    else
    {
    SendClientMessage(playerid, RED, "Vocк nгo й um administrador com o nнvel exigido.");
    }
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)