SA-MP Forums Archive
[AJUDA]Bloquear comandos dentro da prisгo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA]Bloquear comandos dentro da prisгo (/showthread.php?tid=140529)



[AJUDA]Bloquear comandos dentro da prisгo - [BEP]AcerPilot - 09.04.2010

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?


Re: [AJUDA]Bloquear comandos dentro da prisгo - Ritz - 09.04.2010

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



Re: [AJUDA]Bloquear comandos dentro da prisгo - andmeida10 - 09.04.2010

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


Re: [AJUDA]Bloquear comandos dentro da prisгo - Ritz - 09.04.2010

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


Re: [AJUDA]Bloquear comandos dentro da prisгo - andmeida10 - 09.04.2010

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


Re: [AJUDA]Bloquear comandos dentro da prisгo - [BEP]AcerPilot - 09.04.2010

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?


Re: [AJUDA]Bloquear comandos dentro da prisгo - Ritz - 09.04.2010

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


Re: [AJUDA]Bloquear comandos dentro da prisгo - [BEP]AcerPilot - 09.04.2010

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


Re: [AJUDA]Bloquear comandos dentro da prisгo - Caio_Cartaxo - 10.04.2010

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=


Re: [AJUDA]Bloquear comandos dentro da prisгo - Andre_Santos - 10.04.2010

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...