Jump to content
Autentificarea cu Google și Facebook nu mai este disponibilă. ×

Question

Posted

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...

 

16 answers to this question

Recommended Posts

  • 0
Posted

Incearca sa faci un for , gen :

for(new h; h < sizeof(carsonserver); h++);
{
    CreateVehicle(id, coordonate);
}

 

  • 0
Posted

Incearca sa faci un for , gen :

for(new h; h < sizeof(carsonserver); h++);
{
    CreateVehicle(id, coordonate);
}

 

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 

  • 0
Posted

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 ...

  • 0
Posted (edited)

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
  • 0
Posted

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 ?

  • 0
Posted

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

  • 0
Posted (edited)

Incearca sa o pui si la /acreatecar sau ce comanda ai tu ca sa creezi masina in dealership . Si la publicul LoadCars .

Edited by NoNamed
  • 0
Posted (edited)

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
  • 0
Posted

Pune la LoadCar , sau cum ai functia de incarcare , daca nici asa , pune la fiecare lista din acel dialog .

  • 0
Posted

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...

  • 0
Posted

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. :)

  • 0
Posted

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

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.