Problema intalnita (descriere):Deci am un sistem de personale dealership cu textdraw . merge perfect dar cand cumpar o masina se incurca id-urile si incepe de la id 1 , nu de la carsonserver .Ero(area / rile) / warning-(ul / urile): nu primesc eroriLiniile de cod / sursa / script-ul(obligatoriu): enum E_CACHE
{
E_KEY[INI_MAX_KEY],
E_VALUE[INI_MAX_VALUE]
}
enum E_FILE
{
E_FILENAME[INI_MAX_FILENAME],
bool: E_OPEN
}
static gCache[INI_MAX_LINES][E_CACHE];
static gEmptyCache[E_CACHE];
static gFile[E_FILE];
static gNoFile[E_FILE];
stock GetCreatorID(vehicleid)
{
return IDIS[vehicleid];
}
#define INI_Exist fexist
stock INI_Open(const filename[])
{
if (!filename[0]) return false;
if (gFile[E_OPEN])
{
if (!strcmp(gFile[E_FILENAME], filename, true)) return true;
//return false;
INI_Close();
}
new File: h;
h = fopen(filename, io_readwrite);
if (h)
{
INI_strcpy(gFile[E_FILENAME], filename, INI_MAX_FILENAME, INI_MAX_FILENAME);
new line[INI_MAX_LINE];
new ln = -1;
new separator;
while (((ln + 1) < INI_MAX_LINES) && (fread(h, line)))
{
ln ++;
INI_StripLine(line);
separator = strfind(line, "=", false);
if ((line[0] == ';') || (line[0] == '=') || (separator == -1) || (separator > INI_MAX_KEY))
{
if (line[0] == ';')
{
INI_strcpy(gCache[ln][E_VALUE], line, INI_MAX_VALUE, INI_MAX_VALUE);
}
else
{
INI_strcpy(gCache[ln][E_VALUE][1], line, INI_MAX_VALUE - 1, INI_MAX_VALUE - 1);
gCache[ln][E_VALUE][0] = ';';
}
continue;
}
INI_strcpy(gCache[ln][E_KEY], line, separator, INI_MAX_KEY);
INI_strcpy(gCache[ln][E_VALUE], line[separator + 1], INI_MAX_VALUE, INI_MAX_VALUE);
if (!gCache[ln][E_VALUE][0]) gCache[ln][E_VALUE][0] = ' ';
}
fclose(h);
gFile[E_OPEN] = true;
return 1;
}
return 0;
}
stock INI_Save()
{
if (!gFile[E_OPEN]) return false;
new File: h;
h = fopen(gFile[E_FILENAME], io_write);
if (h)
{
new line[INI_MAX_LINE];
new ln = -1;
while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
{
ln ++;
if (gCache[ln][E_VALUE][0] == ';')
{
if (gCache[ln][E_VALUE][1])
{
format(line, sizeof(line), "%s\r\n", gCache[ln][E_VALUE]);
fwrite(h, line);
continue;
}
fwrite(h, "\r\n");
continue;
}
format(line, sizeof(line), "%s=%s\r\n", gCache[ln][E_KEY], gCache[ln][E_VALUE]);
fwrite(h, line);
}
fclose(h);
return true;
}
return false;
}
stock INI_Close()
{
if (!gFile[E_OPEN]) return false;
for (new ln; ln < INI_MAX_LINES; ln++) gCache[ln] = gEmptyCache;
gFile = gNoFile;
return true;
}
stock INI_ReadString(dest[], const key[], maxlength = sizeof(dest))
{
if ((!gFile[E_OPEN]) || (!key[0])) return false;
new ln = -1;
while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
{
ln ++;
if (gCache[ln][E_VALUE][0] == ';') continue;
if (!strcmp(gCache[ln][E_KEY], key, false))
{
INI_strcpy(dest, gCache[ln][E_VALUE], INI_MAX_VALUE, maxlength);
return true;
}
}
return false;
}
stock INI_ReadInt(const key[])
{
new dest[12];
if (INI_ReadString(dest, key)) return strval(dest);
return false;
}
stock Float: INI_ReadFloat(const key[])
{
new dest[12];
if (INI_ReadString(dest, key)) return floatstr(dest);
return 0.0;
}
stock INI_WriteString(const key[], const value[])
{
if ((!gFile[E_OPEN]) || (!key[0]) || (key[0] == ';') || (strfind(key, "=", false) != -1)) return false;
new ln = -1;
while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
{
ln ++;
if (gCache[ln][E_VALUE][0] == ';') continue;
if (!strcmp(gCache[ln][E_KEY], key, false))
{
INI_strcpy(gCache[ln][E_VALUE], value, INI_MAX_VALUE, INI_MAX_VALUE);
return true;
}
}
ln ++;
if (ln < INI_MAX_LINES)
{
INI_strcpy(gCache[ln][E_KEY], key, INI_MAX_KEY, INI_MAX_KEY);
INI_strcpy(gCache[ln][E_VALUE], value, INI_MAX_VALUE, INI_MAX_VALUE);
return true;
}
return false;
}
stock INI_WriteInt(const key[], value)
{
new dest[12];
format(dest, sizeof(dest), "%i", value);
return INI_WriteString(key, dest);
}
stock INI_WriteFloat(const key[], Float: value)
{
new dest[12];
format(dest, sizeof(dest), "%0.4f", value);
return INI_WriteString(key, dest);
}
stock INI_RemoveEntry(const key[])
{
if ((!gFile[E_OPEN]) || (!key[0]) || (strfind(key, "=", false) != -1)) return false;
new ln = -1;
while (((ln + 1) < INI_MAX_LINES) && (gCache[ln + 1][E_VALUE][0]))
{
ln ++;
if (gCache[ln][E_VALUE][0] == ';') continue;
if (!strcmp(gCache[ln][E_KEY], key, false))
{
for (; ln < (INI_MAX_LINES - 1); ln ++)
{
INI_strcpy(gCache[ln][E_KEY], gCache[ln + 1][E_KEY], INI_MAX_KEY, INI_MAX_KEY);
INI_strcpy(gCache[ln][E_VALUE], gCache[ln + 1][E_VALUE], INI_MAX_VALUE, INI_MAX_VALUE);
}
return true;
}
}
return false;
}
stock INI_Remove(const filename[])
{
if (!filename[0]) return false;
if ((gFile[E_OPEN]) && (!strcmp(gFile[E_FILENAME], filename, true))) gFile = gNoFile;
return fremove(filename);
}
stock INI_strcpy(dest[], const source[], numcells = sizeof(source), maxlength = sizeof(dest))
{
new i;
while ((source[i]) && (i < numcells) && (i < maxlength))
{
dest[i] = source[i];
i ++;
}
dest[(i == maxlength) ? (i - 1) : (i)] = '\0';
}
stock INI_StripLine(string[])
{
new l;
l = strlen(string);
if (string[l - 2] == '\r') string[l - 2] = '\0';
if (string[l - 1] == '\n') string[l - 1] = '\0';
}
stock SaveVehModels()
{
new iStr[20];
format(iStr, sizeof(iStr), "Masini/Sloturi.ini");
if(INI_Open(iStr))
{
INI_WriteInt("410", vehSlots[410]);
INI_WriteInt("436", vehSlots[436]);
INI_WriteInt("496", vehSlots[496]);
INI_WriteInt("439", vehSlots[439]);
INI_WriteInt("517", vehSlots[517]);
INI_WriteInt("526", vehSlots[526]);
INI_WriteInt("589", vehSlots[589]);
INI_WriteInt("602", vehSlots[602]);
INI_WriteInt("566", vehSlots[566]);
INI_WriteInt("405", vehSlots[405]);
INI_WriteInt("426", vehSlots[426]);
INI_WriteInt("579", vehSlots[579]);
INI_WriteInt("475", vehSlots[475]);
INI_WriteInt("401", vehSlots[401]);
INI_WriteInt("546", vehSlots[546]);
INI_WriteInt("529", vehSlots[529]);
INI_WriteInt("550", vehSlots[550]);
INI_WriteInt("540", vehSlots[540]);
INI_WriteInt("467", vehSlots[467]);
INI_WriteInt("466", vehSlots[466]);
INI_WriteInt("492", vehSlots[492]);
INI_WriteInt("419", vehSlots[419]);
INI_WriteInt("495", vehSlots[495]);
INI_WriteInt("541", vehSlots[541]);
INI_WriteInt("411", vehSlots[411]);
INI_WriteInt("451", vehSlots[451]);
INI_WriteInt("415", vehSlots[415]);
INI_WriteInt("560", vehSlots[560]);
INI_WriteInt("559", vehSlots[559]);
INI_WriteInt("562", vehSlots[562]);
INI_WriteInt("480", vehSlots[480]);
INI_WriteInt("565", vehSlots[565]);
INI_WriteInt("506", vehSlots[506]);
INI_WriteInt("477", vehSlots[477]);
INI_WriteInt("603", vehSlots[603]);
INI_WriteInt("558", vehSlots[558]);
INI_WriteInt("461", vehSlots[461]);
INI_WriteInt("462", vehSlots[462]);
INI_WriteInt("468", vehSlots[468]);
INI_WriteInt("481", vehSlots[481]);
INI_WriteInt("510", vehSlots[510]);
INI_WriteInt("521", vehSlots[521]);
INI_WriteInt("581", vehSlots[581]);
INI_WriteInt("586", vehSlots[586]);
INI_WriteInt("461", vehSlots[461]);
INI_WriteInt("522", vehSlots[522]);
INI_WriteInt("494", vehSlots[494]);
INI_WriteInt("429", vehSlots[429]);
INI_WriteInt("444", vehSlots[444]);
INI_WriteInt("469", vehSlots[469]);
INI_WriteInt("487", vehSlots[487]);
INI_Save();
INI_Close();
}
return 1;
}
stock LoadVehModels()
{
new iStr[20];
format(iStr, sizeof(iStr), "Masini/Sloturi.ini");
if(INI_Exist(iStr))
{
INI_Open(iStr);
vehSlots[410] = INI_ReadInt("410");
vehSlots[436] = INI_ReadInt("436");
vehSlots[496] = INI_ReadInt("496");
vehSlots[439] = INI_ReadInt("439");
vehSlots[517] = INI_ReadInt("517");
vehSlots[526] = INI_ReadInt("526");
vehSlots[589] = INI_ReadInt("589");
vehSlots[602] = INI_ReadInt("602");
vehSlots[566] = INI_ReadInt("566");
vehSlots[405] = INI_ReadInt("405");
vehSlots[426] = INI_ReadInt("426");
vehSlots[579] = INI_ReadInt("579");
vehSlots[475] = INI_ReadInt("475");
vehSlots[401] = INI_ReadInt("401");
vehSlots[546] = INI_ReadInt("546");
vehSlots[529] = INI_ReadInt("529");
vehSlots[550] = INI_ReadInt("550");
vehSlots[540] = INI_ReadInt("540");
vehSlots[467] = INI_ReadInt("467");
vehSlots[466] = INI_ReadInt("466");
vehSlots[492] = INI_ReadInt("492");
vehSlots[419] = INI_ReadInt("419");
vehSlots[495] = INI_ReadInt("495");
vehSlots[541] = INI_ReadInt("541");
vehSlots[411] = INI_ReadInt("411");
vehSlots[451] = INI_ReadInt("451");
vehSlots[415] = INI_ReadInt("415");
vehSlots[560] = INI_ReadInt("560");
vehSlots[559] = INI_ReadInt("559");
vehSlots[562] = INI_ReadInt("562");
vehSlots[480] = INI_ReadInt("480");
vehSlots[565] = INI_ReadInt("565");
vehSlots[506] = INI_ReadInt("506");
vehSlots[477] = INI_ReadInt("477");
vehSlots[603] = INI_ReadInt("603");
vehSlots[558] = INI_ReadInt("558");
vehSlots[461] = INI_ReadInt("461");
vehSlots[462] = INI_ReadInt("462");
vehSlots[468] = INI_ReadInt("468");
vehSlots[481] = INI_ReadInt("481");
vehSlots[510] = INI_ReadInt("510");
vehSlots[521] = INI_ReadInt("521");
vehSlots[581] = INI_ReadInt("581");
vehSlots[586] = INI_ReadInt("586");
vehSlots[461] = INI_ReadInt("461");
vehSlots[522] = INI_ReadInt("522");
vehSlots[494] = INI_ReadInt("494");
vehSlots[429] = INI_ReadInt("429");
vehSlots[444] = INI_ReadInt("444");
vehSlots[469] = INI_ReadInt("469");
vehSlots[487] = INI_ReadInt("487");
INI_Close();
}
return 1;
}
stock ini_GetKey( line[] )
{
new keyRes[256];
keyRes[0] = 0;
if ( strfind( line , "=" , true ) == -1 ) return keyRes;
strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
return keyRes;
}
stock ini_GetValue( line[] )
{
new valRes[256];
valRes[0]=0;
if ( strfind( line , "=" , true ) == -1 ) return valRes;
strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
return valRes;
}Imagini / Video (optional):Ati incercat sa rezolvati singur?: am incercat sa bag cand se incarca masinile sa porneasca de la carsonserver dar nu imi mai salveaza si incarca deloc masinile