Jump to content
  • 0

Dealership


ProAeXel

Question

Problema intalnita (descriere): Eu in gamemode am masinile definite in felul urmator  :


new housecar = PlayerInfo[playerid][pPhousekey]+1;
        if(newcar >= 1 && newcar <= 172)
        {
            if(newcar==housecar) { }
            else
            {
                SendClientMessage(playerid,COLOR_SFR,"   You don`t have key of this vehicle !");
                RemovePlayerFromVehicle(playerid);
            }
        }

Iar scriptul dealershipului care il am ,foloseste carsonserver pentru a crea masinile cumparate.

Sistemul imi da cheile bune ,adica egale cu carsonserver ,doar ca atunci cand dau restart la server,masina este creata cu id-ul 1 si imi incurca masinile de la case.Cum as putea sa fac sa imi spawneze dupa restart masina egala cu numarul cheii pe care o detin?

 

Ero(area / rile) / warning-(ul / urile):
Liniile de cod / sursa / script-ul(obligatoriu): 

public OnCarUpdate()
{
    new idx;
    new File: file2;
    idx = carsonserver;
     while (idx < sizeof(CarInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d,%f,%f,%f,%f,%d,%d,%s,%s,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
        CarInfo[idx][cModel],
        CarInfo[idx][cLocationx],
        CarInfo[idx][cLocationy],
        CarInfo[idx][cLocationz],
        CarInfo[idx][cAngle],
        CarInfo[idx][cColorOne],
        CarInfo[idx][cColorTwo],
        CarInfo[idx][cOwner],
        CarInfo[idx][cDescription],
        CarInfo[idx][cValue],
        CarInfo[idx][cLicense],
        CarInfo[idx][cOwned],
        CarInfo[idx][cLock],
        CarInfo[idx][mod1],
        CarInfo[idx][mod2],
        CarInfo[idx][mod3],
        CarInfo[idx][mod4],
        CarInfo[idx][mod5],
        CarInfo[idx][mod6],
        CarInfo[idx][mod7],
        CarInfo[idx][mod8],
        CarInfo[idx][mod9],
        CarInfo[idx][mod10],
        CarInfo[idx][mod11],
        CarInfo[idx][mod12],
        CarInfo[idx][mod13],
        CarInfo[idx][mod14],
        CarInfo[idx][mod15],
        CarInfo[idx][mod16],
        CarInfo[idx][mod17],
        CarInfo[idx][paintjob]);
        if(idx == carsonserver)
        {
            file2 = fopen("personalcars.cfg", io_write);
        }
        else
        {
            file2 = fopen("personalcars.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}
//===========
public LoadCar()
{
    new arrCoords[31][64];
    new strFromFile2[256];
    new File: file = fopen("personalcars.cfg", io_read);
    if (file)
    {
        new idx = carsonserver;
        while (idx < sizeof(CarInfo))
        {
            fread(file, strFromFile2);
            split(strFromFile2, arrCoords, ',');
            CarInfo[idx][cModel] = strval(arrCoords[0]);
            CarInfo[idx][cLocationx] = floatstr(arrCoords[1]);
            CarInfo[idx][cLocationy] = floatstr(arrCoords[2]);
            CarInfo[idx][cLocationz] = floatstr(arrCoords[3]);
            CarInfo[idx][cAngle] = floatstr(arrCoords[4]);
            CarInfo[idx][cColorOne] = strval(arrCoords[5]);
            CarInfo[idx][cColorTwo] = strval(arrCoords[6]);
            strmid(CarInfo[idx][cOwner], arrCoords[7], 0, strlen(arrCoords[7]), 255);
            strmid(CarInfo[idx][cDescription], arrCoords[8], 0, strlen(arrCoords[8]), 255);
            CarInfo[idx][cValue] = strval(arrCoords[9]);
            strmid(CarInfo[idx][cLicense], arrCoords[10], 0, strlen(arrCoords[10]), 255);
            CarInfo[idx][cOwned] = strval(arrCoords[11]);
            CarInfo[idx][cLock] = strval(arrCoords[12]);
            CarInfo[idx][mod1] = strval(arrCoords[13]);
            CarInfo[idx][mod2] = strval(arrCoords[14]);
            CarInfo[idx][mod3] = strval(arrCoords[15]);
            CarInfo[idx][mod4] = strval(arrCoords[16]);
            CarInfo[idx][mod5] = strval(arrCoords[17]);
            CarInfo[idx][mod6] = strval(arrCoords[18]);
            CarInfo[idx][mod7] = strval(arrCoords[19]);
            CarInfo[idx][mod8] = strval(arrCoords[20]);
            CarInfo[idx][mod9] = strval(arrCoords[21]);
            CarInfo[idx][mod10] = strval(arrCoords[22]);
            CarInfo[idx][mod11] = strval(arrCoords[23]);
            CarInfo[idx][mod12] = strval(arrCoords[24]);
            CarInfo[idx][mod13] = strval(arrCoords[25]);
            CarInfo[idx][mod14] = strval(arrCoords[26]);
            CarInfo[idx][mod15] = strval(arrCoords[27]);
            CarInfo[idx][mod16] = strval(arrCoords[28]);
            CarInfo[idx][mod17] = strval(arrCoords[29]);
            CarInfo[idx][paintjob] = strval(arrCoords[30]);
            printf("CarInfo: %d Owner:%s LicensePlate %s",idx,CarInfo[idx][cOwner],CarInfo[idx][cLicense]);
            idx++;
        }
    }
    return 1;
}
//==============
public SaveCarCoords()
{
    new idx;
    new File: file2;
    while (idx < sizeof(CarInfo))
    {
        new coordsstring[256];
        format(coordsstring, sizeof(coordsstring), "%d|%f|%f|%f|%f|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d|%d\n",
        CarInfo[idx][cModel],
        CarInfo[idx][cLocationx],
        CarInfo[idx][cLocationy],
        CarInfo[idx][cLocationz],
        CarInfo[idx][cAngle],
        CarInfo[idx][cColorOne],
        CarInfo[idx][cColorTwo],
        CarInfo[idx][mod1],
        CarInfo[idx][mod2],
        CarInfo[idx][mod3],
        CarInfo[idx][mod4],
        CarInfo[idx][mod5],
        CarInfo[idx][mod6],
        CarInfo[idx][mod7],
        CarInfo[idx][mod8],
        CarInfo[idx][mod9],
        CarInfo[idx][mod10],
        CarInfo[idx][mod11],
        CarInfo[idx][mod12],
        CarInfo[idx][mod13],
        CarInfo[idx][mod14],
        CarInfo[idx][mod15],
        CarInfo[idx][mod16],
        CarInfo[idx][mod17],
        CarInfo[idx][paintjob]);
        if(idx == carsonserver)
        {
            file2 = fopen("personalcars.cfg", io_write);
        }
        else
        {
            file2 = fopen("personalcars.cfg", io_append);
        }
        fwrite(file2, coordsstring);
        idx++;
        fclose(file2);
    }
    return 1;
}
public IsAnOwnableCar(vehicleid)
{
    if(vehicleid >= carsonserver && vehicleid <= 1000) { return 1; }
    return 0;
}
//===============
public CarKeys(playerid)
{
    new string2[64];
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    format(string2, sizeof(string2), "KeyMasini/%s.ini", playername2);
    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )
    {
        new key[ 256 ] , val[ 256 ];
        new Data[ 256 ];
        while ( fread( UserFile , Data , sizeof( Data ) ) )
        {
            key = ini_GetKey( Data );
            if( strcmp( key , "CarKey" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey] = strval( val ); }
            if( strcmp( key , "CarKey2" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey2] = strval( val ); }
            if( strcmp( key , "CarKey3" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pPcarkey3] = strval( val ); }
        }
        fclose(UserFile);
    }
    return 1;
}


Imagini / Video (optional):
Ati incercat sa rezolvati singur?: Da,dar nu reusesc,imi incurca alte masini si tot asa...

 

Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 0

eu nu am in GM carsonserver și chiar dacă îl pun ,la dealer îmi creează mașini de la id 1  nu de la 842 

sus ai scris ca foloseste carsonserver, deci trebuie sa-l treci si tu, iar linia pe care ti-am dat-o trebuie pusa la aproape fiecare functie care creeaza masina personala ...

Link to comment
Share on other sites

  • 0

sus ai scris ca foloseste carsonserver, deci trebuie sa-l treci si tu, iar linia pe care ti-am dat-o trebuie pusa la aproape fiecare functie care creeaza masina personala ...

Asta e functia care imi creeaza masinile personale: 

for(new h = carsonserver; h < sizeof(CarInfo); h++)
    {
        CreateVehicle(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
        
    }

 

iar h-ul acela nu trebuie declarat 0? de la linia ta

Edited by ProAeXel
Link to comment
Share on other sites

  • 0

Asta e functia care imi creeaza masinile personale: 

for(new h = carsonserver; h < sizeof(CarInfo); h++)
    {
        CreateVehicle(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
        
    }

 

iar h-ul acela nu trebuie declarat 0? de la linia ta

Nu , e bine ce ai tu acolo . Unde ai pus linia asta ?

Link to comment
Share on other sites

  • 0

Nu , e bine ce ai tu acolo . Unde ai pus linia asta ?

La public OnGameModeInit ,am:

LoadCar();
    for(new h = carsonserver; h < sizeof(CarInfo); h++)
    {
        CreateVehicle(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
        //LoadComponents(h);
    }

Link to comment
Share on other sites

  • 0

eu am dealership-ul pe dialog ,nu creez masini in care sa intri ca sa le poti cumpara

pun la fiecare lista din dialog forul acela?

Cand o cumpar masina o creeaza cum trebuie ,dar atunci cand dau restart o pune cu id 1

Edited by ProAeXel
Link to comment
Share on other sites

  • 0

Nu merge.

Dealership-ul pe gamemode-ul de unde l-am luat merge perfect pentru ca acela are masinile incarcate in functie de carsonserver....dar pe gm-ul meu nu sunt incarcate in functie de carsonserver ,iar dealershipul face figuri...

Link to comment
Share on other sites

  • 0

roAeXel

Daca ai luat sistemu din alt gm vezi ca trebuie si el confgurat pe baza ta de date (daca e mysql) si ai niste configuratii  care trebuie puse separat, asa cum ti`a zis si NoNamed incearca sa verifici peste tot sa nu fi gresit geva.

 

                               http://i.imgur.com/NOsIYWt.png

                     Respecta si vei fi respectat. :)

Link to comment
Share on other sites

  • 0

Am verificat variabilă cu variabilă și am pus totul cum e în gmul de unde l.am luat ,problemă e acel carsonserver ,mașinile din gmul acela sunt create în funcție de asta ,pe când gm.ul actual nu folosește așa ceva și mașinile din dealer sunt încărcate după restart cu cele de la case,am pus la care în server și numărul de mașini ale caselor 172+1 ,dar și 841+1 câte sunt în total pe server ,dar tot sunt create de la id 1

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.