[Ajuda] Prender Com "Certos" Veiculos .
#1

Queria que prendesse sу quem ta la com o VID == sу q n consigo por um else pra dar uma mensagem pra quem n ta com o veiculo certo, poderiam me ajudar aki ? nгo sei utilizar else corretamente '-'
Code:
	{
if(strcmp(cmd, "/prender", true) == 0)
{
	
	if(PlayerInfo[ playerid ][pProfissao] == Policia_Civil || PlayerInfo[ playerid ][pProfissao] == Policia_Federal || PlayerInfo[ playerid ][pProfissao] == Interpol || PlayerInfo[ playerid ][pProfissao] == Delegado || PlayerInfo[ playerid ][pProfissao] == Bope || PlayerInfo[ playerid ][pProfissao] == Swat
	|| PlayerInfo[ playerid ][pProfissao] == Narcoticos || PlayerInfo[ playerid ][pProfissao] == Policia_Militar || PlayerInfo[ playerid ][pProfissao] == FBI || PlayerInfo[ playerid ][pProfissao] == Policia_Rodoviaria) {
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | /prender [id] [motivo]");
			return 1;
		}
		new MSG[128];
		new id = strval(tmp);
		MSG = strrest(cmdtext, idx);
		if(!strlen(MSG))
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | /prender [id] [motivo]");
			return 1;
		}
		if(!IsPlayerConnected(id))
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | Jogador nгo estб conectado!");
			return 1;
		}
		if(Algemado[id] == false)
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | O jogador precisa estar algemado para prender!");
			return 1;
		}
		if(GetDistanceBetweenPlayers(playerid, id) > 15)
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | Vocк estб muito longe, chegue mais perto!");
			return 1;
		}
		if(playerid == id)
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | Vocк nгo pode prender vocк mesmo!");
			return 1;
		}
		if(IsPlayerInAnyVehicle(id))
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO |  Vocк nгo pode prender um jogador que estб dentro de um veнculo.");
			return 1;
		}
		if(GetPlayerWantedLevel(id) <= 4)
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | Esse jogador nгo estб sendo procurado level + que 5 pela policia.");
			return 1;
		}
		if(IsPlayerInLs(playerid))
		{
			
			Dplos[id] = 1;
		}
		else if(IsPlayerInLv(playerid))
		{
			
			Dpventura[id] = 1;
		}
		else if(IsPlayerInFc(playerid))
		{
			
			Dpford[id] = 1;
		}
		else if(IsPlayerInSf(playerid))
		{
			
			Dpsan[id] = 1;
		}
		new vid = GetPlayerVehicleID(playerid);
		if(vid == VeiculosBTE[0] || vid == VeiculosBTE[1] || vid == VeiculosBTE[2] || vid == VeiculosBTE[3] || vid == VeiculosBTE[4] || vid == VeiculosBTE[5] || vid == VeiculosBTE[6] || vid == VeiculosBTE[7] || vid == VeiculosBTE[8] || vid == VeiculosBTE[9] || vid == VeiculosBTE[10] || vid == VeiculosBTE[11] || vid == VeiculosBTE[12] || vid == DPLS[12] || vid == DPLS[13] || vid == DPLS[14] || vid == DPLS[15] || DPLS[16] ||
		vid == VeiculosBERF[0] || vid == VeiculosBERF[1] || vid == VeiculosBERF[2] || vid == VeiculosBERF[3] || vid == VeiculosBERF[4] || vid == VeiculosBERF[5] || vid == VeiculosRECTD[0] || vid == VeiculosRECTD[1] || vid == VeiculosRECTD[2] || vid == VeiculosRECTD[3] || vid == VeiculosRECTD[4] || vid == VeiculosRECTD[5])
		{
			
			new str[256];
			new sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
			GetPlayerName(playerid, sendername, sizeof(sendername));
			GetPlayerName(id, giveplayer, sizeof(giveplayer));
			GivePlayerGrana(playerid, 1300);
			format(str, sizeof(str), " | INFO | Vocк foi preso pelo Policial %s (Motivo: %s)", sendername, MSG);
			SendClientMessage(id, VerdeClaro, str);
			format(str, sizeof(str), " | INFO | Vocк prendeu o jogador %s (Motivo: %s)", giveplayer, MSG);
			SendClientMessage(playerid, VerdeClaro, str);
			SendClientMessage(playerid, VerdeClaro, " | INFO | Vocк recebeu a recompensa de R$1300 por prender um jogador que estava sendo procurado pela policia.");
			GameTextForPlayer(id, "~w~PRESO!", 3000, 0);
			format(string, sizeof(string),"[Corregedoria] O Policial %s(ID: %d) Prendeu o jogador %s(ID: %d) [Motivo: %s]", sendername,playerid,giveplayer,id,MSG);
			Comandosp(Roxo,string,1);
			Algemado[id] = false;
			ResetPlayerWeapons(id);
			SetPlayerPos(id, 264.4181,77.3247,1001.0391);
			SetPlayerInterior(id, 6);
			SetPlayerHealth(id, 999999);
			preso[id] = 1;
			SetPlayerWantedLevel(id, 0);
			TogglePlayerControllable(id, 1);
			SetPlayerSpecialAction(id, 0);
		}
		else
		{
			
			SendClientMessage(playerid, Vermelho, " | ERRO | Vocк nгo tem permissгo!");
		}
		return 1;
	}
}
	}
