[Ajuda] Erro quando vou a criar o carro
#1

Boas, eu fiz um comando para criar uma nrg. Quando eu faзo o comando fora de um veiculo da certo, mas quando faзo dentro de um veiculo, eu e o veiculo vamos parar a Red county.

pawn Code:
if (strcmp("/nrg", cmdtext, true, 10) == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid))
        {
            new Carro;
            new Float:X, Float:Y, Float:Z;
            new Float:Angle;
            GetPlayerPos(playerid, X, Y, Z);
            GetPlayerFacingAngle(playerid, Angle);
            Carro = CreateVehicle(522, X, Y, Z, Angle, 0, 0, -1);
            PutPlayerInVehicle(playerid, Carro, 0);
            GameTextForPlayer(playerid, "~w~Crias-te uma ~g~NRG-500", 5000, 1);
            TogglePlayerControllable(playerid,1);
        }
        else
        {
            DestroyVehicle(GetPlayerVehicleID(playerid));
            new Carro;
            new Float:X, Float:Y, Float:Z;
            new Float:Angle;
            GetVehiclePos(playerid, X, Y, Z);
            GetVehicleZAngle(playerid, Angle);
            Carro = CreateVehicle(522, X, Y, Z, Angle, 0, 0, -1);
            PutPlayerInVehicle(playerid, Carro, 0);
            GameTextForPlayer(playerid, "~w~Crias-te uma ~g~NRG-500", 5000, 1);
            TogglePlayerControllable(playerid,1);
        }
        return 1;
    }
Reply
#2

TENTA AE:

PHP Code:
if (strcmp("/nrg"cmdtexttrue10) == 0){
    if(!
IsPlayerInAnyVehicle(playerid)){
        new 
Carro;
        new 
Float:XFloat:YFloat:ZFloat:Angle;
        
GetPlayerPos(playeridXYZ);
        
GetPlayerFacingAngle(playeridAngle);
        
Carro CreateVehicle(522XYZAngle00, -1);
        
PutPlayerInVehicle(playeridCarro0);
        
GameTextForPlayer(playerid"~w~Crias-te uma ~g~NRG-500"50001);
        
TogglePlayerControllable(playerid,1);
    }
    else{
        new 
Carro;
        new 
Float:XFloat:YFloat:ZFloat:Angle;
        
GetVehiclePos(playeridXYZ);
        
GetVehicleZAngle(playeridAngle);
        
Carro CreateVehicle(522XYZAngle00, -1);
        
GameTextForPlayer(playerid"~w~Crias-te uma ~g~NRG-500"50001);
        
TogglePlayerControllable(playerid,1);
    }
    return 
true;

Reply
#3

Nao deu da sua maneira.

Ja sei como resolver. o unico problema й que se calhar pode bugar pois apaga o carro e cria 1 ao mesmo tempo

pawn Code:
if (strcmp("/nrg", cmdtext, true, 10) == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid))
        {
            new Carro;
            new Float:X, Float:Y, Float:Z;
            new Float:Angle;
            GetPlayerPos(playerid, X, Y, Z);
            GetPlayerFacingAngle(playerid, Angle);
            Carro = CreateVehicle(522, X, Y, Z, Angle, 0, 0, -1);
            PutPlayerInVehicle(playerid, Carro, 0);
            GameTextForPlayer(playerid, "~w~Crias-te uma ~g~NRG-500", 5000, 1);
            TogglePlayerControllable(playerid,1);
        }
        else
        {
            DestroyVehicle(GetPlayerVehicleID(playerid)); // esqueci que apaga o carro
            new Carro;
            new Float:X, Float:Y, Float:Z;
            new Float:Angle;
            GetVehiclePos(playerid, X, Y, Z); // aqui devisa ser GetPlayerPos(playerid, X, Y, Z); porque apagou o carro
            GetVehicleZAngle(playerid, Angle);// aqui devisa ser GetPlayerFacingAngle(playerid, Angle); porque apagou o carro
            Carro = CreateVehicle(522, X, Y, Z, Angle, 0, 0, -1);
            PutPlayerInVehicle(playerid, Carro, 0);
            GameTextForPlayer(playerid, "~w~Crias-te uma ~g~NRG-500", 5000, 1);
            TogglePlayerControllable(playerid,1);
        }
        return 1;
    }
Codigo correto

