Wife_With_Knife
Дебютант
Ребят помогите.
Недавно открыл сервер и на нем обнаружился баг. При покупке допустим Игроком 1 автомобиля все происходит нормально. Когда покупает авто Игрок 2, то это авто числится за Игроком 1.
В чем может быть проблема никак не понимаю. В программировании недавно. Прошу помочь.
Вот сам код:
Недавно открыл сервер и на нем обнаружился баг. При покупке допустим Игроком 1 автомобиля все происходит нормально. Когда покупает авто Игрок 2, то это авто числится за Игроком 1.
В чем может быть проблема никак не понимаю. В программировании недавно. Прошу помочь.
Вот сам код:
PHP:
if(strcmp(cmd, "/buycar", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new buycar;
GetPlayerName(playerid, playername, sizeof(playername));
buycar = GetPlayerVehicleID(playerid);
if(AvtoPokupka[playerid] == 1) // Ëîäêè
{
new vmodel;
vmodel = GetVehicleModel(buycar);
if(PlayerInfo[playerid][pCar] < 1)
{
SendClientMessageEx(playerid, COLOR_WHITE, "Ó âàñ íåòó ñâîáîäíîãî ñëîòà äëÿ àâòî!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(PlayerInfo[playerid][pLevel] < 5)
{
SendClientMessageEx(playerid, COLOR_WHITE, "Âàì íóæíî ïðîæèòü â øòàòå íå ìåíåå 5 ëåò.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(IsPlayerInVehicle(playerid, buycar))
{
new price2;
if(vmodel==484)
{
price2 = 350000;
}
if(vmodel==454)
{
price2 = 550000;
}
if(vmodel==453)
{
price2 = 200000;
}
if(vmodel==493)
{
price2 = 500000;
}
if(vmodel==446)
{
price2 = 350000;
}
if(vmodel==452)
{
price2 = 400000;
}
if(vmodel==473)
{
price2 = 150000;
}
if(GetPlayerMoney(playerid)>=price2)
{
if(PlayerToPoint(40.0,playerid,-2960.6570, 498.2911, 1.8050))
{
CreateVehicle(vmodel, -2975.8296, 515.2593, 0.0000,0.0000, -1, -1, 60000);
}
OWNABLECARS ++;
CarInfo[OWNABLECARS-1][cId] = vmodel;
CarInfo[OWNABLECARS-1][cColor1] = -1;
CarInfo[OWNABLECARS-1][cColor2] = -1;
CarInfo[OWNABLECARS-1][cCost] = price2;
ServerGivePlayerMoney(playerid,-price2);
Treasury += price2;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
CarInfo[OWNABLECARS-1][cLock] = 1;
CarInfo[OWNABLECARS-1][cSTCar_x] = -2947.4521;
CarInfo[OWNABLECARS-1][cSTCar_y] = 185.6544 -random(100);
CarInfo[OWNABLECARS-1][cSTCar_z] = 0.0000;
CarInfo[OWNABLECARS-1][cSTCar_a] = 90.0000;
CarInfo[OWNABLECARS-1][cPARKCar_x] = -2947.4521;
CarInfo[OWNABLECARS-1][cPARKCar_y] = 185.6544 -random(100);
CarInfo[OWNABLECARS-1][cPARKCar_z] = 0.0000;
CarInfo[OWNABLECARS-1][cPARKCar_a] = 90.0000;
CarInfo[OWNABLECARS-1][cPaintJob] = -1;
if(PlayerToPoint(40.0,playerid,-2960.6570, 498.2911, 1.8050))
{
SetPlayerCheckpoint(playerid, -2975.8296, 515.2593, 0.0000,5);
}
strmid(CarInfo[OWNABLECARS-1][cOwner], name, 0, strlen(name), 999);
SaveStuff();
SaveCars();
SendClientMessageEx(playerid, COLOR_WHITE, "Ïîçäðàâëÿþ! Òåïåðü ýòîò òðàíñïîðò ïðèíàäëåæèò âàì!");
SendClientMessageEx(playerid, COLOR_LIGHTGREEN, "Èäèòå ê ñâîåé ïîêóïêå, îíà îòìå÷åíà êðàñíûé ìàðêåðîì íà êàðòå. Îòêðûòü êîìàíäîé /lock");
SendClientMessageEx(playerid, COLOR_LIGHTRED, "Âíèìàíèå!!! Íå çàáóäüòå ïðèïàðêîâàòü ñâîé òðàíñïîðò â äðóãîì ìåñòå. Êîìàíäà /park");
PlayerInfo[playerid][pCar]--;
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
SaveCars();
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, "Ó âàñ íå õâàòàåò íàëè÷íûõ.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
}
return 1;
}
if(AvtoPokupka[playerid] == 2) // Ñêóòåðû
{
if(PlayerInfo[playerid][pKupon] > 0)
{
if(PlayerToPoint(40.0,playerid,564.3521, -1269.9951, 17.5683))
{
if(PlayerInfo[playerid][pCar] < 1)
{
SendClientMessageEx(playerid, COLOR_WHITE, "Ó âàñ íåòó ñâîáîäíîãî ñëîòà äëÿ àâòî!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
CreateVehicle(462, 564.3521, -1269.9951, 17.5683,45.0000, -1, -1, 60000);
}
OWNABLECARS ++;
CarInfo[OWNABLECARS-1][cId] = 462;
CarInfo[OWNABLECARS-1][cColor1] = -1;
CarInfo[OWNABLECARS-1][cColor2] = -1;
CarInfo[OWNABLECARS-1][cCost] = 0;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
CarInfo[OWNABLECARS-1][cLock] = 1;
CarInfo[OWNABLECARS-1][cSTCar_x] = 1412.74;
CarInfo[OWNABLECARS-1][cSTCar_y] = 787.74 -random(100);
CarInfo[OWNABLECARS-1][cSTCar_z] = 10.82;
CarInfo[OWNABLECARS-1][cSTCar_a] = 90.6288;
CarInfo[OWNABLECARS-1][cPARKCar_x] = 1412.74;
CarInfo[OWNABLECARS-1][cPARKCar_y] = 787.74 -random(100);
CarInfo[OWNABLECARS-1][cPARKCar_z] = 10.82;
CarInfo[OWNABLECARS-1][cPARKCar_a] = 90.6288;
CarInfo[OWNABLECARS-1][cPaintJob] = -1;
if(PlayerToPoint(40.0,playerid,564.3521, -1269.9951, 16.5883))
{
SetPlayerCheckpoint(playerid, 564.3521, -1269.9951, 16.5883,5);
}
strmid(CarInfo[OWNABLECARS-1][cOwner], name, 0, strlen(name), 999);
SaveStuff();
SaveCars();
SendClientMessageEx(playerid, COLOR_WHITE, " Óáðàíî èç èíâåíòàðÿ Êóïîí íà ñêóòåð 1 øò. (/inv)");
SendClientMessageEx(playerid, COLOR_WHITE, "Ïîçäðàâëÿþ! Òåïåðü ýòîò òðàíñïîðò ïðèíàäëåæèò âàì!");
SendClientMessageEx(playerid, COLOR_LIGHTGREEN, "Èäèòå ê ñâîåé ïîêóïêå, îíà îòìå÷åíà êðàñíûé ìàðêåðîì íà êàðòå. Îòêðûòü êîìàíäîé /lock");
SendClientMessageEx(playerid, COLOR_LIGHTRED, "Âíèìàíèå!!! Íå çàáóäüòå ïðèïàðêîâàòü ñâîé òðàíñïîðò â äðóãîì ìåñòå. Êîìàíäà /park");
PlayerInfo[playerid][pKupon] -= 1;
PlayerInfo[playerid][pCar]--;
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
SaveCars();
return 1;
}
if(IsPlayerInVehicle(playerid, buycar))
{
if(GetPlayerMoney(playerid)>=3000)
{
if(PlayerToPoint(40.0,playerid,564.3521, -1269.9951, 17.5683))
{
CreateVehicle(462, 564.3521, -1269.9951, 17.5683,45.0000, -1, -1, 60000);
}
OWNABLECARS ++;
CarInfo[OWNABLECARS-1][cId] = 462;
CarInfo[OWNABLECARS-1][cColor1] = -1;
CarInfo[OWNABLECARS-1][cColor2] = -1;
CarInfo[OWNABLECARS-1][cCost] = 3000;
ServerGivePlayerMoney(playerid,-3000);
Treasury += 3000;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
CarInfo[OWNABLECARS-1][cLock] = 1;
CarInfo[OWNABLECARS-1][cSTCar_x] = 1412.74;
CarInfo[OWNABLECARS-1][cSTCar_y] = 787.74 -random(100);
CarInfo[OWNABLECARS-1][cSTCar_z] = 10.82;
CarInfo[OWNABLECARS-1][cSTCar_a] = 90.6288;
CarInfo[OWNABLECARS-1][cPARKCar_x] = 1412.74;
CarInfo[OWNABLECARS-1][cPARKCar_y] = 787.74 -random(100);
CarInfo[OWNABLECARS-1][cPARKCar_z] = 10.82;
CarInfo[OWNABLECARS-1][cPARKCar_a] = 90.6288;
CarInfo[OWNABLECARS-1][cPaintJob] = -1;
if(PlayerToPoint(40.0,playerid,564.3521, -1269.9951, 16.5883))
{
SetPlayerCheckpoint(playerid, 564.3521, -1269.9951, 16.5883,5);
}
strmid(CarInfo[OWNABLECARS-1][cOwner], name, 0, strlen(name), 999);
SaveStuff();
SaveCars();
SendClientMessageEx(playerid, COLOR_WHITE, "Ïîçäðàâëÿþ! Òåïåðü ýòîò òðàíñïîðò ïðèíàäëåæèò âàì!");
SendClientMessageEx(playerid, COLOR_LIGHTGREEN, "Èäèòå ê ñâîåé ïîêóïêå, îíà îòìå÷åíà êðàñíûé ìàðêåðîì íà êàðòå. Îòêðûòü êîìàíäîé /lock");
SendClientMessageEx(playerid, COLOR_LIGHTRED, "Âíèìàíèå!!! Íå çàáóäüòå ïðèïàðêîâàòü ñâîé òðàíñïîðò â äðóãîì ìåñòå. Êîìàíäà /park");
PlayerInfo[playerid][pCar]--;
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
SaveCars();
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, "Ó âàñ íå õâàòàåò íàëè÷íûõ.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
}
return 1;
}
if(AvtoPokupka[playerid] == 3) // Àâòîìîáèëè
{
new vmodel;
vmodel = GetVehicleModel(buycar);
if(PlayerInfo[playerid][pCar] < 1)
{
SendClientMessageEx(playerid, COLOR_WHITE, "Ó âàñ íåòó ñâîáîäíîãî ñëîòà äëÿ àâòî!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(PlayerInfo[playerid][pLevel] < 3)
{
SendClientMessageEx(playerid, COLOR_WHITE, "Âàì íóæíî ïðîæèòü â øòàòå íå ìåíåå 3 ëåò!");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(IsPlayerInVehicle(playerid, buycar))
{
new price1;
if(vmodel==576)
{
price1 = 65000;
}
if(vmodel==412)
{
price1 = 35000;
}
if(vmodel==475)
{
price1 = 35000;
}
if(vmodel==439)
{
price1 = 65000;
}
if(vmodel==549)
{
price1 = 30000;
}
if(vmodel==533)
{
price1 = 75000;
}
if(vmodel==526)
{
price1 = 55000;
}
if(vmodel==491)
{
price1 = 55000;
}
if(vmodel==558)
{
price1 = 76000;
}
if(vmodel==422)
{
price1 = 50000;
}
if(vmodel==589)
{
price1 = 45000;
}
if(vmodel==496)
{
price1 = 45000;
}
if(vmodel==458)
{
price1 = 48000;
}
if(vmodel==400)
{
price1 = 52000;
}
if(vmodel==426)
{
price1 = 65000;
}
if(vmodel==405)
{
price1 = 45000;
}
if(vmodel==603)
{
price1 = 200000;
}
if(vmodel==602)
{
price1 = 150000;
}
if(vmodel==587)
{
price1 = 160000;
}
if(vmodel==560)
{
price1 = 150000;
}
if(vmodel==559)
{
price1 = 120000;
}
if(vmodel==541)
{
price1 = 360000;
}
if(vmodel==506)
{
price1 = 300000;
}
if(vmodel==480)
{
price1 = 200000;
}
if(vmodel==477)
{
price1 = 360000;
}
if(vmodel==451)
{
price1 = 350000;
}
if(vmodel==429)
{
price1 = 330000;
}
if(vmodel==415)
{
price1 = 250000;
}
if(vmodel==411)
{
price1 = 350000;
}
if(vmodel==402)
{
price1 = 120000;
}
if(vmodel==409)
{
price1 = 200000;
}
if(vmodel==604)
{
price1 = 10000;
}
if(vmodel==605)
{
price1 = 10000;
}
if(GetPlayerMoney(playerid)>=price1)
{
if(PlayerToPoint(40.0,playerid,-1945.7933,265.0798,41.0471))
{
CreateVehicle(vmodel, -1973.7860107422,287.71200561523,35.17200088501,178.6288, -1, -1, 60000);
}
else
{
CreateVehicle(vmodel, 2163.57,1433.29,10.82,90.3459, -1, -1, 60000);
}
OWNABLECARS ++;
CarInfo[OWNABLECARS-1][cLock] = 1;
CarInfo[OWNABLECARS-1][cId] = vmodel;
CarInfo[OWNABLECARS-1][cColor1] = -1;
CarInfo[OWNABLECARS-1][cColor2] = -1;
CarInfo[OWNABLECARS-1][cCost] = price1;
ServerGivePlayerMoney(playerid,-price1);
Treasury += price1;
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
CarInfo[OWNABLECARS-1][cSTCar_x] = 1412.74;
CarInfo[OWNABLECARS-1][cSTCar_y] = 787.74 -random(100);
CarInfo[OWNABLECARS-1][cSTCar_z] = 10.82;
CarInfo[OWNABLECARS-1][cSTCar_a] = 90.6288;
CarInfo[OWNABLECARS-1][cPARKCar_x] = 1412.74;
CarInfo[OWNABLECARS-1][cPARKCar_y] = 787.74 -random(100);
CarInfo[OWNABLECARS-1][cPARKCar_z] = 10.82;
CarInfo[OWNABLECARS-1][cPARKCar_a] = 90.6288;
CarInfo[OWNABLECARS-1][cPaintJob] = -1;
if(PlayerToPoint(40.0,playerid,-1945.7933,265.0798,41.0471))
{
SetPlayerCheckpoint(playerid, -1973.7860107422,287.71200561523,35.17200088501,5);
}
else
{
SetPlayerCheckpoint(playerid, 2163.57,1433.29,10.82,5);
}
strmid(CarInfo[OWNABLECARS-1][cOwner], name, 0, strlen(name), 999);
SaveStuff();
SaveCars();
SendClientMessageEx(playerid, COLOR_WHITE, "Ïîçäðàâëÿþ! Òåïåðü ýòîò òðàíñïîðò ïðèíàäëåæèò Âàì!");
SendClientMessageEx(playerid, COLOR_LIGHTGREEN, "Èäèòå ê ñâîåé ïîêóïêå, îíà îòìå÷åíà êðàñíûé ìàðêåðîì íà êàðòå. Îòêðûòü êîìàíäîé /lock");
SendClientMessageEx(playerid, COLOR_LIGHTRED, "Âíèìàíèå!!! Íå çàáóäüòå ïðèïàðêîâàòü ñâîé òðàíñïîðò â äðóãîì ìåñòå. Êîìàíäà /park");
PlayerInfo[playerid][pCar]--;
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
SaveCars();
}
else
{
SendClientMessageEx(playerid, COLOR_WHITE, "Ó âàñ íå õâàòàåò íàëè÷íûõ.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
}
return 1;
}
if(!IsAOwnableVehicle(buycar))
{
SendClientMessageEx(playerid,COLOR_GREY," Ýòó ìàøèíó íåëüçÿ êóïèòü!");
return 1;
}
if(IsPlayerInVehicle(playerid, buycar) && !strcmp(CarInfo[buycar-SIMPLECARS-1][cOwner],"The State",true))
{
if(GetPlayerMoney(playerid) > CarInfo[buycar-SIMPLECARS-1][cCost])
{
strmid(CarInfo[buycar-SIMPLECARS-1][cOwner], playername, 0, strlen(playername), 999);
SendClientMessageEx(playerid, COLOR_WHITE, " Ïîçäðàâëÿþ! Òåïåðü ýòîò òðàíñïîðò ïðèíàäëåæèÒ òåáå!");
ServerGivePlayerMoney(playerid,-CarInfo[buycar-SIMPLECARS-1][cCost]);
if(IsAPlane(buycar) || IsABoat(buycar))
{
TogglePlayerControllable(playerid,1);
}
}
else
{
SendClientMessageEx(playerid, COLOR_GREY, "Ó âàñ íåò äåíåã íà ýòî òðàíñïîðòíîå ñð-âî.");
return 1;
}
}
}
return 1;
}