Reply
#2

Em vez de usar else usa algo como aprende na matemбtica .

Negaзгo :

~(1 < 0)
ou
1 > 0

Entendeu ?

Por exemplo

if(IsPlayerAdmin)

o contrбrio

if(!IsPlayerAdmin)
Reply
#3

Quote:
Originally Posted by Tugamars
View Post
Em vez de usar else usa algo como aprende na matemбtica .

Negaзгo :

~(1 < 0)
ou
1 > 0

Entendeu ?

Por exemplo

if(IsPlayerAdmin)

o contrбrio

if(!IsPlayerAdmin)
Nгo entendi '-'
Reply
#4

Tipo , enquanto que vocк faz assim :

Code:
if(id > 1)
{
GivePlayerMoney(playerid, 1);
} 
else
{
SendClientMessage(playerid, -1, "Seu id й menor que 1");
}
Vocк pode fazer

Code:
if(id > 1)
{
GivePlayerMoney(playerid, 1);
} 
if(id <= 1)
{
SendClientMessage(playerid, -1, "Seu id й menor que 1");
}
Sem usar o else .
Reply
#5

UP ++ :/
Reply
#6

Quote:
Originally Posted by Tugamars
View Post
Tipo , enquanto que vocк faz assim :

Code:
if(id > 1)
{
GivePlayerMoney(playerid, 1);
} 
else
{
SendClientMessage(playerid, -1, "Seu id й menor que 1");
}
Vocк pode fazer

Code:
if(id > 1)
{
GivePlayerMoney(playerid, 1);
} 
if(id <= 1)
{
SendClientMessage(playerid, -1, "Seu id й menor que 1");
}
Mas com o else seu code fica mais rбpido, coisa de milйsimos de segundos, mais seria melhor, sу por capricho
Reply
#7

Quote:
Originally Posted by DannielCooper
View Post
Mas com o else seu code fica mais rбpido, coisa de milйsimos de segundos, mais seria melhor, sу por capricho

Ajuda ai Dani, com o code, pf :/
Reply
#8

UP ++
Reply
#9

Velho vocк poderia fazer da seguinte maneira:

pawn Code:
if(variavel[playerid] == 1)
{
//funзхes
}
else
{
SendClientMessage(playerid, -1, "sua msg");
}

//com isso vocк estб indicando na primeira condiзгo
/*
Player estб dentro do veнculo
Player nгo estб dentro do veнculo
*/
Tente entender o que estб sendo passado para que vocк nгo fique perdido, nгo basta apenas ler pra nгo falar para vocк mesmo que vocк nгo leu os cуdigos..

o else serve para indicar uma condiзгo contrбria da que foi aplicada tal como o que eu passei acima ou seja, vocк pega lб

pawn Code:
if(var1 == 1)
{
//Condiзгo = 1
}
else
{
//Condiзгo DIFERENTE de 1
}


//que й praticamente a msm coisa de:::

if(var != 1)
{
//Variavel tem que assumir valor diferente de 1 para ser aplicada a funзгo abaixo...
}
no seu caso vocк estб assumindo o valor de 1 para o player que estб dentro do veнculo e o valor de 0 para o player que estб FORA do veнculo que tambйm pode servir de exemplo a seguinte forma:

pawn Code:
new var1[MAX_PLAYERS];

CMD:teste(playerid, params[])
{
   //Usei abaixo indicando que caso seja != diferente de 1 ele recebe a msg ao digitar o comando
   // mas tambйm poderia ser usado: == 0 indicando que o valor sendo igual"==" a 0 ele recebe a msg.
   if(var1[playerid] != 1) return SendClientMessage(playerid, -1, "Vocк precisa estar em um veнculo para usar este comando.");
   return 1;
}
Vocк pode seguir o tutorial do Input para dar continuidade a seu aprendizado:

https://sampforum.blast.hk/showthread.php?tid=480985
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)