[Ajuda] comando /trancar nгo da resultado...
#1

o comando nao destrava o carro... ja chequei return etc e nada... oq vcs acham?

pawn Код:
if(strcmp(cmd, "/trancar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new carid;
            if (gTeam[playerid] == 2 || gTeam[playerid] == 1)
            {
                if(gLastCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 500)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo tem um carro de casa/alugado.");
                    return 1;
                }
                else if(gLastCar[playerid] != 0 && gLastCar[playerid] != PlayerInfo[playerid][pPHousekey]+totalveiculos)
                {
                    if (HireCar[playerid] != gLastCar[playerid] && HireCar[playerid] > 0)
                    {
                        gLastDriver[HireCar[playerid]] = 300;
                        VTrancado[HireCar[playerid]] = 0;
                        gCarLock[HireCar[playerid]] = 0;
                        UnLockCar(HireCar[playerid]);
                    }
                    HireCar[playerid] = gLastCar[playerid];
                }
            }
            if (PlayerInfo[playerid][pPHousekey] == 500)
            {
                if(HireCar[playerid] == 0)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro.");
                    return false;
                }
            }
            carid = PlayerInfo[playerid][pPHousekey]+totalveiculosh;
            if(HireCar[playerid] > 0 && !SwitchKey[playerid])
            {
                carid = HireCar[playerid];
            }
            new lockstatus = VTrancado[carid];
            new Float:cx,Float:cy,Float:cz;
            GetVehiclePos(carid, cx, cy, cz);
            switch (lockstatus)
            {
                case 0:
                {
                    if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 500)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro");
                        return 1;
                    }
                    if(HireCar[playerid] == carid && !SwitchKey[playerid])
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo Alugado~r~Fechado", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 1;
                        gCarLock[HireCar[playerid]] = 1;
                        LockCar(carid);
                    }
                    else if(PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo da Casa ~r~Fechado", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 1;
                        LockCar(carid);
                        return false;
                    }
                }
                case 1:
                {
                    if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 500)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro");
                        return true;
                    }
                    if(HireCar[playerid] == carid && !SwitchKey[playerid])
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo Alugado~g~Aberto", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 0;
                        UnLockCar(carid);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerInterior(playerid, 0);
                    }
                    if (PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo da Casa ~g~Aberto", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 0;
                        UnLockCar(carid);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerInterior(playerid, 0);
                        return false;
                    }
                }
                default:
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Erro");
                }
            }
            if(carid == 256)
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro!");
            }
        }
        return true;

    }
Reply
#2

Use tambйm a variбvel "VTrancado" dentro dos seus ifs para checar se o carro estб ou nгo trancado.

