[Ajuda] Player consegue sair do carro mesmo algemado
#1

Bom dia, eu tou tendo um problema, que й o seguinte quando os policiais usam o comando /algemar, o cara fica algemado dentro do carro ai tudo bem, mas ele consegue sair do veiculo, ele nao pode se mexer, mas consegue sair, ai o cop tem que tar sempre arrastando ele ate a delegacia

Eu ja pesquisei, algumas pessoas tinham esse mesmo problema, mas nгo consegui encontrar um post com ele resolvido

vou deixar ai o cmd e o onplayerexitvehicle

Код:
if(strcmp(cmd, "/algemar", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(gTeam[playerid] == 2 || IsACop(playerid))
			{
			    tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_WHITE, "USE: /algemar [ID/Nome]");
					return 1;
				}
				giveplayerid = ReturnUser(tmp);
			    if(IsPlayerConnected(giveplayerid))
				{
				    if(giveplayerid != INVALID_PLAYER_ID)
				    {
				        if(gTeam[giveplayerid] == 2 || IsACop(giveplayerid))
				        {
				            SendClientMessage(playerid, COLOR_GREY, "   Voce nao pode algemar um COP!");
					        return 1;
				        }
					    if(PlayerCuffed[giveplayerid] > 0)
					    {
					        SendClientMessage(playerid, COLOR_GREY, "   Jogador foi algemado!");
					        return 1;
					    }
						if (ProxDetectorS(8.0, playerid, giveplayerid))
						{
						    new car = GetPlayerVehicleID(playerid);
						    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Voce nao pode algemar si prуpio!"); return 1; }
						    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
						    {
						        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
								GetPlayerName(playerid, sendername, sizeof(sendername));
						        format(string, sizeof(string), "* Tu foste algemado por %s.", sendername);
								SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
								format(string, sizeof(string), "* Tu algemaste %s.", giveplayer);
								SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
								format(string, sizeof(string), "* %s algema %s.", sendername ,giveplayer);
								ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
								GameTextForPlayer(giveplayerid, "~r~Algemado", 2500, 3);
								SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_CUFFED);
								TogglePlayerControllable(giveplayerid, 0);
								PlayerCuffed[giveplayerid] = 2;
								PlayerCuffedTime[giveplayerid] = 180;
						    }
						    else
						    {
						        SendClientMessage(playerid, COLOR_GREY, "   Esse Jogador nгo esta no seu carro ou voce nгo й o motorista!");
						        return 1;
						    }
						}
						else
						{
						    SendClientMessage(playerid, COLOR_GREY, "   Esse jogador estб longe de voce!");
						    return 1;
						}
					}
				}
				else
				{
				    SendClientMessage(playerid, COLOR_GREY, "   Esse nгo й um jogador ativo!");
				    return 1;
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "   Voce nгo й um oficial!");
			}
		}
		return 1;
	}
Код:
public OnPlayerExitVehicle(playerid, vehicleid)
{
 	if (GetPlayerState(playerid) == 1)
	{
		return true;
	}
	if(PlayerCuffed[playerid] == 2)
	{
        PutPlayerInVehicle(playerid, GetPlayerVehicleID(playerid), GetPlayerVehicleSeat(playerid));
	}
Agradeзo muito a quem conseguir me ajudar
Reply
#2

pawn Код:
if(strcmp(cmd, "/algemar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(!IsACop(playerid))
            {
                SendClientMessage(playerid, COLOR_GREY, "   Você não é um policial!");
                return true;
            }
            if(OnDuty[playerid] != 1)
            {
                SendClientMessage(playerid, COLOR_GREY, "   Você não Bateu o cartão!");
                return true;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_WHITE, "Use: /algemar [id]");
                return true;
            }
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(gTeam[giveplayerid] == 2 || IsACop(giveplayerid))
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Você não pode algemar COPs !");
                        return true;
                    }
                    if(PlayerCuffed[giveplayerid] > 0)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   O Jogador já esta algemado !");
                        return true;
                    }
                    if (ProxDetectorS(8.0, playerid, giveplayerid))
                    {
                        new car = GetPlayerVehicleID(playerid);
                        if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Você nao pode se algemar!"); return true; }
                        if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
                        {
                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            format(string, sizeof(string), "* Você foi algemado pelo: %s.", PlayerName(playerid));
                            SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                            format(string, sizeof(string), "* Você algemou %s.", giveplayer);
                            SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                            format(string, sizeof(string), "* %s Algemou %s, para nao fugir.", sendername ,giveplayer);
                            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            GameTextForPlayer(giveplayerid, "~r~Algemado", 2500, 3);
                            Controle(giveplayerid, 0);
                            PlayerCuffed[giveplayerid] = 2;
                            PlayerInfo[giveplayerid][pMuted] = 1;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador não está no carro ou você não é o motorista !");
                            return true;
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   O Jogador está longe de Você !");
                        return true;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   O Jogador Está Offline !");
                return true;
            }
        }
        return true;
    }
