AcksLimit + crash
#1

how can I make so when player puts plate so no body can put it again?/

PHP код:
 else if(strcmp(x_nr,"setplate",true) == 0)
                            {
                                    new 
name[MAX_PLAYER_NAME+1];
                                     new 
Player[128];
                                    
GetPlayerName(playeridnamesizeof(name));
                                    
format(Player,sizeof(Player),"/Inmatriculari/%s.txt",cmdtext[idx]);
                                     new 
FilehFile fopen(Playerio_read);
                                    if (
hFile)//that works.
                                    
{
                                        
SendClientMessage(playeridCOLOR_RED"Acest Numar Exista!");
                                        
fclose(hFile);
                                    }
                                    new 
Player[50];
                                    
format(Player,sizeof(Player),"/Inmatriculari/%s.txt",cmdtext[idx]);
                                       new 
FilehFile fopen(Playerio_write);
                                    if (
hFile)//that works.
                                    
{
                                        if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid PlayerInfo[playerid][pPcarkey]; }
                                        else if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid PlayerInfo[playerid][pPcarkey2]; }
                                        else if(
GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid PlayerInfo[playerid][pPcarkey3]; }
                                        else { 
SendClientMessage(playeridCOLOR_GREY"   Trebuie sa fi in masina ta!"); return 1; }
                                        {
                                        if(
cmdtext[idx++] != 32 || cmdtext[idx] == EOS)
                                        {
                                            
SendClientMessage(playerid,0xFFFFFFAA,"{00A1FF}USAGE{FFFFFF}: /v setplate [newplate]");
                                            return 
1;
                                        }
                                        
SetPVarInt(playerid"VehicleRepair"1);
                                        new 
Float:XX,Float:YY,Float:ZZ,Float:AA;
                                        new 
Float:CarHPFloat:OldCarHP;
                                        new 
panels,doors,lights,tires;
                                        
GetVehicleHealth(vehidCarHP);
                                        
GetVehicleDamageStatus(vehid,panels,doors,lights,tires);
                                        
OldCarHP CarHP;
                                        
format(CarInfo[vehid][cLicense], 32 ,"%s",cmdtext[idx]);
                                        
SetVehicleNumberPlate(vehid,CarInfo[vehid][cLicense]);
                                        
GetVehiclePos(vehid,XX,YY,ZZ);
                                        
GetVehicleZAngle(vehidAA);
                                        
GivePlayerCash(playerid, -8000);
                                        
SetVehicleToRespawn(vehid);
                                        
SetVehiclePos(vehid,XX,YY,ZZ);
                                        
SetVehicleZAngle(vehidAA);
                                        
PutPlayerInVehicle(playerid,vehid,0);
                                        
SetVehicleHealth(vehidOldCarHP);
                                        
UpdateVehicleDamageStatus(vehid,panels,doors,lights,tires);
                                        
format(stringsizeof(string), "Ti-ai inmatriculat vehicolul numarul este : %s - (te-a costat 8000Lei)"CarInfo[vehid][cLicense]);
                                        
SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                                        
SendClientMessage(playeridCOLOR_RED"Daca esti din Sibiu puneti nr de inmatriculare SB XX XXX. SB (2 cifre)(3 litere) - NUI VOIE LS/SF/LV.");
                                        
SendClientMessage(playeridCOLOR_YELLOW"Poti si asa SB-XX-XXX sau fara - - - daca tio prinde tcc si este inmatriculata gresit tio tracteaza");
                                        
SendClientMessage(playeridCOLOR_BLUE"Nu-ti pune de ex: SB 22 PLM - este interzis si poti primi Ban Permanent!");
                                        
OnPropUpdate(); SavePlayerData(playerid);
                                        new 
ymd;
                                        new 
h,mi,s;
                                        
getdate(y,m,d);
                                        
gettime(h,mi,s);
                                        
GetPlayerName(playeridsendernamesizeof(sendername));
                                        
format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s si-a inmatriculat vehicolul [%s VehID: %d] cu numarul: %s",d,m,y,h,mi,s,sendername,model,vehid,CarInfo[vehid][cLicense]);
                                        
InmatriculariLog(string);
                                        
printf("/v setplate");
                                        
fclose(hFile);
                                        return 
1;
                                    }
                                }
                            } 
Reply
#2

anyone??
Reply
#3

Well, there are many ways to manage this situation: you could save all license plates in a file or in a MySQL database and then checking if it already exists reading the file/querying the db.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)