Car system!
#1

pawn Код:
if(strcmp(cmd, "/buy", true) == 0)
    {
      if(IsPlayerConnected(playerid))
      {
            new playername[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername, sizeof(playername));
            for(new c = 0; c < sizeof(Cars); c++)
            {
                if(IsPlayerInVehicle(playerid,Cars[c][cModel]))
                {
                  if(Cars[c][cPrice] == 0)
                  {
                    SendClientMessage(playerid, c_r, "[ ! ] A price isn't set for this car, it is not meant to be bought!");
                        return 1;
                  }
                    if(PlayerInfo[playerid][pCarKey] != 255 && strcmp(playername, Cars[PlayerInfo[playerid][pCarKey]][cOwner], true) == 0)
                    {
                        SendClientMessage(playerid, c_r, "[ ! ] You can only own one car, sell your original car first before buying this one!");
                        return 1;
                    }
                    if(GetPlayerRcash(playerid) >= Cars[c][cPrice])
                    {
                    PlayerInfo[playerid][pCarKey] = c;
                        Cars[c][cOwned] = 1;
                        strmid(Cars[c][cOwner], playername, 0, strlen(playername), 255);
                        GivePlayerRcash(playerid,-Cars[c][cPrice]);
                        SendClientMessage(playerid, COLOR_GREEN, "[ ! ] You have successfully purchased this car!");
                        SaveCars();
                        OnPlayerDataSave(playerid);
                        return 1;
                    }
                    else
                    {
                        SendClientMessage(playerid, c_r, "[ ! ] You don't have enough rcash!");
                        return 1;
                    }
                }
            }
        }
        return 1;
    }
    if(strcmp(cmd, "/sell", true) == 0)
    {
      if(IsPlayerConnected(playerid))
        {
            new playername[MAX_PLAYER_NAME];
            GetPlayerName(playerid, playername, sizeof(playername));
            if(PlayerInfo[playerid][pCarKey] != 255 && strcmp(playername, Cars[PlayerInfo[playerid][pCarKey]][cOwner], true) == 0)
            {
              new car = PlayerInfo[playerid][pCarKey];
                if(IsPlayerInVehicle(playerid,Cars[car][cModel]))
                {
                    Cars[car][cOwned] = 0;
                    strmid(Cars[car][cOwner], "None", 0, strlen("None"), 255);
                    GivePlayerRcash(playerid,Cars[car][cPrice]);
                    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
                    format(string, sizeof(string), "[ ! ] You have sold your Car for %i rcash!",Cars[car][cPrice]);
                    SendClientMessage(playerid, COLOR_GREEN, string);
                PlayerInfo[playerid][pCarKey] = 255;
                    OnPlayerDataSave(playerid);
                    SaveCars();
                    return 1;
                }
                else
                {
                  SendClientMessage(playerid,c_r,"[ ! ] You must be inside your car to sell it!");
                }
            }
            else
            {
            SendClientMessage(playerid,c_r,"[ ! ] You don't even own a car!");
            }
        }
        return 1;
    }
That is my /buy and /sell command but if somebody tries to buy a car it says you must be inside a car! wtf? Can somebody check this over?
Reply
#2

Nobody has an answer??
Reply
#3

You thought correct.

Try this:

pawn Код:
if(strcmp(cmd, "/buy", true) == 0)
{
  if(IsPlayerConnected(playerid))
  {
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
for(new c = 0; c < sizeof(Cars); c++)
{
if(IsPlayerInAnyVehicle(playerid))
{
  if(Cars[c][cPrice] == 0)
  {
    SendClientMessage(playerid, c_r, "[ ! ] A price isn't set for this car, it is not meant to be bought!");
return 1;
  }
if(PlayerInfo[playerid][pCarKey] != 255 && strcmp(playername, Cars[PlayerInfo[playerid][pCarKey]][cOwner], true) == 0)
{
SendClientMessage(playerid, c_r, "[ ! ] You can only own one car, sell your original car first before buying this one!");
return 1;
}
if(GetPlayerRcash(playerid) >= Cars[c][cPrice])
{
   PlayerInfo[playerid][pCarKey] = c;
Cars[c][cOwned] = 1;
strmid(Cars[c][cOwner], playername, 0, strlen(playername), 255);
GivePlayerRcash(playerid,-Cars[c][cPrice]);
SendClientMessage(playerid, COLOR_GREEN, "[ ! ] You have successfully purchased this car!");
SaveCars();
OnPlayerDataSave(playerid);
return 1;
}
else
{
SendClientMessage(playerid, c_r, "[ ! ] You don't have enough rcash!");
return 1;
}
}
}
}
return 1;
}
 if(strcmp(cmd, "/sell", true) == 0)
{
  if(IsPlayerConnected(playerid))
{
new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
if(PlayerInfo[playerid][pCarKey] != 255 && strcmp(playername, Cars[PlayerInfo[playerid][pCarKey]][cOwner], true) == 0)
{
  new car = PlayerInfo[playerid][pCarKey];
if(IsPlayerInVehicle(playerid,Cars[car][cModel]))
{
Cars[car][cOwned] = 0;
strmid(Cars[car][cOwner], "None", 0, strlen("None"), 255);
GivePlayerRcash(playerid,Cars[car][cPrice]);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "[ ! ] You have sold your Car for %i rcash!",Cars[car][cPrice]);
SendClientMessage(playerid, COLOR_GREEN, string);
   PlayerInfo[playerid][pCarKey] = 255;
OnPlayerDataSave(playerid);
SaveCars();
return 1;
}
else
{
  SendClientMessage(playerid,c_r,"[ ! ] You must be inside your car to sell it!");
}
}
else
{
  SendClientMessage(playerid,c_r,"[ ! ] You don't even own a car!");
}
}
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)