23/07/2021 19:31
(Esta mensagem foi modificada pela última vez a: 23/07/2021 19:32 por Lightz/Conta nova.)
(23/07/2021 19:23)fear Escreveu:(23/07/2021 19:20)Lightz/Conta nova Escreveu:(23/07/2021 18:22)fear Escreveu: Boa noite. to sofrendo um bug que quando os players estão dentro do carro ele some do nada..Opa kk, o carro demora quanto tempo para sumir? Eu tenho um comando idêntico a esse mais não acontece isso.
função de criar carros:
Código PHP: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]) 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);
}
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
if(sCar[playerid]) 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;
}
comando /car
Código PHP: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;
}
quando começa a lotar o servidor e tem varios spawn de carros começa a sumir pra varios players.. e não tem função de deletar veiculos.
unica que tem e esse mas e quando o player disconecta.
Código PHP:if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
if(eventoCar[playerid]) DestroyVehicle(eventoCar[playerid]);
Descobri, o problema é o respawn_delay apague todos eles e veja se o problema persiste.
Pelas informações no SA-MP Wiki (CreateVehicle) respawn_delay é o atraso até que o carro seja restaurado sem motorista em segundos.
Se quiser também pode deixar no local de respawn delay deixe: -1.
PegarCarro[playerid] = CreateVehicle(VeiculoID, X,Y,Z+1, Angle, Cor, Cor2, 0);