[HELP] Car Bug
#1

Lets say theres 2 cars:
CAR A and CAR B.

I lock car A then get out and go to car B and lock that too.

I climb out Car B, unlock it.

Car A is still locked, i try unlock it but say unknown server command and car is not enterable.

PS: When i'm not in a car and type /lock it brings up unknown server command.

Pastebin Link:
http://pastebin.com/m2dd4c2f8
Reply
#2

Quote:
Originally Posted by Matthew_Murdoch
if(strcmp(cmd, "/lock", true) == 0)
{
if(VehicleLockedPlayer[playerid] != 999) //is not unlocked
{
SendClientMessage(playerid, COLOR_GREY, "[Error:] You must unlock your previous vehicle");
return 1;
}
new carid = GetPlayerVehicleID(playerid);
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(VehicleLocked[carid] == 0)
{
if(PlayerInfo[playerid][pSex] == 1)
{
PlayerActionMessage(playerid,15.0,"locked his vehicle");
}
else
{
PlayerActionMessage(playerid,15.0,"locked her vehicle");
}
SendClientMessage(playerid,COLOR_WHITE,"[Info:] Vehicle Locked");
VehicleLocked[carid] = 1;
VehicleLockedPlayer[playerid] = carid;
}
else
{
if(PlayerInfo[playerid][pSex] == 1)
{
PlayerActionMessage(playerid,15.0,"unlocked his vehicle.");
}
else
{
PlayerActionMessage(playerid,15.0,"unlocked her vehicle.");
}
SendClientMessage(playerid,COLOR_WHITE,"[Info:]Vehicle Unlocked");
VehicleLocked[carid] = 0;
VehicleLockedPlayer[playerid] = 999; //unlocked
}
}
else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
new Float,Float:y,Float:z;
if(VehicleLockedPlayer[playerid] != 999) //is not unlocked
{
GetVehiclePos(VehicleLockedPlayer[playerid], x, y, z);
}
if(VehicleLocked[VehicleLockedPlayer[playerid]])
{
if(PlayerToPoint(5.0,playerid,x,y,z) || GetPlayerVehicleID(playerid) == VehicleLockedPlayer[playerid])
{
if(PlayerInfo[playerid][pSex] == 1)
{
PlayerActionMessage(playerid,15.0,"unlocked his vehicle.");
}
else
{
PlayerActionMessage(playerid,15.0,"unlocked her vehicle.");
}
SendClientMessage(playerid,COLOR_WHITE,"[Info:] Vehicle Unlocked");
VehicleLocked[VehicleLockedPlayer[playerid]] = 0;
VehicleLockedPlayer[playerid] = 999; //unlocked
}
else
{
SendClientMessage(playerid,COLOR_WHITE,"You're unable to (un)lock your feet");
}
}
}
return 1;
}
Download link of the above but in .pwn file.
Proper indentations etc.
Link: http://www.filehost.co.za/file/423-6939965bd0.html

This is my new code to sort it out, but doesnt work, help!
Reply
#3

pawn Код:
if(strcmp(cmd, "/lock", true) == 0)
{
  if(VehicleLockedPlayer[playerid] != 999) // Player has locked a vehicle.
  {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
      if(GetPlayerVehicleID(playerid) == VehicleLockedPlayer[playerid])
      {
        if(PlayerInfo[playerid][pSex] == 1) PlayerActionMessage(playerid,15.0,"unlocked his vehicle.");
        else PlayerActionMessage(playerid,15.0,"unlocked her vehicle.");
        SendClientMessage(playerid,COLOR_WHITE,"[Info:]Vehicle Unlocked");
        VehicleLocked[carid] = 0;
        VehicleLockedPlayer[playerid] = 999; //unlocked
        return 1;
      }
    }
    else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
      new Float:x,Float:y,Float:z;
      GetVehiclePos(VehicleLockedPlayer[playerid], x, y, z);
      if(PlayerToPoint(5.0,playerid, x, y, z))
      {
        if(PlayerInfo[playerid][pSex] == 1) PlayerActionMessage(playerid,15.0,"unlocked his vehicle.");
        else PlayerActionMessage(playerid,15.0,"unlocked her vehicle.");
        SendClientMessage(playerid,COLOR_WHITE,"[Info:]Vehicle Unlocked");
        VehicleLocked[carid] = 0;
        VehicleLockedPlayer[playerid] = 999; //unlocked
        return 1;
      }
    }
    SendClientMessage(playerid, COLOR_GREY, "[Error:] You must unlock your previous vehicle");
    return 1;
  }
  else // Player hasn't locked a vehicle.
  {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
      new carid = GetPlayerVehicleID(playerid);
      if(VehicleLocked[carid] == 0)
      {
        if(PlayerInfo[playerid][pSex] == 1) PlayerActionMessage(playerid,15.0,"locked his vehicle");
        else PlayerActionMessage(playerid,15.0,"locked her vehicle");
        SendClientMessage(playerid,COLOR_WHITE,"[Info:] Vehicle Locked");
        VehicleLocked[carid] = 1;
        VehicleLockedPlayer[playerid] = carid;
      }
      SendClientMessage(playerid, COLOR_GREY, "[Error:] The vehicle is locked already");
      return 1;
    }
    SendClientMessage(playerid, COLOR_GREY, "[Error:] You must drive a vehicle to lock one");
    return 1;
  }
  return 1;
}
Reply
#4

And that is?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)