PDA

Просмотр полной версии : [Вопрос] аренда..



Unknown
15.07.2014, 20:03
Проблема в том что если я арендую транспорт, то любой другой севшый в тот транспорт который я арендовал может тоже его арендовать. Как сделать так что бы если игрок арендовал транспорт, что бы остальным кто в него сядет писало "Этот транспорт арендован другим игроком". Пока игрок не откажется от аренды или же не покинет сервер.


if(strcmp(cmd, "/rentcar", true) == 0)
{
if(!RentcarLSVeh(GetPlayerVehicleID(playerid))) return 1;
if(SBizzInfo[0][sbProducts] == 0) return GameTextForPlayer(playerid, "~r~мEЏ ‹ мA‡…Ќ……", 5000, 1), RemovePlayerFromVehicle(playerid);
if(PlayerInfo[playerid][pPbiskey] == 0+100) return TogglePlayerControllable(playerid, 1);
if (PlayerInfo[playerid][pMoney] < 1000) return error(playerid, "У вас недостаточно средств для аренды транспорта."), RemovePlayerFromVehicle(playerid);
PlayerInfo[playerid][pMoney] -= 1000;
SBizzInfo[0][sbTill] += 1000;
SBizzInfo[0][sbProducts]--;
RENTCAR[playerid] = GetPlayerVehicleID(playerid);
format(string, sizeof(string), "",2000);
SendClientMessage(playerid, COLOR_WHITE, "Вы взяли в аренду транспорт. Чтобы открыть или закрыть дверь {008000}/lock{FFFFFF}.");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
TogglePlayerControllable(playerid, 1);
return true;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(strcmp(cmd, "/rentcarlss", true) == 0)
{
if(!RentcarLSSVeh(GetPlayerVehicleID(playerid))) return 1;
if(SBizzInfo[12][sbProducts] == 0) return GameTextForPlayer(playerid, "~r~мEЏ ‹ мA‡…Ќ……", 5000, 1), RemovePlayerFromVehicle(playerid);
if(PlayerInfo[playerid][pPbiskey] == 0+100) return TogglePlayerControllable(playerid, 1);
if (PlayerInfo[playerid][pMoney] < 1000) return error(playerid, "У вас недостаточно средств для аренды транспорта."), RemovePlayerFromVehicle(playerid);
PlayerInfo[playerid][pMoney] -= 1000;
SBizzInfo[12][sbTill] += 1000;
SBizzInfo[12][sbProducts]--;
RENTCAR[playerid] = GetPlayerVehicleID(playerid);
format(string, sizeof(string), "",2000);
SendClientMessage(playerid, COLOR_WHITE, "Вы взяли в аренду транспорт. Чтобы открыть или закрыть дверь {008000}/lock{FFFFFF}.");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
TogglePlayerControllable(playerid, 1);
return true;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(strcmp(cmd, "/rentcarsf", true) == 0)
{
if(!RentcarSFVeh(GetPlayerVehicleID(playerid))) return 1;
if(SBizzInfo[1][sbProducts] == 0) return GameTextForPlayer(playerid, "~r~мEЏ ‹ мA‡…Ќ……", 5000, 1), RemovePlayerFromVehicle(playerid);
if(PlayerInfo[playerid][pPbiskey] == 0+100) return TogglePlayerControllable(playerid, 1);
if (PlayerInfo[playerid][pMoney] < 1000) return error(playerid, "У вас недостаточно средств для аренды транспорта."), RemovePlayerFromVehicle(playerid);
PlayerInfo[playerid][pMoney] -= 1000;
SBizzInfo[1][sbTill] += 1000;
SBizzInfo[1][sbProducts]--;
RENTCAR[playerid] = GetPlayerVehicleID(playerid);
format(string, sizeof(string), "",2000);
SendClientMessage(playerid, COLOR_WHITE, "Вы взяли в аренду транспорт. Чтобы открыть или закрыть дверь {008000}/lock{FFFFFF}.");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
TogglePlayerControllable(playerid, 1);
return true;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(strcmp(cmd, "/rentmoto", true) == 0)
{
if(!RentmotoVeh(GetPlayerVehicleID(playerid))) return 1;
if(SBizzInfo[10][sbProducts] == 0) return GameTextForPlayer(playerid, "~r~мEЏ ‹ мA‡…Ќ……", 5000, 1), RemovePlayerFromVehicle(playerid);
if(PlayerInfo[playerid][pPbiskey] == 0+100) return TogglePlayerControllable(playerid, 1);
if (PlayerInfo[playerid][pMoney] < 1000) return error(playerid, "У вас недостаточно средств для аренды транспорта."), RemovePlayerFromVehicle(playerid);
PlayerInfo[playerid][pMoney] -= 1000;
SBizzInfo[10][sbTill] += 1000;
SBizzInfo[10][sbProducts]--;
RENTCAR[playerid] = GetPlayerVehicleID(playerid);
format(string, sizeof(string), "",2000);
SendClientMessage(playerid, COLOR_WHITE, "Вы взяли в аренду транспорт. Чтобы открыть или закрыть дверь {008000}/lock{FFFFFF}.");
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
TogglePlayerControllable(playerid, 1);
GameTextForPlayer(playerid, string, 5000, 3);
return true;
}

p.s пишите если что-то нужно скинуть.

MR_BEN
15.07.2014, 20:13
Создай переменную для авто и при аренде ставь её значение на playerid. Если игрок садиться в этот транспорт, сделай проверку, если эта переменная != playerid(ид того, кто арендовал транспорт), то выкидываем его. При выходе игрока, обнуляем переменную.

- - - Добавлено - - -

Ну в твоём случае, в команде ставь проверку.