[Release/Help] Sisteminha de aluguel de carros
#1

Comeзei a codar faz um tempinho e fiz um sisteminha rachando a cuca aqui, dкem uma olhada...

pawn Код:
// Carros aluguel

    AddStaticVehicleEx(492,1560.06860352,-2322.08666992,13.45465469,90.00000000,6,6,15); //Greenwood
    AddStaticVehicleEx(492,1559.94238281,-2325.27368164,13.45465469,92.00000000,6,6,15); //Greenwood
    AddStaticVehicleEx(492,1560.14392090,-2328.51708984,13.45465469,91.99951172,6,6,15); //Greenwood
    AddStaticVehicleEx(492,1560.04870605,-2331.82861328,13.45465469,91.99951172,6,6,15); //Greenwood
    AddStaticVehicleEx(462,1549.34875488,-2361.13964844,13.22487450,0.00000000,6,6,15); //Faggio
    AddStaticVehicleEx(462,1552.59863281,-2361.06982422,13.22487450,0.00000000,6,6,15); //Faggio
    AddStaticVehicleEx(462,1556.34863281,-2360.98876953,13.22487450,0.00000000,6,6,15); //Faggio
    AddStaticVehicleEx(462,1546.09863281,-2361.20849609,13.22487450,0.00000000,6,6,15); //Faggio
    AddStaticVehicleEx(462,1543.09863281,-2361.27246094,13.22487450,0.00000000,6,6,15); //Faggio
    AddStaticVehicleEx(462,1539.34863281,-2361.35302734,13.22487450,0.00000000,6,6,15); //Faggio

    SetVehicleParamsEx(1, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(2, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(3, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(4, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(5, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(6, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(7, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(8, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(9, 0, 0, 0, 0, 0, 0, 0);
    SetVehicleParamsEx(10, 0, 0, 0, 0, 0, 0, 0);



OnPlayerCommand blablabla
pawn Код:
if (strcmp("/alugarveiculo", cmdtext, true, 10) == 0)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
            if(GetPlayerMoney(playerid) < 1500)
            {
                SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode alugar este {FFCC00}veiculo{FFFFFF}, pois nгo tem {00CC00}R${FFFFFF}1.500");
            }
            else
            {
                if(IsPlayerInVehicle(playerid, 1))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(1, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 2))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(2, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 3))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(3, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 4))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(4, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 5))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(5, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 6))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(6, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 7))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(7, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 8))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(8, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 9))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(9, 1, 0, 0, 0, 0, 0, 0);
                }
                else if(IsPlayerInVehicle(playerid, 10))
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    SetVehicleParamsEx(10, 1, 0, 0, 0, 0, 0, 0);
                }
                else return SendClientMessage(playerid, COR_BRANCO, "Vocк precisa estar em um {FFCC00}veiculo de aluguel{FFFFFF}!");
            }
            return 1;
        }
        else return SendClientMessage(playerid, COR_BRANCO, "Vocк precisa estar em um {FFCC00}veiculo de aluguel{FFFFFF}!");
    }

onplayerentervehicle

pawn Код:
if(vehicleid <= 10)
    {
        SendClientMessage(playerid, COR_BRANCO, "Se deseja alugar este veiculo, digite {FFCC00}/alugarveiculo");
        SendClientMessage(playerid, COR_BRANCO, "- O preзo do aluguel й {00CC00}R${FFFFFF}1.500");
        return 1;
    }

Entгo, como eu faria para fazer o carro meu enquanto extб no aluguel? Pro cara dar /lock e /engine?
Teria que usar strings ou algo do genero? Alguйm pode me explicar?
Reply
#2

@@ sorry o double
Reply
#3

Creio que esteja correto....

pawn Код:
//topo
new caralu[11];
new jalugou[MAX_PLAYERS];

