Adding Checker (If ForSale) -
jakejohnsonusa - 16.12.2012
I have this code, the problem is that if a person does /v forsale twice it creates two 3DTextLabels (and three creates three, ect), but when they do /v notforsale it only removes one of the 3DTextLabel's (the first one that was made). Meaning if a person did /v forsale twice Only one of the 3DTextlabels is able to dissapear (even if they fo /v forsale twice). So I need to add a checker, that checks if their vehicle is forsale already, but how do I do this?
Like:
If (IsForSale1, vehicleid) == 1;
Here is the code:
pawn Код:
else if(strcmp(x_nr,"forsale",true) == 0)
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2])
{
new Float:x,Float:y,Float:z; GetVehiclePos(idcar, x,y,z);
new model[24]; GetVehicleName(idcar,model,sizeof(model));
new PropertyString[256];
format(PropertyString,sizeof(PropertyString),"Vehicle For Sale! \n Model: %s (%d) \n Call %s for purchasing it. \n Phone Number: %d",model,GetVehicleModel(idcar),sendername,PlayerInfo[giveplayerid][pPnumber]);
VehicleLabel[idcar] = Create3DTextLabel(PropertyString, 0xFF0000CC, x, y, z, 10, 0, 1);
Attach3DTextLabelToVehicle(VehicleLabel[idcar],idcar,0,0,0);
return 1;
}
SendClientMessage(playerid, COLOR_GREY, "You have to be in your own car to sell it!");
return 1;
}
else if (strcmp(x_nr,"notforsale",true) == 0)
{
Delete3DTextLabel( VehicleLabel[idcar] );
return 1;
}
If anyone has any other suggestions to fix this that would be great!
Thanks: jakejohnsonusa
Re: Adding Checker (If ForSale) -
Mike_Peterson - 16.12.2012
I havent compiled to test it but uhhm, this?
pawn Код:
new ForSale[MAX_VEHICLES];
else if(strcmp(x_nr,"forsale",true) == 0)
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2])
{
if(ForSale[idcar] == true) return SendClientMessage(playerid, COLOR_GREY, "This car is already for sale!");
new Float:x,Float:y,Float:z; GetVehiclePos(idcar, x,y,z);
new model[24]; GetVehicleName(idcar,model,sizeof(model));
new PropertyString[256];
format(PropertyString,sizeof(PropertyString),"Vehicle For Sale! \n Model: %s (%d) \n Call %s for purchasing it. \n Phone Number: %d",model,GetVehicleModel(idcar),sendername,PlayerInfo[giveplayerid][pPnumber]);
VehicleLabel[idcar] = Create3DTextLabel(PropertyString, 0xFF0000CC, x, y, z, 10, 0, 1);
Attach3DTextLabelToVehicle(VehicleLabel[idcar],idcar,0,0,0);
ForSale[idcar] = true;
return 1;
}
SendClientMessage(playerid, COLOR_GREY, "You have to be in your own car to sell it!");
return 1;
}
else if (strcmp(x_nr,"notforsale",true) == 0)
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2])
{
if(ForSale[idcar] == false) return SendClientMessage(playerid, COLOR_GREY, "This car is not for sale!");
Delete3DTextLabel( VehicleLabel[idcar] );
ForSale[idcar] = false;
}
SendClientMessage(playerid, COLOR_GREY, "You have to be in your own car to make it not for sale!");
return 1;
}
Re: Adding Checker (If ForSale) -
[DOG]irinel1996 - 16.12.2012
Just change your code with this one:
pawn Код:
else if(strcmp(x_nr,"forsale",true) == 0)
{
if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2])
{
new Float:x,Float:y,Float:z; GetVehiclePos(idcar, x,y,z);
new model[24]; GetVehicleName(idcar,model,sizeof(model));
new PropertyString[256];
format(PropertyString,sizeof(PropertyString),"Vehicle For Sale! \n Model: %s (%d) \n Call %s for purchasing it. \n Phone Number: %d",model,GetVehicleModel(idcar),sendername,PlayerInfo[giveplayerid][pPnumber]);
Delete3DTextLabel( VehicleLabel[idcar] );
VehicleLabel[idcar] = Create3DTextLabel(PropertyString, 0xFF0000CC, x, y, z, 10, 0, 1);
Attach3DTextLabelToVehicle(VehicleLabel[idcar],idcar,0,0,0);
return 1;
}
SendClientMessage(playerid, COLOR_GREY, "You have to be in your own car to sell it!");
return 1;
}
else if (strcmp(x_nr,"notforsale",true) == 0)
{
Delete3DTextLabel( VehicleLabel[idcar] );
return 1;
}