Просмотр полной версии : [Прочее] Не могу найти ошибку
когда сажусь в авто пишет что "этот грузовик уже арендуют"..Хотя его ни кто не арендует...
new ArendaFuelTruck[MAX_VEHICLES];
for(new o; o < MAX_VEHICLES; o++) ArendaFuelTruck[o] = -1;
ArendaFuelTruck[GetPlayerVehicleID(playerid)] = playerid;
if(ArendaFuelTruck[GetPlayerVehicleID(playerid)] == -1)// Эта машина никем не используется
{
SendClientMessage(playerid,CGRAY,"брБРбр.");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(ArendaFuelTruck[GetPlayerVehicleID(playerid)] == playerid)// Эта машина арендуется игроком
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуеться.");
RemovePlayerFromVehicle(playerid);
return 1;
}
new ArendaFuelTruck[MAX_VEHICLES];
for(new o; o < MAX_VEHICLES; o++) ArendaFuelTruck[o] = -1;
if(ArendaFuelTruck[GetPlayerVehicleID(playerid)] == -1)// Эта машина никем не используется
{
SendClientMessage(playerid,CGRAY,"брБРбр.");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(ArendaFuelTruck[GetPlayerVehicleID(playerid)] == playerid)// Эта машина арендуется игроком
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуеться.");
RemovePlayerFromVehicle(playerid);
return 1;
}
ArendaFuelTruck[GetPlayerVehicleID(playerid)] = playerid;
new ArendaFuelTruck[MAX_VEHICLES];
for(new o; o < MAX_VEHICLES; o++) ArendaFuelTruck[o] = -1;
if(ArendaFuelTruck[GetPlayerVehicleID(playerid)] == -1)// Эта машина никем не используется
{
SendClientMessage(playerid,CGRAY,"брБРбр.");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(ArendaFuelTruck[GetPlayerVehicleID(playerid)] == playerid)// Эта машина арендуется игроком
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуеться.");
RemovePlayerFromVehicle(playerid);
return 1;
}
ArendaFuelTruck[GetPlayerVehicleID(playerid)] = playerid;
Теперь меня так же выпихивает,только пишет "брБРбр"..
new ArendaFuelTruck[MAX_VEHICLES] = {-1, -1, ...};
new truck_id = ArendaFuelTruck[GetPlayerVehicleID(playerid)];
if(truck_id == -1)
ArendaFuelTruck[vehicleid] = playerid;
else if(truck_id != playerid)
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуется.");
RemovePlayerFromVehicle(playerid);
return 1;
}
Cпасибо за помощь,но Что-то ничего не выходит как сделать так:
Если грузовик уже арендуют то надо что бы писало "Этот грузовик уже арендуют"
Если я арендую такой же грузовик то "Вы уже арендуете грузовик"
if(vehicleid >= jobfuel[0] && vehicleid <= jobfuel[1])
{
if(pData[playerid][pJob] != 6)
{
SendClientMessage(playerid,COLOR_RED,"Вы не работаете развосчиком топлива");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(pData[playerid][pFraction] >= 1)
{
SendClientMessage(playerid,CGRAY,"Вы cостоите в организации");
RemovePlayerFromVehicle(playerid);
return 1;
}
new ArendaFuelTruck[MAX_VEHICLES] = {-1, -1, ...};
new truck_id = ArendaFuelTruck[GetPlayerVehicleID(playerid)];
if(truck_id == -1)
ArendaFuelTruck[vehicleid] = playerid;
else if(truck_id != playerid)
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуется.");
RemovePlayerFromVehicle(playerid);
return 1;
}
ShowPlayerDialog(playerid,dTruckFuel,
DIALOG_STYLE_MSGBOX,
!"{"#cWHITE"}Аренда Транспорта",
!"{"#cWHITE"}Вы хотите арендовать этот грузовик за {"#cRED"}$1000",
!"Аренда", !"Отмена");
}
В начало мода
new ArendaFuelTruck[MAX_VEHICLES] = {-1, -1, ...};
Твой код
if(vehicleid >= jobfuel[0] && vehicleid <= jobfuel[1])
{
if(pData[playerid][pJob] != 6)
{
SendClientMessage(playerid,COLOR_RED,"Вы не работаете развозчиком топлива");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(pData[playerid][pFraction] >= 1)
{
SendClientMessage(playerid,CGRAY,"Вы cостоите в организации");
RemovePlayerFromVehicle(playerid);
return 1;
}
new truck_id = ArendaFuelTruck[vehicleid];
if(truck_id == -1)
ArendaFuelTruck[vehicleid] = playerid;
else if(truck_id != playerid)
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуется.");
RemovePlayerFromVehicle(playerid);
return 1;
}
ShowPlayerDialog(playerid,dTruckFuel,
DIALOG_STYLE_MSGBOX,
!"{"#cWHITE"}Аренда Транспорта",
!"{"#cWHITE"}Вы хотите арендовать этот грузовик за {"#cRED"}$1000",
!"Аренда", !"Отмена");
return 1;
}
В начало мода
new ArendaFuelTruck[MAX_VEHICLES] = {-1, -1, ...};
Твой код
if(vehicleid >= jobfuel[0] && vehicleid <= jobfuel[1])
{
if(pData[playerid][pJob] != 6)
{
SendClientMessage(playerid,COLOR_RED,"Вы не работаете развозчиком топлива");
RemovePlayerFromVehicle(playerid);
return 1;
}
if(pData[playerid][pFraction] >= 1)
{
SendClientMessage(playerid,CGRAY,"Вы cостоите в организации");
RemovePlayerFromVehicle(playerid);
return 1;
}
new truck_id = ArendaFuelTruck[vehicleid];
if(truck_id == -1)
ArendaFuelTruck[vehicleid] = playerid;
else if(truck_id != playerid)
{
SendClientMessage(playerid,CGRAY,"Этот грузовик уже арендуется.");
RemovePlayerFromVehicle(playerid);
return 1;
}
ShowPlayerDialog(playerid,dTruckFuel,
DIALOG_STYLE_MSGBOX,
!"{"#cWHITE"}Аренда Транспорта",
!"{"#cWHITE"}Вы хотите арендовать этот грузовик за {"#cRED"}$1000",
!"Аренда", !"Отмена");
return 1;
}
А из-за чего когда я арендую грузовик,а потом перезахожу в него мне предлагает его опять арендовать то?
А из-за чего когда я арендую грузовик,а потом перезахожу в него мне предлагает его опять арендовать то?
Наверно потому, что ты не сделал сохранение информации о аренде?
Наверно потому, что ты не сделал сохранение информации о аренде?
Да?
Ну ладно..Спасибо большое..
Щас попробую наколдовать..
Что-то у меня не вышло...
Не помежь ли ?пожалуйста..
Что-то у меня не вышло...
Не помежь ли ?пожалуйста..
Это уже не помощь, а просьба написать за тебя систему. Не научишься ты так ничему. Гугли и читай.
Почему все ровно предлагает второй раз арендовать?
if(vehicleid >= jobfuel[0] && vehicleid <= jobfuel[1])
{
if(pData[playerid][pJob] != 6)
{
SendClientMessage(playerid,COLOR_RED,"Вы не работаете развосчиком топлива");
return RemovePlayerFromVehicle(playerid);
}
if(pData[playerid][pFraction] >= 1)
{
SendClientMessage(playerid,CGRAY,"Вы cостоите в организации");
return RemovePlayerFromVehicle(playerid);
}
new carseat = GetPlayerVehicleID(playerid);
foreach(new i : Player) // если используешь инклуд foreach, то тогда заменяй на foreach(new i : Player)
{
if(carseat == GetPVarInt(i, "ArendaTruckFuel"))
{
SendClientMessage(playerid, CGRAY, "Эта машина уде арендована");
return RemovePlayerFromVehicle(playerid);
}
}
if(GetPVarInt(playerid, "Arendoval") == 1)
{
SendClientMessage(playerid, CGRAY, "Вы уже арендовали другой транспорт");
return RemovePlayerFromVehicle(playerid);
}
ShowPlayerDialog(playerid,dTruckFuel, DIALOG_STYLE_MSGBOX, !"{"#cWHITE"}Аренда Транспорта", !"{"#cWHITE"}Вы хотите арендовать этот грузовик за {"#cRED"}$1000", !"Аренда", !"Отмена");
}
А это в кейс
if(response)
{
new caridcheck = GetPlayerVehicleID(playerid);
SetPVarInt(playerid, "ArendaTruckFuel", caridcheck);
SetPVarInt(playerid, "Arendoval", 1);
}
Потому что нужно сохранять в аккаунт игрока информацию о том, арендует ли он авто или нет
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot