Problem Car Ownership System
#1

Hello , I'm having some problems with an carownership system ! I have cars and when I get in and i type /v buy it say I'm already having a car ! I type /v help and it say's i'm not having a car !

pawn Код:
if(newstate==2)
    {
        for(new i = 0; i < sizeof(CarInfo); i++)
        {
            if(newcar == CarInfo[i][ownedvehicle])
            {
                if(CarInfo[i][cOwned]== 0)
                {
                    TogglePlayerControllable(playerid, 0);
                    CarOffered[playerid]=1;
                    SendClientMessage(playerid,COLOR_GREEN,"___________________________________________________________");
                    SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) buy {ffffff}pentru a cumpara vehiculul.");
                    SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) exit {ffffff}pentru a iesi din vehicul.");
                    SendClientMessage(playerid,COLOR_GREEN,"___________________________________________________________");
                    format(string, sizeof(string), "{30a030}[GameFront]: {ffffff}Pret: {30a030}%s{ffffff} • Model ID: {00bfff}%d {ffffff}• Vanzator: {00bfff}%s{ffffff}.", saveGM(CarInfo[newcar][cValue]), CarInfo[newcar][cModel], CarInfo[newcar][cOwner]);
                    SendClientMessage(playerid, COLOR_YELLOW, string);
                    SendClientMessage(playerid,COLOR_GREEN,"___________________________________________________________");
                    Delete3DTextLabel(TextUpCar[i]);
                }
                if(CarInfo[i][cOwned]== 1)
                {
                    format(string, sizeof(string), "{30a030}[GameFront]: {ffffff}Acest vehicul ii apartine lui: {00bfff}%s{ffffff}.", CarInfo[newcar][cOwner]);
                    SendClientMessage(playerid, COLOR_YELLOW, string);
                    Delete3DTextLabel(TextUpCar[i]);
                }
pawn Код:
//=============================================================================================================================================================
// = Comanda: /v(ehicle)
//=============================================================================================================================================================
    if(strcmp(cmd,"/v",true)== 0 || strcmp(cmd,"/vehicle",true)== 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            SendClientMessage(playerid,COLOR_WHITE,"{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) help {ffffff}pentru a vizualiza lista de comenzi.");
            SendClientMessage(playerid,COLOR_WHITE,"{30a030}[GameFront]: {ffffff}Trebuie sa detii un Vehicul personal pentru a vizualiza aceasta comanda.");
            return 1;
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) exit
//=============================================================================================================================================================
        if(strcmp(tmp,"exit",true)==0)
        {
            CarOffered[playerid]=0;
            RemovePlayerFromVehicle(playerid);
            TogglePlayerControllable(playerid, 1);
            return 1;
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) disable
//=============================================================================================================================================================
        if(strcmp(tmp,"disable",true)==0)
        {
            DisablePlayerCheckpoint(playerid);
            return 1;
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) help
//=============================================================================================================================================================
        if(strcmp(tmp, "help", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(PlayerInfo[playerid][pCarKey] == 0)
                {
                    SendClientMessage(playerid, COLOR_GREEN,"_________________________________________________________________");
                    SendClientMessage(playerid, COLOR_WHITE,"  » Comenzi dispinibile, care te pot ajuta.");
                    SendClientMessage(playerid, COLOR_GRAD2,"{ff0000}» {00bfff}Vehicle:{ffffff} sell | buy | park | lock | find | exit | disable | color");
                    SendClientMessage(playerid, COLOR_GRAD2,"{ff0000}» {00bfff}Tunning:{ffffff} /r(emove)tunning");
                    SendClientMessage(playerid, COLOR_GREEN,"_________________________________________________________________");
                }
                else
                {
                    SendClientMessage(playerid,COLOR_GRAD2,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
                    return 1;
                }
            }
            return 1;
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) color
//=============================================================================================================================================================
        else if(strcmp(tmp,"color",true) == 0)
        {
            if(PlayerInfo[playerid][pCarKey] == 0)
            {
                SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
                return 1;
            }
            if(GetPlayerMoney(playerid) < 250000)
            {
                SendClientMessage(playerid, COLOR_GREY,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar ai nevoie de $250.000, pentru a utiliza aceasta comanda");
                return 1;
            }
            if (GetPlayerMoney(playerid) <= 0)
            {
                GameTextForPlayer(playerid, "~r~Nu ai destui bani", 5000, 1);
                return 1;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_WHITE, "» Scrie: /v(ehicle) color [color1] [color2]");
                return 1;
            }
            new color1;
            color1 = strval(tmp);
            if(color1 < 0 && color1 > 126)
            {
                SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar aceasta culoare este invalida (0-126).");
                return 1;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_WHITE, "» Scrie: /v(ehicle) color [color1] [color2]");
                return 1;
            }
            new color2;
            color2 = strval(tmp);
            if(color2 < 0 && color2 > 126)
            {
                SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar aceasta culoare este invalida (0-126).");
                return 1;
            }
            if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { vehid = PlayerInfo[playerid][pCarKey]; }
            else { return 1; }
            if(IsPlayerInVehicle(playerid, vehid))
            {
                CarInfo[vehid][cColorOne] = color1;
                CarInfo[vehid][cColorTwo] = color2;
                GivePlayerMoney(playerid, -250000);
                GameTextForPlayer(playerid, "~r~-$250000", 5000, 1);
                ChangeVehicleColor(vehid, color1, color2);
                SaveCars();
                return 1;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar trebuie sa te afli in vehicul pentru a utiliza aceasta comanda.");
                return 1;
            }
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) park
//=============================================================================================================================================================
        else if(strcmp(tmp, "park", true) == 0)
        {
            new Float:x,Float:y,Float:z;
            new Float:a;
            new carid;
            new getcarid;
            if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { carid = PlayerInfo[playerid][pCarKey]; }
            else { return 1; }
            getcarid = GetPlayerVehicleID(playerid);
            GetPlayerName(playerid, playername, sizeof(playername));
            GetVehiclePos(carid, x, y, z);
            GetVehicleZAngle(carid, a);
            if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
            {
                if(PlayerInfo[playerid][pCarKey] == 255)
                {
                    SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
                    return 1;
                }
                else
                {
                    if(getcarid == carid)
                    {
                        CarInfo[carid][cLocationx] = x;
                        CarInfo[carid][cLocationy] = y;
                        CarInfo[carid][cLocationz] = z;
                        CarInfo[carid][cAngle] = a;
                        SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Acest Vehicul a fost Parcat cu succes.");
                        DestroyVehicle(carid);
                        CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
                        LoadComponents(carid);
                        TogglePlayerControllable(playerid, 1);
                        format(TextCar,sizeof(TextCar),"{dedede}%s{FFFFFF}'s vehicle",CarInfo[carid][cOwner]);
                        TextUpCar[carid] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,9.0,0);
                        Attach3DTextLabelToVehicle(TextUpCar[carid],carid,0.0,0.0,0.0);
                        SaveCars();
                        return 1;
                    }
                }
            }
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) find
//=============================================================================================================================================================
        else if(strcmp(tmp,"find",true) == 0)
        {
            if(!IsPlayerConnected(playerid)) { return 1; }
            new Float:x,Float:y,Float:z;
            new car = PlayerInfo[playerid][pCarKey];
            if(PlayerInfo[playerid][pCarKey]==255) { SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal."); return 1; }
            SendClientMessage(playerid,COLOR_WHITE,"{30a030}[GameFront]: {ffffff}Vehiculul tau a fost marcat cu un checkpoint {ff0000}rosu{ffffff} pe harta.");
            GetVehiclePos(car, x, y, z);
            SetPlayerCheckpoint(playerid, x, y, z, 6);
            return 1;
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) lock
//=============================================================================================================================================================
        else if(strcmp(tmp,"lock",true) == 0)
        {
            new keycar = PlayerInfo[playerid][pCarKey];
            if(keycar != 0)
            {
                new locked[256];
                locked = strtok(cmdtext, idx);
                if(CarInfo[keycar][cLock] == 1)
                {
                    for(new i = 0; i < MAX_PLAYERS; i++)
                    {
                        if (IsPlayerConnected(i))
                        {
                            SetVehicleParamsForPlayer(keycar,i,0,0);
                        }
                    }
                    format(string, sizeof(string), "~w~Vehicle~n~~g~UnLOCK");
                    GameTextForPlayer(playerid, string, 4000, 3);
                    CarInfo[keycar][cLock] = 0;
                    SaveCars();
                    return 1;
                }
                else if(CarInfo[keycar][cLock] == 0)
                {
                    for(new i = 0; i < MAX_PLAYERS; i++)
                    {
                        if (IsPlayerConnected(i))
                        {
                            SetVehicleParamsForPlayer(keycar,i,0,1);
                        }
                    }
                    format(string, sizeof(string), "~w~Vehicle~n~~r~Lock");
                    GameTextForPlayer(playerid, string, 4000, 3);
                    CarInfo[keycar][cLock] = 1;
                    SaveCars();
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
                return 1;
            }
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) buy
//=============================================================================================================================================================
        if(strcmp(tmp, "buy", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                for(new i = 0; i < sizeof(CarInfo); i++)
                {
                    if(CarInfo[i][ownedvehicle] == vehid)
                    {
                        if(PlayerInfo[playerid][pCarKey]!=0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar detii deja un Vehicul personal, Scrie {00bfff}/v(ehicle) sell {ffffff}pentru al vinde.");
                            return 1;
                        }
                        if(CarInfo[i][cOwned]==1)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar acest Vehicul personal este deja cumparat.");
                            return 1;
                        }
                        if(GetPlayerMoney(playerid) >= CarInfo[i][cValue])
                        {
                            PlayerInfo[playerid][pCarKey] = i;
                            CarInfo[i][cOwned] = 1;
                            CarOffered[playerid]=0;
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            strmid(CarInfo[i][cOwner], sendername, 0, strlen(sendername), 999);
                            GivePlayerMoney(playerid,-CarInfo[i][cValue]);
                            SendClientMessage(playerid, COLOR_GRAD2, "{30a030}[GameFront]: {ffffff}Felicitari, acest Vehicul personal iti apartine.");
                            SendClientMessage(playerid, COLOR_GRAD2, "{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) help {ffffff}pentru a vizualiza lista de comenzi.");
                            TogglePlayerControllable(playerid, 1);
                            Delete3DTextLabel(TextUpCar[playerid]);
                            SaveCars();
                            return 1;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu ai suficienti bani.");
                            return 1;
                        }
                    }
                }
            }
            return 1;
        }

//=============================================================================================================================================================
// = Comanda: /v(ehicle) sell
//=============================================================================================================================================================
        if(strcmp(tmp, "sell", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                if(PlayerInfo[playerid][pCar] == 0)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar trebuie sa fie un Admin de fata cand vindeti un Vehicul Personal.");
                    return 1;
                }
                GetPlayerName(playerid, playername, sizeof(playername));
                if(PlayerInfo[playerid][pCarKey] == 0)
                {
                    SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
                    return 1;
                }
                if(PlayerInfo[playerid][pCarKey] != 0 && strcmp(playername, CarInfo[PlayerInfo[playerid][pCarKey]][cOwner], true) == 0)
                {
                    new car = PlayerInfo[playerid][pCarKey];
                    CarInfo[car][cOwned] = 0;
                    CarInfo[car][cLock] = 0;
                    GetPlayerName(playerid, sendername, sizeof(sendername));
                    strmid(CarInfo[car][cOwner], "Dealership", 0, strlen("Dealership"), 999);
                    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    GivePlayerMoney(playerid,100);
                    SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Vehicul pus in vanzare, va multumim.");
                    RemovePlayerFromVehicle(playerid);
                    TogglePlayerControllable(playerid, 1);
                    PlayerInfo[playerid][pCarKey] = 0;
                    CarInfo[car][cValue] = 100;
                    Delete3DTextLabel(TextUpCar[playerid]);
                    SaveCars();
                    PlayerInfo[playerid][pCar] = 0;
                    return 1;
                }
            }
            return 1;
        }
    }
What's wrong ? I have putted the cars in cars.cfg and it's all fine !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)