Fraktioncars Dynamisch bauen.(Mit Anfangsphase)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,
    Ich wollte mich grade an ein Fraktioncars Setzen das es ermöglicht Fraktion Autos auf dem Server zu erstellen.
    Habe bis jetzt so weit geschafft.



    #define Max_FrakCars 5


    enum Frakcar
    {
    fFrakName[128],
    fFraktion,
    fFC,
    fFC2,
    Float:fx,
    Float:fy,
    Float:fz,
    Float:fr,
    plate[20],
    car,
    model
    };
    new FraktionCars[MAX_PLAYERS][Frakcar];


    stock LoadFrakCar()
    {
    new i;
    for(i = 0; i <MAX_FrakCars; i++)
    {
    new query[128],data[128],bedienung[40];
    format(bedienung,sizeof(bedienung),"id = '%i'",i);
    format(query,sizeof(query),"SELECT * FROM polizei WHERE %s", bedienung);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Frakname",data);
    strins(FraktionCars[i][fFrakName],data,0);
    strdel(data,0,100);
    mysql_fetch_field("x",data);
    FraktionCars[i][fx]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("y",data);
    FraktionCars[i][fy]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("z",data);
    FraktionCars[i][fz]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("r",data);
    FraktionCars[i][fr]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("c1",data);
    FraktionCars[i][fFC]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("c2",data);
    FraktionCars[i][fFC2]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("plate",data);
    strins(Car[i][plate],data,0);
    strdel(data,0,100);
    mysql_fetch_field("model",data);
    FraktionCars[i][model]=strval(data);
    strdel(data,0,100);
    }
    mysql_free_result();
    FraktionCars[i][car] = CreateVehicle(FraktionCars[i][model], FraktionCars[i][fx], FraktionCars[i][fy], FraktionCars[i][fz], FraktionCars[i][fr], FraktionCars[i][fFC], FraktionCars[i][fFC2], -1);
    SetVehicleNumberPlate(FraktionCars[i][car], FraktionCars[i][plate]);
    }
    return 1;
    }
    stock SaveFrakCars()
    {
    for(new i = 0; i <MAX_FrakCars; i++)
    {
    if(Car[i][x]!=0)
    {
    new bedien[128],updatestring[128];
    format(bedien,sizeof(bedien),"`id` = '%i'",i);
    format(updatestring,128,"%s",FraktionCars[i][fFrakName]);
    mysqlupdate("polizei",bedien,"owner",updatestring);


    format(updatestring,128,"%f",FraktionCars[i][fx]);
    mysqlupdate("polizei",bedien,"x",updatestring);


    format(updatestring,128,"%f",FraktionCars[i][fy]);
    mysqlupdate("polizei",bedien,"y",updatestring);


    format(updatestring,128,"%f",FraktionCars[i][fz]);
    mysqlupdate("polizei",bedien,"z",updatestring);


    format(updatestring,128,"%d",FraktionCars[i][fFC]);
    mysqlupdate("polizei",bedien,"c1",updatestring);


    format(updatestring,128,"%d",FraktionCars[i][fFC2]);
    mysqlupdate("polizei",bedien,"c2",updatestring);


    format(updatestring,128,"%d",FraktionCars[i][plate]);
    mysqlupdate("polizei",bedien,"plate",updatestring);


    format(updatestring,128,"%d",FraktionCars[i][model]);
    mysqlupdate("polizei",bedien,"model",updatestring);
    }
    }
    }

    Jetzt wollte ich habe alles geordnet machen also für jede Fraktion eine Tabelle.
    Nur wie sollte ich das machen ?


    //E: code eingefügt.

    Einmal editiert, zuletzt von GamerXIOS ()

  • Mach einfach für jede Fraktion eine Tabelle und den Lade-Befehl dazu.
    Außerdem hast einen Fehler:
    new FraktionCars[MAX_PLAYERS][Frakcar]; was macht hier Max_Players?


    Ja sollte ich ändern sry :s
    Und ich meine es so.


  • Mach doch da ne neue Tabelle und schreib da alles rein ^^

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • Mach doch da ne neue Tabelle und schreib da alles rein ^^


    Ja aber ich meine ist das dann Resourcenfressend ?
    und wie löse ich das bei LoadFrakcars ?

  • Hmm also ich hab das mit 500 Fraktionsfahrzeugen und bei mir isses nich Resourcenfressend ;)

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • Und wie löse ich das bei LoadFraktioNCars


    stock LoadFrakCar()
    {
    new i;
    for(i = 0; i <MAX_FrakCars; i++)
    {
    new query[128],data[128],bedienung[40];
    format(bedienung,sizeof(bedienung),"id = '%i'",i);
    format(query,sizeof(query),"SELECT * FROM polizei WHERE %s", bedienung);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Frakname",data);
    strins(FraktionCars[i][fFrakName],data,0);
    strdel(data,0,100);
    mysql_fetch_field("x",data);
    FraktionCars[i][fx]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("y",data);
    FraktionCars[i][fy]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("z",data);
    FraktionCars[i][fz]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("r",data);
    FraktionCars[i][fr]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("c1",data);
    FraktionCars[i][fFC]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("c2",data);
    FraktionCars[i][fFC2]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("plate",data);
    strins(Car[i][plate],data,0);
    strdel(data,0,100);
    mysql_fetch_field("model",data);
    FraktionCars[i][model]=strval(data);
    strdel(data,0,100);
    }
    mysql_free_result();
    FraktionCars[i][car] = CreateVehicle(FraktionCars[i][model], FraktionCars[i][fx], FraktionCars[i][fy], FraktionCars[i][fz], FraktionCars[i][fr], FraktionCars[i][fFC], FraktionCars[i][fFC2], -1);
    SetVehicleNumberPlate(FraktionCars[i][car], FraktionCars[i][plate]);
    }
    return 1;
    }


    Will nicht für jede Fraktion extra ein Stock machen.

  • Da du ja oben in deinem enum schon die Fraktion drinne hast, machst du es einfach so:



    stock LoadFrakCar()
    {
    new i;
    for(i = 0; i <MAX_FrakCars; i++)
    {
    new query[128],data[128],bedienung[40];
    format(bedienung,sizeof(bedienung),"id = '%i'",i);
    format(query,sizeof(query),"SELECT * FROM fraktionsfahrzeuge WHERE %s", bedienung);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("Frakname",data);
    strins(FraktionCars[i][fFrakName],data,0);
    strdel(data,0,100);
    mysql_fetch_field("Fraktion",data);
    FraktionCars[i][fFraktion]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("x",data);
    FraktionCars[i][fx]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("y",data);
    FraktionCars[i][fy]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("z",data);
    FraktionCars[i][fz]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("r",data);
    FraktionCars[i][fr]=floatstr(data);
    strdel(data,0,100);
    mysql_fetch_field("c1",data);
    FraktionCars[i][fFC]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("c2",data);
    FraktionCars[i][fFC2]=strval(data);
    strdel(data,0,100);
    mysql_fetch_field("plate",data);
    strins(Car[i][plate],data,0);
    strdel(data,0,100);
    mysql_fetch_field("model",data);
    FraktionCars[i][model]=strval(data);
    strdel(data,0,100);

    FraktionCars[i][car] = CreateVehicle(FraktionCars[i][model], FraktionCars[i][fx], FraktionCars[i][fy], FraktionCars[i][fz], FraktionCars[i][fr], FraktionCars[i][fFC], FraktionCars[i][fFC2], -1);
    SetVehicleNumberPlate(FraktionCars[i][car], FraktionCars[i][plate]);
    }
    mysql_free_result();
    }
    return 1;
    }

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|

  • stimmt dann mach ich nochmal eine Spalte wo anders bei den Serverconfig oder so und frag von da ab ob die Fraktion schon 5 Autos hat.
    Boar geil danke :D

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Immer gerne ;)

    Unkompetent. Das neue dynamisch.



    ihr seit schon lustig postet erros aber nicht die zeilen wo sie sind dann können wir euch auch nicht helfen^^


    Lernt Scripten, Leute, und macht eure Augen auf!


    _______________________________________
    50 Beiträge: [x] 300 Beiträge: [x]
    100 Beiträge: [x] 500 Beiträge: [x]
    150 Beiträge: [x] 1000 Beiträge: [x]
    200 Beiträge: [x]
    2000 Beiträge: []
    250 Beiträge: [X] Boardaktivitäten: Profil


    [size=36]_______________________________________

    /Edit: Schmerzt es dir eigentlich nicht so ein Müll zu schreiben 8|