[AJUDA]Bloquear comandos dentro da prisгo
#1

Bem galera, tenho este comando para prender o player:

Код:
if(strcmp(cmd, "/prender", true) == 0) {
	  if(Profissao[playerid] == COP_CIVIL || Profissao[playerid] == F.B.I || Profissao[playerid] == MARINHA || Profissao[playerid] == AERONAUTICA || Profissao[playerid] == EXERCITO || Profissao[playerid] == BOPE || Profissao[playerid] == DELEGADO || Profissao[playerid] == COP_CORRUPTO || Profissao[playerid] == NARCOTICOS || Profissao[playerid] == COP_RODOVIARIO || Profissao[playerid] == COP_ELITE || IsPlayerAdmin(playerid)){
	  	new tmp[256];
	  	new plid;
	  	new distancia;
	  	new string[256];
	  	distancia = GetDistanceBetweenPlayers(playerid, plid);
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) {
				SendClientMessage(playerid, COLOR_RED, "/prender [id]");
		  	return 1;
			}
    	plid = strval(tmp);
			if(IsPlayerConnected(plid) && PLAYERLIST_authed[plid] == 1){
        if(distancia > 50){
			    SendClientMessage(playerid, COLOR_RED, "Vocк estб muito longe, chegue mais perto!");
			  	return 1;
				}
				if(distancia <= 50){
					Presos[plid] = 1;
				  udb_setPrisao(PlayerName(plid), 1);
					LogarPlayer(plid);
					format(string, sizeof(string), "Vocк foi preso por: %s", PlayerName(playerid));
					SendClientMessage(plid, COLOR_SEGURANЗA, string);
				  SendClientMessage(playerid, COLOR_GREEN, "Prisгo concluнda");
			  	return 1;
				}
		  	return 1;
			}
			else{
  	    SendClientMessage(playerid, COLOR_RED, "Jogador nгo estб conectado/logado");
		  	return 1;
			}
		}
		if(Profissao[playerid] != COP_CIVIL || Profissao[playerid] != COP_RODOVIARIO || Profissao[playerid] != COP_ELITE){
			SendClientMessage(playerid, COLOR_RED, "Vocк nгo й policial");
	  	return 1;
		}
	}
E queria que, enquanto o player estiver preso, ele nгo possa usar nenhum comando, exceto /fianзa e /advogado. Alguma sugestгo?
Reply
#2

Код:
OnPlayerCommandText(...)
{
  if (Presos[playerid] == 1)
  {
      return SendClientMessage(playerid, COR, "Vocк estб preso e nгo pode usar comandos");
  }
  // resto dos comandos
}
Reply
#3

Quote:
Originally Posted by Ritz
Код:
OnPlayerCommandText(...)
{
  if (Presos[playerid] == 1)
  {
     return SendClientMessage(playerid, COR, Vocк estб preso e nгo pode usar comandos)
  }
  // resto dos comandos
}
nem mais
Reply
#4

Quote:
Originally Posted by andmeida10
Quote:
Originally Posted by Ritz
Код:
OnPlayerCommandText(...)
{
  if (Presos[playerid] == 1)
  {
      return SendClientMessage(playerid, COR, Vocк estб preso e nгo pode usar comandos)
  }
  // resto dos comandos
}
nem mais
So faltou o ";" e as aspas :P
Reply
#5

Quote:
Originally Posted by Ritz
Quote:
Originally Posted by andmeida10
Quote:
Originally Posted by Ritz
Код:
OnPlayerCommandText(...)
{
  if (Presos[playerid] == 1)
  {
      return SendClientMessage(playerid, COR, Vocк estб preso e nгo pode usar comandos)
  }
  // resto dos comandos
}
nem mais
So faltou o ";" e as aspas :P
sao aqueles promenores que se corrigem na boa quando se aperta f5
Reply
#6

Valeu galera!(principalmente Ritz :P) Ajudou muito!
Mas preciso que o preso possa meter /advogado e /fianзa. Como faзo pra ele poder ter acesso a apenas estes dois comandos enquanto preso?
Reply
#7

Pхe os comandos antes do:

pawn Код:
if (Presos[playerid] == 1)
  {
      return SendClientMessage(playerid, COR, "Vocк estб preso e nгo pode usar comandos");
  }
fica assim:
pawn Код:
OnPlayerCommandText(...)
{
  if(strcmp(cmd, "/fianзa", true) == 0)
  {
    // ...
  }
  if(strcmp(cmd, "/advogado", true) == 0)
  {
    // ...
  }
  if (Presos[playerid] == 1)
  {
      return SendClientMessage(playerid, COR, Vocк estб preso e nгo pode usar comandos)
  }
  // resto dos comandos
}
Assim o script primeiro executa os comandos "advogado" e "fianca" antes de verificar se o player estб preso.

(pelo menos acho que й assim que funciona nunca testei) :P
Reply
#8

O meu Н N C R I V E L GameMode й tгo complexo que, quando eu mudei de lugar os comandos /advogado e /fianзa (segundo indicaзгo do Ritz), deu mais de 40 erros(43 pra ser exato) e depois de alguns segundos deu crash no compiler
Reply
#9

Vocк pode fazerr assim

Bota em cada commando q o cara nun pode usar isso:

pawn Код:
if (Presos[playerid] == 1)
  {
      return SendClientMessage(playerid, COR, Vocк estб preso e nгo pode usar comandos)
  }
Simples, mais demorado DD=
Reply
#10

Porque talvez meteste alguma chaveta mal metida ou nгo meteste, por isso a razгo do crash...

Penso eu, se estiver errado, nгo ligues a mensagem...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)