24.08.2012, 12:05
Hello , I'm having some problems with an carownership system ! I have cars and when I get in and i type /v buy it say I'm already having a car ! I type /v help and it say's i'm not having a car !
What's wrong ? I have putted the cars in cars.cfg and it's all fine
!
pawn Код:
if(newstate==2)
{
for(new i = 0; i < sizeof(CarInfo); i++)
{
if(newcar == CarInfo[i][ownedvehicle])
{
if(CarInfo[i][cOwned]== 0)
{
TogglePlayerControllable(playerid, 0);
CarOffered[playerid]=1;
SendClientMessage(playerid,COLOR_GREEN,"___________________________________________________________");
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) buy {ffffff}pentru a cumpara vehiculul.");
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) exit {ffffff}pentru a iesi din vehicul.");
SendClientMessage(playerid,COLOR_GREEN,"___________________________________________________________");
format(string, sizeof(string), "{30a030}[GameFront]: {ffffff}Pret: {30a030}%s{ffffff} • Model ID: {00bfff}%d {ffffff}• Vanzator: {00bfff}%s{ffffff}.", saveGM(CarInfo[newcar][cValue]), CarInfo[newcar][cModel], CarInfo[newcar][cOwner]);
SendClientMessage(playerid, COLOR_YELLOW, string);
SendClientMessage(playerid,COLOR_GREEN,"___________________________________________________________");
Delete3DTextLabel(TextUpCar[i]);
}
if(CarInfo[i][cOwned]== 1)
{
format(string, sizeof(string), "{30a030}[GameFront]: {ffffff}Acest vehicul ii apartine lui: {00bfff}%s{ffffff}.", CarInfo[newcar][cOwner]);
SendClientMessage(playerid, COLOR_YELLOW, string);
Delete3DTextLabel(TextUpCar[i]);
}
pawn Код:
//=============================================================================================================================================================
// = Comanda: /v(ehicle)
//=============================================================================================================================================================
if(strcmp(cmd,"/v",true)== 0 || strcmp(cmd,"/vehicle",true)== 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_WHITE,"{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) help {ffffff}pentru a vizualiza lista de comenzi.");
SendClientMessage(playerid,COLOR_WHITE,"{30a030}[GameFront]: {ffffff}Trebuie sa detii un Vehicul personal pentru a vizualiza aceasta comanda.");
return 1;
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) exit
//=============================================================================================================================================================
if(strcmp(tmp,"exit",true)==0)
{
CarOffered[playerid]=0;
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) disable
//=============================================================================================================================================================
if(strcmp(tmp,"disable",true)==0)
{
DisablePlayerCheckpoint(playerid);
return 1;
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) help
//=============================================================================================================================================================
if(strcmp(tmp, "help", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pCarKey] == 0)
{
SendClientMessage(playerid, COLOR_GREEN,"_________________________________________________________________");
SendClientMessage(playerid, COLOR_WHITE," » Comenzi dispinibile, care te pot ajuta.");
SendClientMessage(playerid, COLOR_GRAD2,"{ff0000}» {00bfff}Vehicle:{ffffff} sell | buy | park | lock | find | exit | disable | color");
SendClientMessage(playerid, COLOR_GRAD2,"{ff0000}» {00bfff}Tunning:{ffffff} /r(emove)tunning");
SendClientMessage(playerid, COLOR_GREEN,"_________________________________________________________________");
}
else
{
SendClientMessage(playerid,COLOR_GRAD2,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
return 1;
}
}
return 1;
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) color
//=============================================================================================================================================================
else if(strcmp(tmp,"color",true) == 0)
{
if(PlayerInfo[playerid][pCarKey] == 0)
{
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
return 1;
}
if(GetPlayerMoney(playerid) < 250000)
{
SendClientMessage(playerid, COLOR_GREY,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar ai nevoie de $250.000, pentru a utiliza aceasta comanda");
return 1;
}
if (GetPlayerMoney(playerid) <= 0)
{
GameTextForPlayer(playerid, "~r~Nu ai destui bani", 5000, 1);
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "» Scrie: /v(ehicle) color [color1] [color2]");
return 1;
}
new color1;
color1 = strval(tmp);
if(color1 < 0 && color1 > 126)
{
SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar aceasta culoare este invalida (0-126).");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "» Scrie: /v(ehicle) color [color1] [color2]");
return 1;
}
new color2;
color2 = strval(tmp);
if(color2 < 0 && color2 > 126)
{
SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar aceasta culoare este invalida (0-126).");
return 1;
}
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { vehid = PlayerInfo[playerid][pCarKey]; }
else { return 1; }
if(IsPlayerInVehicle(playerid, vehid))
{
CarInfo[vehid][cColorOne] = color1;
CarInfo[vehid][cColorTwo] = color2;
GivePlayerMoney(playerid, -250000);
GameTextForPlayer(playerid, "~r~-$250000", 5000, 1);
ChangeVehicleColor(vehid, color1, color2);
SaveCars();
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar trebuie sa te afli in vehicul pentru a utiliza aceasta comanda.");
return 1;
}
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) park
//=============================================================================================================================================================
else if(strcmp(tmp, "park", true) == 0)
{
new Float:x,Float:y,Float:z;
new Float:a;
new carid;
new getcarid;
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pCarKey]) { carid = PlayerInfo[playerid][pCarKey]; }
else { return 1; }
getcarid = GetPlayerVehicleID(playerid);
GetPlayerName(playerid, playername, sizeof(playername));
GetVehiclePos(carid, x, y, z);
GetVehicleZAngle(carid, a);
if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
{
if(PlayerInfo[playerid][pCarKey] == 255)
{
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
return 1;
}
else
{
if(getcarid == carid)
{
CarInfo[carid][cLocationx] = x;
CarInfo[carid][cLocationy] = y;
CarInfo[carid][cLocationz] = z;
CarInfo[carid][cAngle] = a;
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Acest Vehicul a fost Parcat cu succes.");
DestroyVehicle(carid);
CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
LoadComponents(carid);
TogglePlayerControllable(playerid, 1);
format(TextCar,sizeof(TextCar),"{dedede}%s{FFFFFF}'s vehicle",CarInfo[carid][cOwner]);
TextUpCar[carid] = Create3DTextLabel(TextCar, 0xFFFFFFAA ,0,0,0,9.0,0);
Attach3DTextLabelToVehicle(TextUpCar[carid],carid,0.0,0.0,0.0);
SaveCars();
return 1;
}
}
}
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) find
//=============================================================================================================================================================
else if(strcmp(tmp,"find",true) == 0)
{
if(!IsPlayerConnected(playerid)) { return 1; }
new Float:x,Float:y,Float:z;
new car = PlayerInfo[playerid][pCarKey];
if(PlayerInfo[playerid][pCarKey]==255) { SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal."); return 1; }
SendClientMessage(playerid,COLOR_WHITE,"{30a030}[GameFront]: {ffffff}Vehiculul tau a fost marcat cu un checkpoint {ff0000}rosu{ffffff} pe harta.");
GetVehiclePos(car, x, y, z);
SetPlayerCheckpoint(playerid, x, y, z, 6);
return 1;
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) lock
//=============================================================================================================================================================
else if(strcmp(tmp,"lock",true) == 0)
{
new keycar = PlayerInfo[playerid][pCarKey];
if(keycar != 0)
{
new locked[256];
locked = strtok(cmdtext, idx);
if(CarInfo[keycar][cLock] == 1)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(keycar,i,0,0);
}
}
format(string, sizeof(string), "~w~Vehicle~n~~g~UnLOCK");
GameTextForPlayer(playerid, string, 4000, 3);
CarInfo[keycar][cLock] = 0;
SaveCars();
return 1;
}
else if(CarInfo[keycar][cLock] == 0)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
SetVehicleParamsForPlayer(keycar,i,0,1);
}
}
format(string, sizeof(string), "~w~Vehicle~n~~r~Lock");
GameTextForPlayer(playerid, string, 4000, 3);
CarInfo[keycar][cLock] = 1;
SaveCars();
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
return 1;
}
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) buy
//=============================================================================================================================================================
if(strcmp(tmp, "buy", true) == 0)
{
if(IsPlayerConnected(playerid))
{
for(new i = 0; i < sizeof(CarInfo); i++)
{
if(CarInfo[i][ownedvehicle] == vehid)
{
if(PlayerInfo[playerid][pCarKey]!=0)
{
SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar detii deja un Vehicul personal, Scrie {00bfff}/v(ehicle) sell {ffffff}pentru al vinde.");
return 1;
}
if(CarInfo[i][cOwned]==1)
{
SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar acest Vehicul personal este deja cumparat.");
return 1;
}
if(GetPlayerMoney(playerid) >= CarInfo[i][cValue])
{
PlayerInfo[playerid][pCarKey] = i;
CarInfo[i][cOwned] = 1;
CarOffered[playerid]=0;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(CarInfo[i][cOwner], sendername, 0, strlen(sendername), 999);
GivePlayerMoney(playerid,-CarInfo[i][cValue]);
SendClientMessage(playerid, COLOR_GRAD2, "{30a030}[GameFront]: {ffffff}Felicitari, acest Vehicul personal iti apartine.");
SendClientMessage(playerid, COLOR_GRAD2, "{30a030}[GameFront]: {ffffff}Scrie {00bfff}/v(ehicle) help {ffffff}pentru a vizualiza lista de comenzi.");
TogglePlayerControllable(playerid, 1);
Delete3DTextLabel(TextUpCar[playerid]);
SaveCars();
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu ai suficienti bani.");
return 1;
}
}
}
}
return 1;
}
//=============================================================================================================================================================
// = Comanda: /v(ehicle) sell
//=============================================================================================================================================================
if(strcmp(tmp, "sell", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pCar] == 0)
{
SendClientMessage(playerid, COLOR_GRAD1, "{30a030}[GameFront]: {ffffff}Ne pare rau, dar trebuie sa fie un Admin de fata cand vindeti un Vehicul Personal.");
return 1;
}
GetPlayerName(playerid, playername, sizeof(playername));
if(PlayerInfo[playerid][pCarKey] == 0)
{
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Ne pare rau, dar nu deti un Vehicul personal.");
return 1;
}
if(PlayerInfo[playerid][pCarKey] != 0 && strcmp(playername, CarInfo[PlayerInfo[playerid][pCarKey]][cOwner], true) == 0)
{
new car = PlayerInfo[playerid][pCarKey];
CarInfo[car][cOwned] = 0;
CarInfo[car][cLock] = 0;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(CarInfo[car][cOwner], "Dealership", 0, strlen("Dealership"), 999);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
GivePlayerMoney(playerid,100);
SendClientMessage(playerid,COLOR_YELLOW,"{30a030}[GameFront]: {ffffff}Vehicul pus in vanzare, va multumim.");
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
PlayerInfo[playerid][pCarKey] = 0;
CarInfo[car][cValue] = 100;
Delete3DTextLabel(TextUpCar[playerid]);
SaveCars();
PlayerInfo[playerid][pCar] = 0;
return 1;
}
}
return 1;
}
}
![huh](images/smilies/confused.gif)