pawn Code:
if (strcmp("/nrg", cmdtext, true, 10) == 0)
    {
        if(!IsPlayerInAnyVehicle(playerid))
        {
            new Carro;
            new Float:X, Float:Y, Float:Z;
            new Float:Angle;
            GetPlayerPos(playerid, X, Y, Z);
            GetPlayerFacingAngle(playerid, Angle);
            Carro = CreateVehicle(522, X, Y, Z, Angle, 0, 0, -1);
            PutPlayerInVehicle(playerid, Carro, 0);
            GameTextForPlayer(playerid, "~w~Crias-te uma ~g~NRG-500", 5000, 1);
            TogglePlayerControllable(playerid,1);
        }
        else
        {
            DestroyVehicle(GetPlayerVehicleID(playerid)); // esqueci que apaga o carro
            new Carro;
            new Float:X, Float:Y, Float:Z;
            new Float:Angle;
            GetPlayerPos(playerid, X, Y, Z);
            GetPlayerFacingAngle(playerid, Angle);
            Carro = CreateVehicle(522, X, Y, Z, Angle, 0, 0, -1);
            PutPlayerInVehicle(playerid, Carro, 0);
            GameTextForPlayer(playerid, "~w~Crias-te uma ~g~NRG-500", 5000, 1);
            TogglePlayerControllable(playerid,1);
        }
        return 1;
    }
Reply
#4

Eu preciso de ajuda pq eu crio a 1є vez e fica por exemplo no angulo 10 e quando crio outro veiculo e cria no angulo 10 e estou virado para o angulo 23 por exemplo. alguem que me ajude
Reply
#5

Quote:
Originally Posted by iTzDemon
View Post
Nao deu da sua maneira.Ja sei como resolver. o unico problema й que se calhar pode bugar pois apaga o carro e cria 1 ao mesmo tempo
Pelo jeito tu nao sabe nada de programaзao nй fera ?

pawn Code:
// Topo do GM

new VeiculoCriado[MAX_VEHICLES];

// OnPlayerExitVehicle

if(VeiculoCriado[vehicleid] == 1)
{
    DestroyVehicle(vehicleid);
}

// Novo comando

if(strcmp(cmdtext,"/nrg",true) == 0)
{
    if(IsPlayerInAnyVehicle(playerid))
    {
        if(VeiculoCriado[GetPlayerVehicleID(playerid)] == 1)
        {
            DestroyVehicle(GetPlayerVehicleID(playerid));
            VeiculoCriado[GetPlayerVehicleID(playerid)] = 0;
        }
    }
    new MotoNrg = CreateVehicle(522,Pos[0],Pos[1],Pos[2],Pos[3],-1,-1,60000*60);
    PutPlayerInVehicle(playerid,MotoNrg,PLAYER_STATE_DRIVER);

    GameTextForPlayer(playerid,"~r~Voce criou uma Nrg-500",2000,3);

    VeiculoCriado[GetPlayerVehicleID(playerid)] = 1;
    return 1;
}
Reply
#6

Cara voce й que nao precebe. Nao quero que destruia ao sair do carro. so quero que destruia quando crio outro
Reply
#7

pawn Code:
// Topo do GM

new VeiculoCriado[MAX_VEHICLES];
new VeiculoPlayer[MAX_PLAYERS];

// OnPlayerDisconnect

if(VeiculoPlayer[playerid] >= 1)
{
    DestroyVehicle(VeiculoPlayer[playerid]);
    VeiculoPlayer[playerid] = 0;
}

// Novo comando

if(strcmp(cmdtext,"/nrg",true) == 0)
{
    if(IsPlayerInAnyVehicle(playerid))
    {
        if(VeiculoCriado[GetPlayerVehicleID(playerid)] == 1)
        {
            DestroyVehicle(GetPlayerVehicleID(playerid));
            VeiculoCriado[GetPlayerVehicleID(playerid)] = 0;
        }
    }
    if(VeiculoPlayer[playerid] >= 1)
    {
        DestroyVehicle(VeiculoPlayer[playerid]);
        VeiculoPlayer[playerid] = 0;
    }
    new MotoNrg = CreateVehicle(522,Pos[0],Pos[1],Pos[2],Pos[3],-1,-1,60000*60);
    PutPlayerInVehicle(playerid,MotoNrg,PLAYER_STATE_DRIVER);

    GameTextForPlayer(playerid,"~r~Voce criou uma Nrg-500",2000,3);

    VeiculoCriado[GetPlayerVehicleID(playerid)] = 1;
    VeiculoPlayer[playerid] = GetPlayerVehicleID(playerid);
    return 1;
}
Qual й a dificuldade de fazer isto ? /\ '-'
Reply
#8

Nao ha. Mas tu nao precebes-te omg esquece ate vou desligar o pc por hoje
Reply
#9

Quote:
Originally Posted by iTzDemon
View Post
Nao ha. Mas tu nao precebes-te omg esquece ate vou desligar o pc por hoje
Vocк nem ao menos testou o comando, pra que veio pedir ajuda entao ?

Reply
#10

cara eu nao quero assim. ja fiz assim mas nao quero. j arranjei uma maneira. E se usar um setimer?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)