[AJUDA] Concessionaria
#1

Bom pessoal, meu primeiro tуpico no fуrum e ja й de pedido de ajuda, estou criando o meu servidor RP, sу que estou tendo problemas em criar uma concessionaria, sempre que entro no carro da concessionaria da m erro fala que estou roubando o carro, vou postar uma imagem do erro. se alguem tiver um FS que funcione perfeitamente e poder me enviar agradeзo.

IMAGEM



Vou deixar o codigo caso alguem consgia arrumar para mim, ou me explicar como arrumar, ja tentei vбrios fs e nenhum funciona.

CODIGO
Код:
// Filterscript de comprar veнculos by Flбvio Toribio

#include <a_samp>

#define MAX_RENT_VEHICLES 50 //coloque aqui o mбximo de veнclos que pode colocar pra alugar

forward VerificarVeiculos();

new RentVehicle[MAX_RENT_VEHICLES];
new VehiclePrice[MAX_VEHICLES];
new VehicleOwner[MAX_VEHICLES][MAX_PLAYER_NAME];
new VehicleName[MAX_VEHICLES][MAX_PLAYER_NAME];
new rentid;

stock AddRentableVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, price, name[])
{
    RentVehicle[rentid] = CreateVehicle(modelid, x, y, z, angle, color1, color2, 6000);
    if(!RentVehicle[rentid] || !price || !name[0]) return -1;
    VehiclePrice[RentVehicle[rentid]] = price;
    strmid(VehicleName[RentVehicle[rentid]], name, 0, strlen(name));
    return rentid++;
}

stock bool:IsVehicleRentable(vehicleid)
{
    for(new i; i < MAX_RENT_VEHICLES; i++)
        if(RentVehicle[i] == vehicleid)
            return true;
    return false;
}

stock SetVehicleOwner(vehicleid, owner[])
{
    if(!IsVehicleRentable(vehicleid)) return 0;
    strmid(VehicleOwner[vehicleid], owner, 0, strlen(owner));
    return 1;
}

stock GetVehicleOwner(vehicleid, destine[])
{
    if(!IsVehicleRentable(vehicleid) || !VehicleOwner[vehicleid][0])
    {
        format(destine, 8, "ninguem");
        return 0;
    }
    format(destine, strlen(VehicleOwner[vehicleid]), "%s", VehicleOwner[vehicleid]);
    return 1;
}

stock bool:IsVehicleOwned(vehicleid)
{
    return !VehicleOwner[vehicleid][0] || !IsVehicleRentable(vehicleid) ? false : true;
}

stock bool:IsPlayerVehicleOwner(playerid, vehicleid)
{
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof pname);
    return !strcmp(VehicleOwner[vehicleid], pname, false);
}

public OnFilterScriptInit()
{
    printf("Filterscript de comprar veiculos by Flбvio Toribio");
    AddRentableVehicle(560,2148.95312500,-1133.84375000,25.50844955,268.68713379,-1,-1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2148.67773438,-1138.59631348,25.29216003,268.68713379,-1,-1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2148.55419922,-1143.23767090,24.81860352,270.67492676,-1,-1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2148.90820312,-1148.01342773,24.19911385,270.67492676,-1,-1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2148.73071289,-1152.96936035,23.69398499,268.68994141,1,1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2148.40893555,-1157.27673340,23.54281807,270.67492676,-1,-1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2148.22070312,-1161.82226562,23.96955872,268.68994141,-1,-1, 50000, "Este sultane"); //sultan
    AddRentableVehicle(560,2148.11938477,-1166.36987305,23.82676506,268.68994141,-1,-1, 50000, "Este sultan"); //sultan
    AddRentableVehicle(560,2147.92138672,-1170.76074219,23.15259361,270.67492676,-1,-1, 50000, "Esta sultan"); //sultan
    AddRentableVehicle(560,2147.97070312,-1175.80541992,23.48069000,266.70495605,-1,-1, 50000, "Esta sultan"); //sultan
    AddRentableVehicle(560,2147.87622070,-1180.58093262,23.48069000,266.70410156,-1,-1, 50000, "Esta sultan"); //sultan

    SetTimer("VerificarVeiculos", 5000, 1);
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(newstate == PLAYER_STATE_DRIVER)
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        if(IsVehicleRentable(vehicleid))
        {
            new string[128], owner[MAX_PLAYER_NAME];
            TogglePlayerControllable(playerid, false);
            GetVehicleOwner(vehicleid, owner);
            if(!IsVehicleOwned(vehicleid))
            {
                format(string, sizeof string, "Compre %s por apenas %d reais! Digite: /veiculo comprar",
                    VehicleName[vehicleid], VehiclePrice[vehicleid]);
            } else if(IsPlayerVehicleOwner(playerid, vehicleid))
            {
                TogglePlayerControllable(playerid, true);
                format(string, sizeof string, "Bem vindo a seu veнculo,%s.", owner);
            } else {
                format(string, sizeof string, "Ops,Este %s pertence а %s .",VehicleName[vehicleid], owner);
            }
            SendClientMessage(playerid, 0xFFFFFFAA, string);
        }
    }
    return 1;
}

