[Pedido] Ao sair do veнculo ele ser deletado
#1

Olб, gostaria de saber como posso fazer para que, ao criar um veiculo pelo comando ''/CV'' ao sair do veiculo
o mesmo ser deletado, somente para os veiculos criados por esse comando.

Comando /CV: http://pastebin.com/L82NubWG
Reply
#2

REMOVIDO
Reply
#3

Mais alguйm?
Reply
#4

Quote:
Originally Posted by Kojak
Посмотреть сообщение
Use: RemoveVehicle(playerid) sу funзгo adapte ao seu GM mas lembrando isso й sу um exemplo do que usar
Vocк sу comenta coisa errada.

A funзгo й
PHP код:
DestroyVehicle(vehicleid); 
Reply
#5

Como faзo para colocar essa funзгo somente pra deletar o veiculo criado por esse comando?
Reply
#6

Quando criar o veнculo, defina.
PHP код:
new veiculo;
veiculoGetPlayerVehicleID(playerid); 
E quando ele sai do veiculo, use:
PHP код:
DestroyVehicle(veiculo); 
Os comandos estгo aн, agora basta coloca-lo em suas respectivas publics/comando.
Reply
#7

Vamos por passos.
  1. Vocк vai criar uma variбvel booleana global para jogadores no нnicio do gamemode.

    PHP код:
    new bool:cVehicle[MAX_PLAYERS]; 
  2. Vai alterar para true no comando /cv.

    PHP код:
    if(strcmp(cmd"/cv"true) == 0)
    {  
        if(
    pAdmin[playerid] > 1) {
            new 
    plid;
            new 
    Float:X,Float:Y,Float:Z,Float:Angle;
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) {
                
    SendClientMessage(playeridVermelho"| ERRO | Digite: /cv [id-do-caro]");
                return 
    1;
            }
            
    plid strval(tmp);
            if(
    plid==501 || plid==465 || plid==464 || plid==594 || plid==564 || plid==427 || plid==501) {
                
    SendClientMessage(playeridVermelho"| ERRO | ID de carro Proibido!");
                return 
    1;
            }
            if(
    IsPlayerConnected(playerid)) {
                if(
    plid >= 400 && plid <= 611) {
                    
    GetPlayerPos(playerid,X,Y,Z);
                    
    GetPlayerFacingAngle(playerid,Angle);
                    new 
    carro CreateVehicle(plidXYZAngle, -1, -1120000);
                    
    PutPlayerInVehicle(playerid,carro,0);
                    if(
    GetPlayerInterior(playerid))
                    
    LinkVehicleToInterior(carro,GetPlayerInterior(playerid));
                    
    SetVehicleVirtualWorld(carro,GetPlayerVirtualWorld(playerid));
                    
    format(stringsizeof(string), "| INFO | Vocк criou o veнculo de id: %d"plid);
                    
    SendClientMessage(playeridocdstring);
                    
    cVehicle[playerid] = true;
                    return 
    1;
                }
                else {
                    
    SendClientMessage(playeridVermelho"| ERRO | ID invбlido | ID's = 400-611");
                    return 
    1;
                }
            }
        }

  3. Verificar se a variбvel й verdadeira quando ele sair do carro e se for executar a funзгo DestroyVehicle e alterar a variбvel para false.

    PHP код:
    public OnPlayerExitVehicle(playeridvehicleid)
    {
        if(
    cVehicle[playerid]) {
            
    DestroyVehicle(vehicleid); 
            
    cVehicle[playerid] = false;
        }
        return 
    1;

OBS: Vocк tambйm pode utilizar o mйtodo OnPlayerStateChange para verificar com mais precisгo quando ele sair do veнculo, entretanto, vocк tambйm teria que salvar o ID do veнculo em uma variбvel.
Reply
#8

Quote:
Originally Posted by Kojak
Посмотреть сообщение
Use: RemoveVehicle(playerid) sу funзгo adapte ao seu GM mas lembrando isso й sу um exemplo do que usar
RemoveVehicle(playerid) ? What?

--

Destroy Vehicle
Reply
#9

Quote:
Originally Posted by Lуs
Посмотреть сообщение
Vamos por passos.
  1. Vocк vai criar uma variбvel booleana global para jogadores no нnicio do gamemode.

    PHP код:
    new bool:cVehicle[MAX_PLAYERS]; 
  2. Vai alterar para true no comando /cv.

    PHP код:
    if(strcmp(cmd"/cv"true) == 0)
    {
        if(
    pAdmin[playerid] > 1) {
            new 
    plid;
            new 
    Float:X,Float:Y,Float:Z,Float:Angle;
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) {
                
    SendClientMessage(playeridVermelho"| ERRO | Digite: /cv [id-do-caro]");
                return 
    1;
            }
            
    plid strval(tmp);
            if(
    plid==501 || plid==465 || plid==464 || plid==594 || plid==564 || plid==427 || plid==501) {
                
    SendClientMessage(playeridVermelho"| ERRO | ID de carro Proibido!");
                return 
    1;
            }
            if(
    IsPlayerConnected(playerid)) {
                if(
    plid >= 400 && plid <= 611) {
                    
    GetPlayerPos(playerid,X,Y,Z);
                    
    GetPlayerFacingAngle(playerid,Angle);
                    new 
    carro CreateVehicle(plidXYZAngle, -1, -1120000);
                    
    PutPlayerInVehicle(playerid,carro,0);
                    if(
    GetPlayerInterior(playerid))
                    
    LinkVehicleToInterior(carro,GetPlayerInterior(playerid));
                    
    SetVehicleVirtualWorld(carro,GetPlayerVirtualWorld(playerid));
                    
    format(stringsizeof(string), "| INFO | Vocк criou o veнculo de id: %d"plid);
                    
    SendClientMessage(playeridocdstring);
                    
    cVehicle[playerid] = true;
                    return 
    1;
                }
                else {
                    
    SendClientMessage(playeridVermelho"| ERRO | ID invбlido | ID's = 400-611");
                    return 
    1;
                }
            }
        }

  3. Verificar se a variбvel й verdadeira quando ele sair do carro e se for executar a funзгo DestroyVehicle e alterar a variбvel para false.

    PHP код:
    public OnPlayerExitVehicle(playeridvehicleid)
    {
        if(
    cVehicle[playerid]) {
            
    DestroyVehicle(vehicleid);
            
    cVehicle[playerid] = false;
        }
        return 
    1;

OBS: Vocк tambйm pode utilizar o mйtodo OnPlayerStateChange para verificar com mais precisгo quando ele sair do veнculo, entretanto, vocк tambйm teria que salvar o ID do veнculo em uma variбvel.
Troca de MAX_PLAYERS para MAX_VEHICLES porque ele qr deletor por carro e nгo por player:
PHP код:
new bool:cVehicle[MAX_VEHICLES]; 
PHP код:
if(strcmp(cmd"/cv"true) == 0)
{
    if(
pAdmin[playerid] > 1) {
        new 
plid;
        new 
Float:X,Float:Y,Float:Z,Float:Angle;
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp)) {
            
SendClientMessage(playeridVermelho"| ERRO | Digite: /cv [id-do-caro]");
            return 
1;
        }
        
plid strval(tmp);
        if(
plid==501 || plid==465 || plid==464 || plid==594 || plid==564 || plid==427 || plid==501) {
            
SendClientMessage(playeridVermelho"| ERRO | ID de carro Proibido!");
            return 
1;
        }
        if(
IsPlayerConnected(playerid)) {
            if(
plid >= 400 && plid <= 611) {
                
GetPlayerPos(playerid,X,Y,Z);
                
GetPlayerFacingAngle(playerid,Angle);
                new 
carro CreateVehicle(plidXYZAngle, -1, -1120000);
                
PutPlayerInVehicle(playerid,carro,0);
                if(
GetPlayerInterior(playerid))
                
LinkVehicleToInterior(carro,GetPlayerInterior(playerid));
                
SetVehicleVirtualWorld(carro,GetPlayerVirtualWorld(playerid));
                
format(stringsizeof(string), "| INFO | Vocк criou o veнculo de id: %d"plid);
                
SendClientMessage(playeridocdstring);
                
cVehicle[carro] = true;
                return 
1;
            }
            else {
                
SendClientMessage(playeridVermelho"| ERRO | ID invбlido | ID's = 400-611");
                return 
1;
            }
        }
    }

PHP код:
public OnPlayerExitVehicle(playeridvehicleid)
{
    if(
cVehicle[vehicleid]) {
        
DestroyVehicle(vehicleid);
        
cVehicle[vehicleid] = false;
    }
    return 
1;

Reply
#10

Quote:
Originally Posted by GabrielDias_Invision
Посмотреть сообщение
Troca de MAX_PLAYERS para MAX_VEHICLES porque ele qr deletor por carro e nгo por player:
PHP код:
new bool:cVehicle[MAX_VEHICLES]; 
PHP код:
if(strcmp(cmd"/cv"true) == 0)
{
    if(
pAdmin[playerid] > 1) {
        new 
plid;
        new 
Float:X,Float:Y,Float:Z,Float:Angle;
        
tmp strtok(cmdtextidx);
        if(!
strlen(tmp)) {
            
SendClientMessage(playeridVermelho"| ERRO | Digite: /cv [id-do-caro]");
            return 
1;
        }
        
plid strval(tmp);
        if(
plid==501 || plid==465 || plid==464 || plid==594 || plid==564 || plid==427 || plid==501) {
            
SendClientMessage(playeridVermelho"| ERRO | ID de carro Proibido!");
            return 
1;
        }
        if(
IsPlayerConnected(playerid)) {
            if(
plid >= 400 && plid <= 611) {
                
GetPlayerPos(playerid,X,Y,Z);
                
GetPlayerFacingAngle(playerid,Angle);
                new 
carro CreateVehicle(plidXYZAngle, -1, -1120000);
                
PutPlayerInVehicle(playerid,carro,0);
                if(
GetPlayerInterior(playerid))
                
LinkVehicleToInterior(carro,GetPlayerInterior(playerid));
                
SetVehicleVirtualWorld(carro,GetPlayerVirtualWorld(playerid));
                
format(stringsizeof(string), "| INFO | Vocк criou o veнculo de id: %d"plid);
                
SendClientMessage(playeridocdstring);
                
cVehicle[carro] = true;
                return 
1;
            }
            else {
                
SendClientMessage(playeridVermelho"| ERRO | ID invбlido | ID's = 400-611");
                return 
1;
            }
        }
    }

PHP код:
public OnPlayerExitVehicle(playeridvehicleid)
{
    if(
cVehicle[vehicleid]) {
        
DestroyVehicle(vehicleid);
        
cVehicle[vehicleid] = false;
    }
    return 
1;

A funcionalidade й a mesma.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)