Adding Checker (If ForSale)
#1

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
Reply
#2

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;
            }
Reply
#3

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;
            }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)