Problem: Evo vec treca tema u vezi COS sistema, i nikako da resim bagove, a na ovom forumu jedino Blakes i C++ pomazu oko scriptanja... Problem je u tome, da kada kupim vozilo, i hocu da ga parkiram/prodam pise da nisam u svom vozilu, ovo se desava kad je vise igraca na serveru i kada razliciti igraci kupuju. Kad sam sam, i kupim vozilo, onda radi... Evo starih tema, da vidite kakve su bile komande, a sta sam izmenio, i opet nece... Pomozite mi da resim ovo molim vas, da zavrsim sa najtezim delom -.-
http://balkan-samp.com/forum/index.php?topic=86079.msg580008#msg580008
http://balkan-samp.com/forum/index.php?topic=86201.msg580873#msg580873
Code:
YCMD:kupivozilo(playerid, params[], help)
{
#pragma unused help
new vID = GetPlayerVehicleID(playerid);
new vMDL = GetVehicleModel(vID);
new vehicle = 1;
if(!IsASalesVehicle(vID)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Ovo vozilo nije na prodaju.");
if(PlayerInfo != 999 && PlayerInfo != 999 && PlayerInfo != 999) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Ne mozete kupiti vise vozila.");
if(GetPlayerMoney(playerid) < GetVehiclePrice(vID)) return SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Nemate dovoljno novca da bi kupili ovo vozilo.");
/*for(new i = 0 ; i < sizeof(VehicleInfo); i++)
{
if(!fexist(CarPath(i)))
vehicle = i;
break;
}*/
for(new v = 1; v < sizeof(VehicleInfo); v++)
{
if(VehicleInfo == 0)
{
vehicle = v;
break;
}
}
if(PlayerInfo == 999)
{
PlayerInfo = vMDL;
PlayerInfo = vehicle;
}
else if(PlayerInfo == 999)
{
PlayerInfo = vMDL;
PlayerInfo = vehicle;
}
else if(PlayerInfo == 999)
{
PlayerInfo = vMDL;
PlayerInfo = vehicle;
}
else { return 1;}
new model;
GetVehicleName(vMDL, model, sizeof(model));
VehicleInfo = 1;
VehicleInfo = RemoveUnderScore(playerid);
VehicleInfo = vMDL;
VehicleInfo = 1590.3740;
VehicleInfo = -1026.0565;
VehicleInfo = 30.9063;
VehicleInfo = 317.1649;
VehicleInfo = 1;
VehicleInfo = 1;
VehicleInfo = 1;
VehicleInfo = 0;
VehicleInfo = vehicle;
OwnedVehicle = CreateVehicle(vMDL, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, -1);
SCM(playerid, -1, ""CRVENA"GoMilano"BELA": Kupili ste vozilo. Idite na parking kod banke i preuzmite ga.");
GivePlayerMoney(playerid, -GetVehiclePrice(vID));
SavePlayer(playerid);
SaveVehicle(vehicle);
return 1;
}
YCMD:prodajvozilo(playerid, params[], help)
{
#pragma unused help
new slot, vID;
vID = GetPlayerVehicleID(playerid);
if(sscanf(params, "i", slot)) return SCM(playerid, -1, ""CRVENA"KORISCENJE"BELA": /prodajvozilo ");
switch(slot)
{
case 1:
{
if(PlayerInfo == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo na prvom slotu.");
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(VehicleInfo != PlayerInfo) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
PlayerInfo = 999;
PlayerInfo = 999;
VehicleInfo = 0;
VehicleInfo = 0;
VehicleInfo = 1590.3740;
VehicleInfo = -1026.0565;
VehicleInfo = 23.9063;
VehicleInfo = 317.1649;
VehicleInfo = 0;
VehicleInfo = 0;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
}
case 2:
{
if(PlayerInfo == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo na prvom slotu.");
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(VehicleInfo != PlayerInfo) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
PlayerInfo = 999;
PlayerInfo = 999;
VehicleInfo = 0;
VehicleInfo = 0;
VehicleInfo = 1590.3740;
VehicleInfo = -1026.0565;
VehicleInfo = 23.9063;
VehicleInfo = 317.1649;
VehicleInfo = 0;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
}
case 3:
{
if(PlayerInfo == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo na prvom slotu.");
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(VehicleInfo != PlayerInfo) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
PlayerInfo = 999;
PlayerInfo = 999;
VehicleInfo = 0;
VehicleInfo = 0;
VehicleInfo = 1590.3740;
VehicleInfo = -1026.0565;
VehicleInfo = 23.9063;
VehicleInfo = 317.1649;
VehicleInfo = 0;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
TogglePlayerControllable(playerid, 1);
SavePlayer(playerid);
}
}
SavePlayer(playerid);
return 1;
}
YCMD:parkirajvozilo(playerid, params[], help)
{
#pragma unused help
new vID, vMDL, Float:X, Float:Y, Float:Z;
vID = GetPlayerVehicleID(playerid);
vMDL = GetVehicleModel(vID);
if(PlayerInfo == 999 && PlayerInfo == 999 && PlayerInfo == 999) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Nemate vozilo.");
if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vozilu.");
if(VehicleInfo == PlayerInfo)
{
GetVehiclePos(vID, X, Y, Z);
VehicleInfo = X;
VehicleInfo = Y;
VehicleInfo = Z;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
OwnedVehicle = CreateVehicle(vMDL, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, -1);
TogglePlayerControllable(playerid, 1);
SCM(playerid, -1, ""NARANDZASTA"Parkirali ste vase vozilo.");
}
else if(VehicleInfo == PlayerInfo)
{
GetVehiclePos(vID, X, Y, Z);
VehicleInfo = X;
VehicleInfo = Y;
VehicleInfo = Z;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
OwnedVehicle = CreateVehicle(vMDL, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, -1);
TogglePlayerControllable(playerid, 1);
SCM(playerid, -1, ""NARANDZASTA"Parkirali ste vase vozilo.");
}
else if(VehicleInfo == PlayerInfo)
{
GetVehiclePos(vID, X, Y, Z);
VehicleInfo = X;
VehicleInfo = Y;
VehicleInfo = Z;
RemovePlayerFromVehicle(playerid);
DestroyVehicle(vID);
OwnedVehicle = CreateVehicle(vMDL, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, -1);
TogglePlayerControllable(playerid, 1);
SCM(playerid, -1, ""NARANDZASTA"Parkirali ste vase vozilo.");
}
else return SCM(playerid, -1, ""CRVENA"GRESKA"BELA": Niste u vasem vozilu.");
return 1;
}