I'm bored, so I'm going to write it completely for you...
pawn Код:
//Defines
#define DBNAME "LicensePlates"
#define LICENSE_FORMAT_US 1
//#define LICENSE_FORMAT_UK 2
//Variables
new DB:DB; //Database Connection ID
new DBResult:DBResult; //Database Result (for temporary use)
new gTempString[1024]; //Global Temporary String
new acceptedLetters[26]= //Letters to be used during generation
{
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','X','Y','Z'
};
new acceptedNumbers[10]= //Numbers to be used during generation
{
'1','2','3','4','5','6','7','8','9','0'
};
//Functions
stock EstablishDatabase()
{
//Determine if database exists or not
new bool:temp;
if(fexist(DBNAME))temp=true;
//Open database (if it doesn't exist, it will be created)
DB=db_open(DBNAME);
//If database doesn't exist, create tables
if(temp)
{
gTempString="";
gTempString="CREATE TABLE IF NOT EXISTS `LicensePlates` (";
strcat(gTempString,"`ID` INTEGER PRIMARY KEY,");
strcat(gTempString,"`Text` TEXT ");
db_free_result(db_query(DB,gTempString));
}
}
stock bool:CheckDatabaseForLicense(const plate[])
{
format(gTempString,1024,"SELECT Text FROM LicensePlates WHERE Text='%s'",plate);
DBResult=db_query(DB,gTempString);
if(db_num_rows(DBResult)>0)return true;
return false;
}
stock CreateRandomLicense(format=LICENSE_FORMAT_US,length=6) //plate[] must be at least 1 cell larger than length
{
if((length>8)||(length<1))return "INVALID";
new bool:doesntWork=true;
while(doesntWork)
{
gTempString="";
for(new cell; cell<length; cell++)
{
switch(format)
{
case LICENSE_FORMAT_US:
{
if(random(2)==1)gTempString[cell]=acceptedLetters[random(sizeof(acceptedLetters))];
else gTempString[cell]=acceptedNumbers[random(sizeof(acceptedLetters))];
}
//case LICENSE_FORMAT_UK
}
}
if(!strlen(gTempString))return "INVALID";
if(!CheckDatabaseForLicense(gTempString))doesntWork=false;
}
return gTempString;
}
stock AddLicenseToDatabase(const plate[])
{
if(CheckDatabaseForLicense(plate))return 0;
format(gTempString,1024,"INSERT INTO LicensePlates (Text) VALUES('%s')",plate);
db_free_result(db_query(DB,gTempString));
}
I haven't tested it, or even compiled it. But with this you have the functions to create a database, add to it and check it with simple functions