public VerificarVeiculos()
{
    for(new i; i < MAX_VEHICLES; i++)
    {
        if(GetVehicleModel(i) < 400 && GetVehicleModel(i) > 612 && IsVehicleRentable(i))
        {
            for(new j = i; j < MAX_RENT_VEHICLES; j++)
            {
                VehiclePrice[j] = VehiclePrice[j+1];
                VehicleName[j] = VehicleName[j+1];
                VehicleOwner[j] = VehicleOwner[j+1];
            }
            rentid--;
        }
    }
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if(!strcmp(cmdtext, "/veiculo comprar", true))
    {
        new vehicleid = GetPlayerVehicleID(playerid);
        if(!vehicleid)
        {
            SendClientMessage(playerid, 0xFF0000AA, "Vб a uma concessionбra e entre em um veнculo!");
            return 1;
        }
        new string[128];
        if(!IsVehicleOwned(vehicleid))
        {
            if(GetPlayerMoney(playerid) >= VehiclePrice[vehicleid])
            {
                new pname[MAX_PLAYER_NAME];
                GetPlayerName(playerid, pname, sizeof pname);
                SetVehicleOwner(vehicleid, pname);
                GivePlayerMoney(playerid, -VehiclePrice[vehicleid]);
                TogglePlayerControllable(playerid, true);
                format(string, sizeof string, "Agora Este %s й de sua autoria!", VehicleName[vehicleid]);
                SendClientMessage(playerid, 0xFFFFFFAA, string);
            } else {
                format(string, sizeof string, "Vocк nгo tem %d reais!", VehiclePrice[vehicleid]);
                SendClientMessage(playerid, 0xFF0000AA, string);
                return 1;
            }
        } else if(IsPlayerVehicleOwner(playerid, vehicleid))
        {
            format(string, sizeof string, "Vocк jб й dono d%s!", VehicleName[vehicleid]);
            SendClientMessage(playerid, 0xFF0000AA, string);
        } else {
            new owner[MAX_PLAYER_NAME];
            GetVehicleOwner(vehicleid, owner);
            format(string, sizeof string, "Ops, %s pertence а %s.", VehicleName[vehicleid], owner);
            SendClientMessage(playerid, 0xFF0000AA, string);
        }
        return 1;
    }
    return 0;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        if(IsVehicleRentable(GetPlayerVehicleID(playerid)))
        {
            TogglePlayerControllable(playerid, true);
            RemovePlayerFromVehicle(playerid);
        }
    }
    return 1;
}
Reply
#2

ja usei esse FS,ele tem alguns bugs sim,pq nao usa o do LELETE?
https://sampforum.blast.hk/showthread.php?tid=169578
Reply
#3

Bom jб tentei usar mas da um erro na hora de compilar vocк poderia me ajudar me passando as includes se alguem tiver agradeзo !
Reply
#4

http://www.4shared.com/file/OZQFgtkS/include.html
ta ae.
Reply
#5

Os carros do FS estгo com os mesmos "nъmeros" com o do GM. (Se estiverem no FS). E nesse caso, estгo no mesmo nъmero dos que o da Polнcia. Tenta botar o FS no GM.. E se jб tiver, da uma conferida novamente nos nъmeros.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)