Započeo 032.Marcus
•8. Mar. 2014.• Zaključano[POMOC] COS problem
294
pregleda
7
postova
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
368
Postovi:
111
Teme:
Pridružio se:Jun 2011
8. Mar. 2014.
Scripta: Moja od nule
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:
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;
}Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
368
Postovi:
111
Teme:
Pridružio se:Jun 2011
Enforcer
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
278
Postovi:
76
Teme:
Pridružio se:Nov. 2012
9. Mar. 2014.
Problem je u tome sto ti kupis auto sa id-om 30 i postavis varijabla vehicle1 na 30 i sada kad ti prodas uniatis auto ono taj id postavi na drugi auto isto se desava i sa park vehicle kad ga parkiras unistis ga i dodelis novi id i update mu varijablu sa novim id probaj tako ako si me razumeo.
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
368
Postovi:
111
Teme:
Pridružio se:Jun 2011
9. Mar. 2014.
Cek, nisam te razumeo, kako mislis? Moze primer ?
http://pastebin.com/4ge7LmYs
http://pastebin.com/hmc0rDwU
Vidis kako je na Ravensu komanda za kupovinu i za prodaju...
A ja sam COS radio po ovom tutu, samo izmenio
http://balkan-samp.com/forum/index.php?topic=82972.0
http://pastebin.com/4ge7LmYs
http://pastebin.com/hmc0rDwU
Vidis kako je na Ravensu komanda za kupovinu i za prodaju...
A ja sam COS radio po ovom tutu, samo izmenio
http://balkan-samp.com/forum/index.php?topic=82972.0
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
368
Postovi:
111
Teme:
Pridružio se:Jun 2011
9. Mar. 2014.
Izvinjavam se za dupli post, uspeo sam da resim ovo, ja mislim...
Koristio sam
Sad me zanima kako bih mogao da napravim proveru da li je igrac blizu svog vozila? Kako da dobijem ID vozila ciji je vlasnik igrac ?? Ako me razumete sta hocu da kazem.
I jos ovo, kada kupim vozilo, i udjem u njega, za Vlasnik: stoji prazno, a kada restartujem server, posle toga pise vlasnik:
OnPlayerEnterVehicle:
A u kupi vozilo mi stoji ovo:
Koristio sam
if(strcmp(sendername, VehicleInfo, true) == 0)Sad me zanima kako bih mogao da napravim proveru da li je igrac blizu svog vozila? Kako da dobijem ID vozila ciji je vlasnik igrac ?? Ako me razumete sta hocu da kazem.
I jos ovo, kada kupim vozilo, i udjem u njega, za Vlasnik: stoji prazno, a kada restartujem server, posle toga pise vlasnik:
OnPlayerEnterVehicle:
if(IsAOwnedVehicle(vehicleid))
{
format(str, sizeof(str), ""SVETLOPLAVA"Ulazite u %s ( %d ). Vlasnik: %s", vehiclename, vehicleid, VehicleInfo);
SCM(playerid, -1, str);
}forward IsAOwnedVehicle(vehicleid);
public IsAOwnedVehicle(vehicleid)
{
for(new i = 0; i < sizeof(OwnedVehicle); i++)
{
if(vehicleid == OwnedVehicle) return 1;
}
return 0;
}A u kupi vozilo mi stoji ovo:
OwnedVehicle = CreateVehicle(vMDL, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, VehicleInfo, -1);OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
23 / 250 XP
Početnik(2)
3,748
Postovi:
73
Teme:
Pridružio se:Jan. 2012
9. Mar. 2014.
stock GetPosBehindVehicle(vehicleid, &Float:x, &Float:y, &Float:z, Float:offset=0.5)
{
new Float:vehicleSize, Float:vehiclePos;
GetVehiclePos(vehicleid, vehiclePos, vehiclePos, vehiclePos);
GetVehicleModelInfo(GetVehicleModel(vehicleid), VEHICLE_MODEL_INFO_SIZE, vehicleSize, vehicleSize, vehicleSize);
GetXYBehindVehicle(vehicleid, vehiclePos, vehiclePos, (vehicleSize/2)+offset);
x = vehiclePos;
y = vehiclePos;
z = vehiclePos;
return 1;
}onda koristis upit sa ovom proverom
ovo da vidis koji je id pod onplayerentervehicle loopas kroz sva vozila i samo saljes poruku
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
368
Postovi:
111
Teme:
Pridružio se:Jun 2011
9. Mar. 2014.
Aha, probacu. Nego imam problem, ne znam da li si video PM, da mi ove komande rade tek kad restartujem server, park, prodaj itd... Dok ne restartujem, ipse da nisam u svom vozilu..
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava