Portal SAMP
[Ajuda] Os carros dos players estão sumindo - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Os carros dos players estão sumindo (/showthread.php?tid=1575)

Páginas: 1 2


Os carros dos players estão sumindo - fear - 29/08/2021

Boa tarde. quando tu ta dirigindo do nada o carro deleta e some..

codigo do /car

Código PHP:
CMD:car(playeridparams[])
{
    if(
pAusente[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está ausente.");
    if(
pPreso[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está preso.");
    if(
EmArenaDM[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você Não pode usar este comando em uma arena.");
    if(
pEvento[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está no evento.");
    new 
Veiculo[25], Cor[2];
    if(
sscanf(params"s[25]I(1)I(1)",VeiculoCor[0], Cor[1])) return pMensagem(playeridLaranja"[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
     new 
bool:existeVeiculoID;
     if(!
IsNumeric(Veiculo))
    {
        for(new 
0;212r++)
        {
            if(!
strcmp(VeiculosCars[r],true))
            {
                
existe true;
            }
            if(!
strcmp(VeiculosCars[r],true)) VeiculoID = (r+400);
        }
    }
    if(
IsNumeric(Veiculo))
    {
        
VeiculoID strval(Veiculo);
        
existe true;
        if(
400 < (VeiculoID) > 611existe false;
    }
    if(!
existe)
    {
        new 
String[256];
        
format(Stringsizeof(String), "-ERRO- veiculo Não existe."Veiculo);
        
pMensagem(playeridVermelhoString);
        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(playeridXYZ);
    
GetPlayerFacingAngle(playeridAngle);
     
CriarVeiculo(playeridVeiculoIDXYZ+1AngleCor[0], Cor[1], -1);
    return 
1;


STOCK
Código PHP:
stock CriarVeiculo(playeridmodelidFloat:posXFloat:posYFloat:posZFloat:angleColour1Colour2respawn_delay)
{
    new 
world GetPlayerVirtualWorld(playerid);
    new 
interior GetPlayerInterior(playerid);
    if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(
sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          
sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        
LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
        if(
sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          
sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        
LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    
pMensagem(playeridAzulC"[INFO] veiculo spawnado.");
    return 
1;




RE: Os carros dos players estão sumindo - Lightz/Conta nova - 29/08/2021

(29/08/2021 12:41)fear Escreveu: Boa tarde. quando tu ta dirigindo do nada o carro deleta e some..

codigo do /car

Código PHP:
CMD:car(playeridparams[])
{
    if(pAusente[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está ausente.");
    if(
pPreso[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está preso.");
    if(EmArenaDM[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você Não pode usar este comando em uma arena.");
    if(pEvento[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está no evento.");
    new 
Veiculo[25], Cor[2];
    if(
sscanf(params"s[25]I(1)I(1)",VeiculoCor[0], Cor[1])) return pMensagem(playeridLaranja"[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
     new 
bool:existeVeiculoID;
     if(!
IsNumeric(Veiculo))
    {
    
    for(new 0;212r++)
    
    {
    
        if(!strcmp(VeiculosCars[r],true))
    
        {
    
            existe true;
    
        }
    
        if(!strcmp(VeiculosCars[r],true)) VeiculoID = (r+400);
        }
    }
    if(
IsNumeric(Veiculo))
    {
        
VeiculoID strval(Veiculo);
        
existe true;
        if(
400 < (VeiculoID) > 611existe false;
    }
    if(!
existe)
    {
    
    new String[256];
        
format(Stringsizeof(String), "-ERRO- veiculo Não existe."Veiculo);
        
pMensagem(playeridVermelhoString);
        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(playeridXYZ);
    
GetPlayerFacingAngle(playeridAngle);
     
CriarVeiculo(playeridVeiculoIDXYZ+1AngleCor[0], Cor[1], -1);
    return 
1;


STOCK
Código PHP:
stock CriarVeiculo(playeridmodelidFloat:posXFloat:posYFloat:posZFloat:angleColour1Colour2respawn_delay)
{
    new 
world GetPlayerVirtualWorld(playerid);
    new 
interior GetPlayerInterior(playerid);
    if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(
sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    
    if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        
LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    
pMensagem(playeridAzulC"[INFO] veiculo spawnado.");
    return 
1;


Estranho, uma vez usei a GM Style Drift Show (SDS) que tem esse comando e nunca deu isso não, procure pela função DestroyVehicle e veja se em algum lugar ela faz uma ligação com a função/callback.


RE: Os carros dos players estão sumindo - xbruno1000x - 29/08/2021

Pode ser algum respawn automático que não detecta se o carro está vazio.


RE: Os carros dos players estão sumindo - fear - 29/08/2021

(29/08/2021 13:25)Lightz/Conta nova Escreveu:
(29/08/2021 12:41)fear Escreveu: Boa tarde. quando tu ta dirigindo do nada o carro deleta e some..

codigo do /car

Código PHP:
CMD:car(playeridparams[])
{
    if(pAusente[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está ausente.");
    if(
pPreso[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está preso.");
    if(EmArenaDM[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você Não pode usar este comando em uma arena.");
    if(pEvento[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está no evento.");
    new 
Veiculo[25], Cor[2];
    if(
sscanf(params"s[25]I(1)I(1)",VeiculoCor[0], Cor[1])) return pMensagem(playeridLaranja"[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
     new 
bool:existeVeiculoID;
     if(!
IsNumeric(Veiculo))
    {
    
    for(new 0;212r++)
    
    {
    
        if(!strcmp(VeiculosCars[r],true))
    
        {
    
            existe true;
    
        }
    
        if(!strcmp(VeiculosCars[r],true)) VeiculoID = (r+400);
        }
    }
    if(
IsNumeric(Veiculo))
    {
        
VeiculoID strval(Veiculo);
        
existe true;
        if(
400 < (VeiculoID) > 611existe false;
    }
    if(!
existe)
    {
    
    new String[256];
        
format(Stringsizeof(String), "-ERRO- veiculo Não existe."Veiculo);
        
pMensagem(playeridVermelhoString);
        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(playeridXYZ);
    
GetPlayerFacingAngle(playeridAngle);
     
CriarVeiculo(playeridVeiculoIDXYZ+1AngleCor[0], Cor[1], -1);
    return 
1;


STOCK
Código PHP:
stock CriarVeiculo(playeridmodelidFloat:posXFloat:posYFloat:posZFloat:angleColour1Colour2respawn_delay)
{
    new 
world GetPlayerVirtualWorld(playerid);
    new 
interior GetPlayerInterior(playerid);
    if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(
sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    
    if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        
LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    
pMensagem(playeridAzulC"[INFO] veiculo spawnado.");
    return 
1;


Estranho, uma vez usei a GM Style Drift Show (SDS) que tem esse comando e nunca deu isso não, procure pela função DestroyVehicle e veja se em algum lugar ela faz uma ligação com a função/callback.

ele mesmo to editando.. tem essas função no onplayerdisconnect
Código PHP:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
if(
eventoCar[playerid]) DestroyVehicle(eventoCar[playerid]); 
e essa em cada mundo:
Código PHP:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]); 



RE: Os carros dos players estão sumindo - SrBlue - 29/08/2021

(29/08/2021 15:38)fear Escreveu:
(29/08/2021 13:25)Lightz/Conta nova Escreveu:
(29/08/2021 12:41)fear Escreveu: Boa tarde. quando tu ta dirigindo do nada o carro deleta e some..

codigo do /car

Código PHP:
CMD:car(playeridparams[])
{
    if(pAusente[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está ausente.");
    if(
pPreso[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está preso.");
    if(EmArenaDM[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você Não pode usar este comando em uma arena.");
    if(pEvento[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está no evento.");
    new 
Veiculo[25], Cor[2];
    if(
sscanf(params"s[25]I(1)I(1)",VeiculoCor[0], Cor[1])) return pMensagem(playeridLaranja"[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
     new 
bool:existeVeiculoID;
     if(!
IsNumeric(Veiculo))
    {
    
    for(new 0;212r++)
    
    {
    
        if(!strcmp(VeiculosCars[r],true))
    
        {
    
            existe true;
    
        }
    
        if(!strcmp(VeiculosCars[r],true)) VeiculoID = (r+400);
        }
    }
    if(
IsNumeric(Veiculo))
    {
        
VeiculoID strval(Veiculo);
        
existe true;
        if(
400 < (VeiculoID) > 611existe false;
    }
    if(!
existe)
    {
    
    new String[256];
        
format(Stringsizeof(String), "-ERRO- veiculo Não existe."Veiculo);
        
pMensagem(playeridVermelhoString);
        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(playeridXYZ);
    
GetPlayerFacingAngle(playeridAngle);
     
CriarVeiculo(playeridVeiculoIDXYZ+1AngleCor[0], Cor[1], -1);
    return 
1;


STOCK
Código PHP:
stock CriarVeiculo(playeridmodelidFloat:posXFloat:posYFloat:posZFloat:angleColour1Colour2respawn_delay)
{
    new 
world GetPlayerVirtualWorld(playerid);
    new 
interior GetPlayerInterior(playerid);
    if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(
sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    
    if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        
LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    
pMensagem(playeridAzulC"[INFO] veiculo spawnado.");
    return 
1;


Estranho, uma vez usei a GM Style Drift Show (SDS) que tem esse comando e nunca deu isso não, procure pela função DestroyVehicle e veja se em algum lugar ela faz uma ligação com a função/callback.

ele mesmo to editando.. tem essas função no onplayerdisconnect
Código PHP:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
if(
eventoCar[playerid]) DestroyVehicle(eventoCar[playerid]); 
e essa em cada mundo:
Código PHP:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]); 

 


tenta remover essa linha

Código:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]); 



RE: Os carros dos players estão sumindo - fear - 29/08/2021

(29/08/2021 16:52)SrBlue Escreveu:
(29/08/2021 15:38)fear Escreveu:
(29/08/2021 13:25)Lightz/Conta nova Escreveu:
(29/08/2021 12:41)fear Escreveu: Boa tarde. quando tu ta dirigindo do nada o carro deleta e some..

codigo do /car

Código PHP:
CMD:car(playeridparams[])
{
    if(pAusente[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está ausente.");
    if(
pPreso[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está preso.");
    if(EmArenaDM[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você Não pode usar este comando em uma arena.");
    if(pEvento[playerid] == true) return pMensagem(playeridVermelho"-ERRO- Você está no evento.");
    new 
Veiculo[25], Cor[2];
    if(
sscanf(params"s[25]I(1)I(1)",VeiculoCor[0], Cor[1])) return pMensagem(playeridLaranja"[INFO] Use: /Car [Nome] [Cor 1] [Cor 2]");
     new 
bool:existeVeiculoID;
     if(!
IsNumeric(Veiculo))
    {
    
    for(new 0;212r++)
    
    {
    
        if(!strcmp(VeiculosCars[r],true))
    
        {
    
            existe true;
    
        }
    
        if(!strcmp(VeiculosCars[r],true)) VeiculoID = (r+400);
        }
    }
    if(
IsNumeric(Veiculo))
    {
        
VeiculoID strval(Veiculo);
        
existe true;
        if(
400 < (VeiculoID) > 611existe false;
    }
    if(!
existe)
    {
    
    new String[256];
        
format(Stringsizeof(String), "-ERRO- veiculo Não existe."Veiculo);
        
pMensagem(playeridVermelhoString);
        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(playeridXYZ);
    
GetPlayerFacingAngle(playeridAngle);
     
CriarVeiculo(playeridVeiculoIDXYZ+1AngleCor[0], Cor[1], -1);
    return 
1;


STOCK
Código PHP:
stock CriarVeiculo(playeridmodelidFloat:posXFloat:posYFloat:posZFloat:angleColour1Colour2respawn_delay)
{
    new 
world GetPlayerVirtualWorld(playerid);
    new 
interior GetPlayerInterior(playerid);
    if(
GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(
sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    if(
GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    
    if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
        
GetPlayerPos(playeridposXposYposZ);
        
GetPlayerFacingAngle(playeridangle);
          sCar[playerid] = CreateVehicle(modelidposXposYposZangleColour1Colour2respawn_delay);
        
LinkVehicleToInterior(sCar[playerid], interior);
        
SetVehicleVirtualWorld(sCar[playerid], world);
        
SetVehicleZAngle(sCar[playerid], angle);
        
PutPlayerInVehicle(playeridsCar[playerid], 0);
        
SetPlayerInterior(playeridinterior);
    }
    
pMensagem(playeridAzulC"[INFO] veiculo spawnado.");
    return 
1;


Estranho, uma vez usei a GM Style Drift Show (SDS) que tem esse comando e nunca deu isso não, procure pela função DestroyVehicle e veja se em algum lugar ela faz uma ligação com a função/callback.

ele mesmo to editando.. tem essas função no onplayerdisconnect
Código PHP:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]);
if(
eventoCar[playerid]) DestroyVehicle(eventoCar[playerid]); 
e essa em cada mundo:
Código PHP:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]); 

 


tenta remover essa linha

Código:
if(sCar[playerid]) DestroyVehicle(sCar[playerid]); 
eu removi e resolveu.. porem ai fica lotado de carros no mapa criado pelo comando /car alguma solução??


RE: Os carros dos players estão sumindo - SrBlue - 29/08/2021

Hmm perfeito, faz o seguinte, cria uma variavel[playerid] o qual quando o jogador se desconecta fica 0, e quando cria carro fica 1, quando o mesmo jogador criar outro carro e essa variavel for 1, deletar o carro anterior criado... pode-se perceber que você já tens a tais variaveis, só ajustar com essas configurações ditas anteriormente!.


RE: Os carros dos players estão sumindo - fear - 29/08/2021

(29/08/2021 17:18)SrBlue Escreveu: Hmm perfeito, faz o seguinte, cria uma variavel[playerid] o qual quando o jogador se desconecta fica 0, e quando cria carro fica 1, quando o mesmo jogador criar outro carro e essa variavel for 1, deletar o carro anterior criado... pode-se perceber que você já tens a tais variaveis, só ajustar com essas configurações ditas anteriormente!.

não entendi sua solução... como faço pra variavel ficar 1 quando ele cria o carro para não poder acumular carros no mapa..


RE: Os carros dos players estão sumindo - SrBlue - 29/08/2021

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]); 



RE: Os carros dos players estão sumindo - fear - 29/08/2021

(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.