Tésta, Só Por Descarga De Consciencia ...
Reply
#3

tenta esse:

pawn Код:
if(strcmp(cmd, "/algemar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gTeam[playerid] == 2 || IsACop(playerid))
            {
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp))
                {
                    SendClientMessage(playerid, COLOR_WHITE, "USE: /algemar [ID/Nome]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(gTeam[giveplayerid] == 2 || IsACop(giveplayerid))
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Voce nao pode algemar um COP!");
                            return 1;
                        }
                        if(PlayerCuffed[giveplayerid] > 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Jogador foi algemado!");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Voce nao pode algemar si prуpio!"); return 1; }
                            if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
                            {
                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), "* Tu foste algemado por %s.", sendername);
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* Tu algemaste %s.", giveplayer);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* %s algema %s.", sendername ,giveplayer);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                GameTextForPlayer(giveplayerid, "~r~Algemado", 2500, 3);
                                Controle(giveplayerid, 0);
                                SetPlayerSpecialAction(giveplayerid, SPECIAL_ACTION_CUFFED);
                                TogglePlayerControllable(giveplayerid, 0);
                                PlayerCuffed[giveplayerid] = 2;
                                PlayerCuffedTime[giveplayerid] = 180;
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "   Esse Jogador nгo esta no seu carro ou voce nгo й o motorista!");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Esse jogador estб longe de voce!");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Esse nгo й um jogador ativo!");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Voce nгo й um oficial!");
            }
        }
        return 1;
    }
Ajudeii? +REP
Reply
#4

Quote:

pawn Code:

if(strcmp(cmd, "/algemar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!IsACop(playerid))
{
SendClientMessage(playerid, COLOR_GREY, " Vocк nгo й um policial!");
return true;
}
if(OnDuty[playerid] != 1)
{
SendClientMessage(playerid, COLOR_GREY, " Vocк nгo Bateu o cartгo!");
return true;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "Use: /algemar [id]");
return true;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(gTeam[giveplayerid] == 2 || IsACop(giveplayerid))
{
SendClientMessage(playerid, COLOR_GREY, " Vocк nгo pode algemar COPs !");
return true;
}
if(PlayerCuffed[giveplayerid] > 0)
{
SendClientMessage(playerid, COLOR_GREY, " O Jogador jб esta algemado !");
return true;
}
if (ProxDetectorS(8.0, playerid, giveplayerid))
{
new car = GetPlayerVehicleID(playerid);
if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nao pode se algemar!"); return true; }
if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Vocк foi algemado pelo: %s.", PlayerName(playerid));
SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Vocк algemou %s.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s Algemou %s, para nao fugir.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPL E,COLOR_PURPLE);
GameTextForPlayer(giveplayerid, "~r~Algemado", 2500, 3);
Controle(giveplayerid, 0);
PlayerCuffed[giveplayerid] = 2;
PlayerInfo[giveplayerid][pMuted] = 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " O Jogador nгo estб no carro ou vocк nгo й o motorista !");
return true;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " O Jogador estб longe de Vocк !");
return true;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " O Jogador Estб Offline !");
return true;
}
}
return true;
}


Tйsta, Sу Por Descarga De Consciencia ...

Nгo funciuno :S
O player ainda consegue sair do veiculo
Reply
#5

pedro aperta CTRL + F й digita "/congelar" copia esse comando й cole aqui.
Reply
#6

cara simples coloca isso no comando
TogglePlayerControllable(playerid, 0);


e isso no comando de desalgemar
TogglePlayerControllable(playerid, 1);
Reply
#7

Quote:

cara simples coloca isso no comando
TogglePlayerControllable(playerid, 0);


e isso no comando de desalgemar
TogglePlayerControllable(playerid, 1);

Eu ja tinha feito isso, mas experimentei copiar do seu, e quando eu faзo /algemar tambem fico preso =s
Reply
#8

Quote:

pedro aperta CTRL + F й digita "/congelar" copia esse comando й cole aqui.

Tenho o mesmo problema como eu nгo sei por no algemar, tambem nгo sei fazer no congelar =/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)