ex.
pawn Код:
// caso o veiculo esteja aberto.
else if(PlayerInfo[playerid][pPHouseCarkey] == carid && VTrancado[carid] == 0)  // observe o uso da variбvel "VTrancado".
{
    GameTextForPlayer(playerid, "~w~Veiculo da Casa ~r~Fechado", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    VTrancado[carid] = 1;
    LockCar(carid);
    return false;
}

// caso esteja fechado.
if (PlayerInfo[playerid][pPHouseCarkey] == carid && VTrancado[carid] == 1)
{
    GameTextForPlayer(playerid, "~w~Veiculo da Casa ~g~Aberto", 5000, 6);
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    VTrancado[carid] = 0;
    UnLockCar(carid);
    SetPlayerVirtualWorld(playerid, 0);
    SetPlayerInterior(playerid, 0);
    return false;
}
Caso nгo dк certo, apresente as linhas da funзгo "UnLockCar" criada.
Reply
#3

nгo deu certo...ele da "SERVER: Unknow Command"
Reply
#4

Tenta ae!
PHP код:
if(strcmp(cmd"/trancar"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            new 
carid;
            if (
gTeam[playerid] == || gTeam[playerid] == 1)
            {
                if(
gLastCar[playerid] == && PlayerInfo[playerid][pPHousekey] == 500)
                {
                    
SendClientMessage(playeridCOLOR_GRAD2"Vocк nгo tem um carro de casa/alugado.");
                    return 
1;
                }
                else if(
gLastCar[playerid] != && gLastCar[playerid] != PlayerInfo[playerid][pPHousekey]+totalveiculos)
                {
                    if (
HireCar[playerid] != gLastCar[playerid] && HireCar[playerid] > 0)
                    {
                        
gLastDriver[HireCar[playerid]] = 300;
                        
VTrancado[HireCar[playerid]] = 0;
                        
gCarLock[HireCar[playerid]] = 0;
                        
UnLockCar(HireCar[playerid]);
                    }
                    
HireCar[playerid] = gLastCar[playerid];
                }
            }
            if (
PlayerInfo[playerid][pPHousekey] == 500)
            {
                if(
HireCar[playerid] == 0)
                {
                    
SendClientMessage(playeridCOLOR_GRAD2"Voce nгo tem um carro.");
                    return 
false;
                }
            }
            
carid PlayerInfo[playerid][pPHousekey]+totalveiculosh;
            if(
HireCar[playerid] > && !SwitchKey[playerid])
            {
                
carid HireCar[playerid];
            }
            new 
lockstatus VTrancado[carid];
            new 
Float:cx,Float:cy,Float:cz;
            
GetVehiclePos(caridcxcycz);
            switch (
lockstatus)
            {
                case 
0:
                {
                    if(
HireCar[playerid] == && PlayerInfo[playerid][pPHousekey] == 500)return SendClientMessage(playeridCOLOR_GRAD2"Voce nгo tem um carro");
                    if(
HireCar[playerid] == carid && !SwitchKey[playerid] || PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        
GameTextForPlayer(playerid"~w~Veiculo da Casa ~r~Fechado"50006);
                        
PlayerPlaySound(playerid11450.00.00.0);
                        
VTrancado[carid] = 1;
                        
LockCar(carid);
                        return 
false;
                    }
                }
                case 
1:
                {
                    if(
HireCar[playerid] == && PlayerInfo[playerid][pPHousekey] == 500)return SendClientMessage(playeridCOLOR_GRAD2"Voce nгo tem um carro");
                    if (
HireCar[playerid] == carid && !SwitchKey[playerid] || PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        
GameTextForPlayer(playerid"~w~Veiculo da Casa ~g~Aberto"50006);
                        
PlayerPlaySound(playerid11450.00.00.0);
                        
VTrancado[carid] = 0;
                        
UnLockCar(carid);
                        
SetPlayerVirtualWorld(playerid0);
                        
SetPlayerInterior(playerid0);
                        return 
false;
                    }
                }
                default:
                {
                    
SendClientMessage(playeridCOLOR_GRAD2"Erro");
                }
            }
            if(
carid == 256)
            {
                
SendClientMessage(playeridCOLOR_GRAD2"Voce nгo tem um carro!");
            }
        }
        return 
true;

    } 
Reply
#5

Sem efeito :S
Reply
#6

Vк se deu
pawn Код:
if(strcmp(cmd, "/trancar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new carid;
            if (gTeam[playerid] == 2 || gTeam[playerid] == 1)
            {
                if(gLastCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 255)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo tem um carro de casa/alugado.");
                    return true;
                }
                else if(gLastCar[playerid] != 0 && gLastCar[playerid] != PlayerInfo[playerid][pPHousekey]+totalveiculos)
                {
                    if (HireCar[playerid] != gLastCar[playerid] && HireCar[playerid] > 0)
                    {
                        gLastDriver[HireCar[playerid]] = 300;
                        VTrancado[HireCar[playerid]] = 0;
                        UnLockCar(HireCar[playerid]);
                    }
                    HireCar[playerid] = gLastCar[playerid];
                }
            }
            if (PlayerInfo[playerid][pPHousekey] == 255)
            {
                if(HireCar[playerid] == 0)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro.");
                    return true;
                }
            }
            carid = PlayerInfo[playerid][pPHousekey]+totalveiculosh;
            if(HireCar[playerid] > 0 && !SwitchKey[playerid])
            {
                carid = HireCar[playerid];
            }
            new lockstatus = VTrancado[carid];
            new Float:cx,Float:cy,Float:cz;
            GetVehiclePos(carid, cx, cy, cz);
            switch (lockstatus)
            {
                case 0:
                {
                    if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 255)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro");
                        return true;
                    }
                    if(HireCar[playerid] == carid && !SwitchKey[playerid])
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo Alugado~r~Fechado", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 1;
                        LockCar(carid);
                    }
                    else if(PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo da Casa ~r~Fechado", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 1;
                        LockCar(carid);
                        return true;
                    }
                }
                case 1:
                {
                    if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 255)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro");
                        return true;
                    }
                    if(HireCar[playerid] == carid && !SwitchKey[playerid])
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo Alugado~g~Aberto", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 0;
                        UnLockCar(carid);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerInterior(playerid, 0);
                    }
                    if (PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo da Casa ~g~Aberto", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 0;
                        UnLockCar(carid);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerInterior(playerid, 0);
                        return true;
                    }
                }
                default:
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Erro");
                }
            }
            if(carid == 256)
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro!");
            }
        }
        return true;
    }