//on game mode init
    caralu[0] = AddStaticVehicleEx(492,1560.06860352,-2322.08666992,13.45465469,90.00000000,6,6,15); //Greenwood
    caralu[1] = AddStaticVehicleEx(492,1559.94238281,-2325.27368164,13.45465469,92.00000000,6,6,15); //Greenwood
    caralu[2] = AddStaticVehicleEx(492,1560.14392090,-2328.51708984,13.45465469,91.99951172,6,6,15); //Greenwood
    caralu[3] = AddStaticVehicleEx(492,1560.04870605,-2331.82861328,13.45465469,91.99951172,6,6,15); //Greenwood
    caralu[4] = AddStaticVehicleEx(462,1549.34875488,-2361.13964844,13.22487450,0.00000000,6,6,15); //Faggio
    caralu[5] = AddStaticVehicleEx(462,1552.59863281,-2361.06982422,13.22487450,0.00000000,6,6,15); //Faggio
    caralu[6] = AddStaticVehicleEx(462,1556.34863281,-2360.98876953,13.22487450,0.00000000,6,6,15); //Faggio
    caralu[7] = AddStaticVehicleEx(462,1546.09863281,-2361.20849609,13.22487450,0.00000000,6,6,15); //Faggio
    caralu[8] = AddStaticVehicleEx(462,1543.09863281,-2361.27246094,13.22487450,0.00000000,6,6,15); //Faggio
    caralu[9] = AddStaticVehicleEx(462,1539.34863281,-2361.35302734,13.22487450,0.00000000,6,6,15); //Faggio

//on player connect
    jalugou[playerid] = 0;

//on player command text
    if(strcmp("/alugarveiculo", cmdtext, true, 10) == 0)
    {
        for(new x = 0; x < 11; x ++)
        {
            if(IsPlayerInVehicle(playerid, caralu[x]) || jalugou[playerid] == 0) // se ele tive em um dos 11 carros criados...
            {
                if(GetPlayerMoney(playerid) < 1500)
                {
                    SendClientMessage(playerid, COR_BRANCO, "Vocк nгo pode alugar este {FFCC00}veiculo{FFFFFF}, pois nгo tem {00CC00}R${FFFFFF}1.500");
                }
                else
                {
                    GivePlayerMoney(playerid, -1500);
                    SendClientMessage(playerid, COR_BRANCO, "Agora que vocк jб alugou vocк pode usa-lo");
                    SendClientMessage(playerid, COR_BRANCO, "((Para ver os comandos, digite /ajudacarro))");
                    jalugou[playerid] = 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COR_BRANCO, "Voce jб alugou um veiculo ou nao esta em um veiculo de aluguel.");
            }
        }
        return 1;
    }

    if(strcmp(cmdtext, "/lock", true)==0)
    {
        for(new x = 0; x < 11; x ++)
        {
            if(IsPlayerInVehicle(playerid, caralu[x]) || jalugou[playerid] == 1)
            {
                new State=GetPlayerState(playerid);
                if(State != PLAYER_STATE_DRIVER)
                {
                    SendClientMessage(playerid,COR_BRANCO,"Vocк sу pode trancar um veiculo que voce й motorista.");
                    return 1;
                }
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(i != playerid)
                    {
                        SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
                    }
                }
                SendClientMessage(playerid, COR_BRANCO, "Veiculo Trancado");
            }
            else
            {
                SendClientMessage(playerid, COR_BRANCO, "Voce nao esta em um veiculo de aluguel ou nao alugou este veiculo.");
            }
        }
        return 1;
    }

    if(strcmp(cmdtext, "/unlock", true)==0)
    {
        for(new x = 0; x < 11; x ++)
        {
            if(IsPlayerInVehicle(playerid, caralu[x]) || jalugou[playerid] == 1)
            {
                new State2=GetPlayerState(playerid);
                if(State2 != PLAYER_STATE_DRIVER)
                {
                    SendClientMessage(playerid,COR_BRANCO,"Vocк sу pode destrancar um veiculo que voce й motorista.");
                    return 1;
                }
                for(new i = 0; i < MAX_PLAYERS; i++)
                {
                    if(i != playerid)
                    {
                        SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
                    }
                }
                SendClientMessage(playerid, COR_BRANCO, "Veiculo Destrancado");
            }
            else
            {
                SendClientMessage(playerid, COR_BRANCO, "Voce nao esta em um veiculo de aluguel ou nao alugou este veiculo.");
            }
        }
        return 1;
    }



//on player enter vehicle
    for(new x = 0; x < 11; x ++)
    {
        if(IsPlayerInVehicle(playerid, caralu[x]))
        {
            if(jalugou[playerid] == 1)
            {
                TogglePlayerControllable(playerid, 1);
            }
            else if(jalugou[playerid] == 0)
            {
                RemovePlayerFromVehicle(playerid);
                GameTextForPlayer(playerid, "~g~/alugarveiculo ~p~para ~r~alugar ~b~esse ~y~veiculo", 6000, 6);
            }
        }
    }
Reply
#4

O geito mais fбcil seria criar uma forward e definir uma callback com os veнculos de aluguel!
Reply
#5

sу adaptar o que eu postei ali em cima....
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)