30/08/2021 10:21
(29/08/2021 19:45)fear Escreveu:(29/08/2021 18:34)SrBlue Escreveu: experimenta, só botar nas devidas callbacks...
Código:CMD:car(playerid, params[])
{
if(pAusente[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você está ausente.");
if(pPreso[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você está preso.");
if(EmArenaDM[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você Não pode usar este comando em uma arena.");
if(pEvento[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você está no evento.");
new Veiculo[25], Cor[2];
if(sscanf(params, "s[25]I(1)I(1)",Veiculo, Cor[0], Cor[1])) return pMensagem(playerid, Laranja, "[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
new bool:existe, VeiculoID;
if(!IsNumeric(Veiculo))
{
for(new r = 0;r < 212; r++)
{
if(!strcmp(Veiculo, sCars[r],true))
{
existe = true;
}
if(!strcmp(Veiculo, sCars[r],true)) VeiculoID = (r+400);
}
}
if(IsNumeric(Veiculo))
{
VeiculoID = strval(Veiculo);
existe = true;
if(400 < (VeiculoID) > 611) existe = false;
}
if(!existe)
{
new String[256];
format(String, sizeof(String), "-ERRO- veiculo Não existe.", Veiculo);
pMensagem(playerid, Vermelho, String);
return 1;
}
if(pPvPLiberado[playerid] == false && sCAdmin[playerid] < 5)
{
if(VeiculoID == 520 || VeiculoID == 432 || VeiculoID == 592 || VeiculoID == 425 ||
VeiculoID == 464 || VeiculoID == 406 || VeiculoID == 476 || VeiculoID == 447) return pMensagem(playerid, -1, "[INFO] Este veiculo Não é permitido neste Modo.");
}
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
CriarVeiculo(playerid, VeiculoID, X, Y, Z+1, Angle, Cor[0], Cor[1], -1);
return 1;
}
Código:stock CriarVeiculo(playerid, modelid, Float:posX, Float:posY, Float:posZ, Float:angle, Colour1, Colour2, respawn_delay)
{
new world = GetPlayerVirtualWorld(playerid);
new interior = GetPlayerInterior(playerid);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(sCar[playerid]>=1){
DestroyVehicle(sCar[playerid]);
}
GetPlayerPos(playerid, posX, posY, posZ);
GetPlayerFacingAngle(playerid, angle);
sCar[playerid] = CreateVehicle(modelid, posX, posY, posZ, angle, Colour1, Colour2, respawn_delay);
LinkVehicleToInterior(sCar[playerid], interior);
SetVehicleVirtualWorld(sCar[playerid], world);
SetVehicleZAngle(sCar[playerid], angle);
PutPlayerInVehicle(playerid, sCar[playerid], 0);
SetPlayerInterior(playerid, interior);
pMensagem(playerid, AzulC, "[INFO] veiculo spawnado.");
}else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT){
if(sCar[playerid]>=1){
DestroyVehicle(sCar[playerid]);
}
GetPlayerPos(playerid, posX, posY, posZ);
GetPlayerFacingAngle(playerid, angle);
sCar[playerid] = CreateVehicle(modelid, posX, posY, posZ, angle, Colour1, Colour2, respawn_delay);
LinkVehicleToInterior(sCar[playerid], interior);
SetVehicleVirtualWorld(sCar[playerid], world);
SetVehicleZAngle(sCar[playerid], angle);
PutPlayerInVehicle(playerid, sCar[playerid], 0);
SetPlayerInterior(playerid, interior);
pMensagem(playerid, AzulC, "[INFO] veiculo spawnado.");
}
return 1;
}
Código:public OnPlayerDisconnect(playerid, reason){
if(sCar[playerid]>=1){
DestroyVehicle(sCar[playerid]);
sCar[playerid]=0;
}
}
a cada minuto ta verificado se tem carro e deletando, faz o seguinte
remove essa função de lá...
Código:if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
não resolveu os carros somem dos players do nada.. to dirigindo e meu carro some.
Puts estranho isso, vou tentar mostrar um exemplo do que eu entendi
Código PHP:
new CriouCarro[MAX_PLAYERS];
CMD:car(playerid, params[])
{
if(pAusente[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você está ausente.");
if(pPreso[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você está preso.");
if(EmArenaDM[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você Não pode usar este comando em uma arena.");
if(pEvento[playerid] == true) return pMensagem(playerid, Vermelho, "-ERRO- Você está no evento.");
new Veiculo[25], Cor[2];
if(sscanf(params, "s[25]I(1)I(1)",Veiculo, Cor[0], Cor[1])) return pMensagem(playerid, Laranja, "[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
new bool:existe, VeiculoID;
if(!IsNumeric(Veiculo))
{
for(new r = 0;r < 212; r++)
{
if(!strcmp(Veiculo, sCars[r],true))
{
existe = true;
}
if(!strcmp(Veiculo, sCars[r],true)) VeiculoID = (r+400);
}
}
if(IsNumeric(Veiculo))
{
VeiculoID = strval(Veiculo);
existe = true;
if(400 < (VeiculoID) > 611) existe = false;
}
if(!existe)
{
new String[256];
format(String, sizeof(String), "-ERRO- veiculo Não existe.", Veiculo);
pMensagem(playerid, Vermelho, String);
return 1;
}
if(pPvPLiberado[playerid] == false && sCAdmin[playerid] < 5)
{
if(VeiculoID == 520 || VeiculoID == 432 || VeiculoID == 592 || VeiculoID == 425 ||
VeiculoID == 464 || VeiculoID == 406 || VeiculoID == 476 || VeiculoID == 447) return pMensagem(playerid, -1, "[INFO] Este veiculo Não é permitido neste Modo.");
}
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, Angle);
CriarVeiculo(playerid, VeiculoID, X, Y, Z+1, Angle, Cor[0], Cor[1], -1);
CriouCarro[playerid] = 1; // Confirmar se ele criou carro
return 1;
}
Código PHP:
public OnPlayerDisconnect(playerid, reason)
{
if(CriouCarro[playerid] == 1)
{
DestroyVehicle(GetPlayerVehicleID(playerid));
}
return 1;
}