Reply
#7

Conta todos as suas funзoes de veiculos e conta certo
Reply
#8

Quote:
Originally Posted by Morum
Посмотреть сообщение
Vк se deu
pawn Код:
if(strcmp(cmd, "/trancar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            new carid;
            if (gTeam[playerid] == 2 || gTeam[playerid] == 1)
            {
                if(gLastCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 255)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Vocк nгo tem um carro de casa/alugado.");
                    return true;
                }
                else if(gLastCar[playerid] != 0 && gLastCar[playerid] != PlayerInfo[playerid][pPHousekey]+totalveiculos)
                {
                    if (HireCar[playerid] != gLastCar[playerid] && HireCar[playerid] > 0)
                    {
                        gLastDriver[HireCar[playerid]] = 300;
                        VTrancado[HireCar[playerid]] = 0;
                        UnLockCar(HireCar[playerid]);
                    }
                    HireCar[playerid] = gLastCar[playerid];
                }
            }
            if (PlayerInfo[playerid][pPHousekey] == 255)
            {
                if(HireCar[playerid] == 0)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro.");
                    return true;
                }
            }
            carid = PlayerInfo[playerid][pPHousekey]+totalveiculosh;
            if(HireCar[playerid] > 0 && !SwitchKey[playerid])
            {
                carid = HireCar[playerid];
            }
            new lockstatus = VTrancado[carid];
            new Float:cx,Float:cy,Float:cz;
            GetVehiclePos(carid, cx, cy, cz);
            switch (lockstatus)
            {
                case 0:
                {
                    if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 255)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro");
                        return true;
                    }
                    if(HireCar[playerid] == carid && !SwitchKey[playerid])
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo Alugado~r~Fechado", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 1;
                        LockCar(carid);
                    }
                    else if(PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo da Casa ~r~Fechado", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 1;
                        LockCar(carid);
                        return true;
                    }
                }
                case 1:
                {
                    if(HireCar[playerid] == 0 && PlayerInfo[playerid][pPHousekey] == 255)
                    {
                        SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro");
                        return true;
                    }
                    if(HireCar[playerid] == carid && !SwitchKey[playerid])
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo Alugado~g~Aberto", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 0;
                        UnLockCar(carid);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerInterior(playerid, 0);
                    }
                    if (PlayerInfo[playerid][pPHouseCarkey] == carid)
                    {
                        GameTextForPlayer(playerid, "~w~Veiculo da Casa ~g~Aberto", 5000, 6);
                        PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
                        VTrancado[carid] = 0;
                        UnLockCar(carid);
                        SetPlayerVirtualWorld(playerid, 0);
                        SetPlayerInterior(playerid, 0);
                        return true;
                    }
                }
                default:
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Erro");
                }
            }
            if(carid == 256)
            {
                SendClientMessage(playerid, COLOR_GRAD2, "Voce nгo tem um carro!");
            }
        }
        return true;
    }
sem efeito Q.Q
Reply
#9

Ninguem mais sabe oq fazer? nada da efeito nem os codes tipo SetVehicleParams funfa,naaaadaaaa =[
Reply
#10

Provavelmente o problema nгo estб no comando /trancar em si,
O sistema de casas do GF funciona de uma maneira que a contagem de IDs precisa ser exata.

Se nгo sabe do que estou falando, provavelmente vai achar isso no topo do seu GM:

pawn Код:
#define totalveiculos X // Veнculos que estгo no gamemode.
#define totalveiculosh X // Acima mais um.
#define totalveiculosc X // Veнculos do gamemode + total de carros das casas.
#define CAR_AMOUNT X // Total de veнculos.
Provavelmente estes IDs estгo errados.
Reply


Forum Jump:


Users browsing this thread: 11 Guest(s)