Peguei do GM do meu muleke.
Use a cabeзa e adapta ao seu GM.
pawn Код:
//----News
new VTrancado[MAX_VEHICLES] = 0;
new gLastCar[301];
new gCarLock[MAX_VEHICLES];
new HireCar[MAX_PLAYERS];
new SwitchKey[MAX_PLAYERS];
if(strcmp(cmd, "/trancar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new carid;
if (gTeam[playerid] == 2 || gTeam[playerid] == 1)
{
if(gLastCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 500)
{
SendClientMessage(playerid, 0xBFC0C2FF, "Vocк nгo tem um carro de casa/alugado.");
return true;
}
else if(gLastCar[playerid] != 0 && gLastCar[playerid] != PlayerInfo[playerid][pPHousekey]+totalveiculos)
{
if (HireCar[playerid] != gLastCar[playerid] && HireCar[playerid] > 0)
{
gLastDriver[HireCar[playerid]] = 300;
VTrancado[HireCar[playerid]] = 0;
gCarLock[HireCar[playerid]] = 0;
UnLockCar(HireCar[playerid]);
}
HireCar[playerid] = gLastCar[playerid];
}
}
if (PlayerInfo[playerid][pPHousekey] == 500)
{
if(HireCar[playerid] == 0)
{
SendClientMessage(playerid, 0xBFC0C2FF, "Voce nгo tem um carro.");
return true;
}
}
carid = PlayerInfo[playerid][pPHousekey]+totalveiculosh;
if(HireCar[playerid] > 0 && !SwitchKey[playerid])
{
carid = HireCar[playerid];
}
new lockstatus = VTrancado[carid];
new Float:cx,Float:cy,Float:cz;
GetVehiclePos(carid, cx, cy, cz);
switch (lockstatus)
{
case 0:
{
if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 500)
{
SendClientMessage(playerid, 0xBFC0C2FF, "Voce nгo tem um carro");
return true;
}
if(HireCar[playerid] == carid && !SwitchKey[playerid])
{
GameTextForPlayer(playerid, "~w~Veiculo Alugado~r~Fechado", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
VTrancado[carid] = 1;
gCarLock[HireCar[playerid]] = 1;
LockCar(carid);
}
else if(PlayerInfo[playerid][pPHouseCarkey] == carid)
{
GameTextForPlayer(playerid, "~w~Veiculo da Casa ~r~Fechado", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
VTrancado[carid] = 1;
LockCar(carid);
return true;
}
}
case 1:
{
if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 500)
{
SendClientMessage(playerid, 0xBFC0C2FF, "Voce nгo tem um carro");
return true;
}
if(HireCar[playerid] == carid && !SwitchKey[playerid])
{
GameTextForPlayer(playerid, "~w~Veiculo Alugado~g~Aberto", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
VTrancado[carid] = 0;
UnLockCar(carid);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
}
if (PlayerInfo[playerid][pPHouseCarkey] == carid)
{
GameTextForPlayer(playerid, "~w~Veiculo da Casa ~g~Aberto", 5000, 6);
PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
VTrancado[carid] = 0;
UnLockCar(carid);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
return true;
}
}
default:
{
SendClientMessage(playerid, 0xBFC0C2FF, "Erro");
}
}
if(carid == 256)
{
SendClientMessage(playerid, 0xBFC0C2FF, "Voce nгo tem um carro!");
}
}
return true;
}
//-----------
forward UnLockCar(carid);
public UnLockCar(carid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(carid,i,0,0);
gCarLock[carid] = 0;
}
}
}