Fahrzeuge in Datei laden lassen?

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
  • Guten Morgen @all


    Wie kann ich es machen, das Fahrzeuge die im Gamemode angelegt sind in einer Datei eingefügt werden und ausgelesen werden


    Ich habe es schon versucht aber scheiter daran


    Es sollte so abgespeichert und ausgelesen werden, das das kennzeichen noch vorhanden ist
    ich habe es schon mit den versucht aber da bekomme ich einen error


    total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/ls_law.txt");
    der Error ist: LoadStaticVehiclesFromFile=Das kann er nicht lesen


    Ich hoffe, das ihr mir helfen könnt


    Einen schönen 2. Weinachtstag wünscht
    udo_schnarre


    //hat keiner eine Idee?

    2 Mal editiert, zuletzt von udo_schnarre ()

  • total_vehicles_from_files += LoadStaticVehiclesFromFile("vehicles/sf_airport.txt");
    dein Code


    Der Error:
    error 017: undefined symbol "LoadStaticVehiclesFromFile"


    ((Den habe ich oben nachdefiniert))

  • ich habe vor, das die fahrzeuge die im Gamemode stehen von einer .txt Datei gelesen werden
    sprich
    Ich wollte die aus den Gamemode rausnehmen


    Und die Funktion ist bei den Script mit drin GRAND LARCENY

  • for(new vehicleid=1;vehicleid<=MAX_VEHICLES; vehicleid++)
    {
    new autofile[24];
    format(autofile, sizeof(autofile), "Autos/%d.ini", vehicleid);
    new c1 = dini_Int(autofile, "farbe1");
    new c2 = dini_Int(autofile, "farbe2");
    new modelid = dini_Int(autofile, "model");
    new Float:x = dini_Int(autofile, "xpos");
    new Float:y = dini_Int(autofile, "ypos");
    new Float:z = dini_Int(autofile, "zpos");
    new Float:a = dini_Int(autofile, "apos");
    CreateVehicle(modelid, x, y, z, a, c1, c2, 1);
    }




    geh mit der schleife alle autos durch und schaue ob sie schon eine datei haben ....
    der code oben läd sie dann !
    mfg



  • Hiermit lädst du das erste Fahrzeug was in der Datei steht ich übernehme das mal eben gebt mir 5 Minuten =)

    RFT


  • for(new vehicleid=1;vehicleid<=MAX_VEHICLES; vehicleid++)
    {
    new autofile[24], sID[16];
    format(autofile, sizeof(autofile), "Autos/%d.ini", vehicleid);
    fromat(sID, 16, "farbe1%d", vehicleid);
    new c1 = dini_Int(autofile, sID);
    fromat(sID, 16, "farbe2%d", vehicleid);
    new c2 = dini_Int(autofile, sID);
    fromat(sID, 16, "model%d", vehicleid);
    new modelid = dini_Int(autofile, sID);
    fromat(sID, 16, "xpos%d", vehicleid);
    new Float:x = dini_Int(autofile, sID);
    fromat(sID, 16, "ypos%d", vehicleid);
    new Float:y = dini_Int(autofile, sID);
    fromat(sID, 16, "zpos%d", vehicleid);
    new Float:z = dini_Int(autofile, sID);
    fromat(sID, 16, "apos%d", vehicleid);
    new Float:a = dini_Int(autofile, sID);
    CreateVehicle(modelid, x, y, z, a, c1, c2, 1);
    }


    LG RFT



    //Edit fromat bitte gegen format austauschen war mein Fehler

    RFT

  • for(new vehicleid=1;vehicleid<=MAX_VEHICLES; vehicleid++)
    {
    new autofile[24], sID[16];
    format(autofile, sizeof(autofile), "vehicles/tierra.txt", vehicleid);
    format(sID, 16, "farbe1%d", vehicleid);
    new c1 = dini_Int(autofile, sID);
    format(sID, 16, "farbe2%d", vehicleid);
    new c2 = dini_Int(autofile, sID);
    format(sID, 16, "model%d", vehicleid);
    new modelid = dini_Int(autofile, sID);
    format(sID, 16, "xpos%d", vehicleid);
    new Float:x = dini_Int(autofile, sID);
    format(sID, 16, "ypos%d", vehicleid);
    new Float:y = dini_Int(autofile, sID);
    format(sID, 16, "zpos%d", vehicleid);
    new Float:z = dini_Int(autofile, sID);
    format(sID, 16, "apos%d", vehicleid);
    new Float:a = dini_Int(autofile, sID);
    CreateVehicle(modelid, x, y, z, a, c1, c2, 1);
    }


    Das klappt nicht der lödt die Fahrzeuge einfach nicht
    habe mal das grandlarc gepostet das wurde es bei OnGameModeInit gemacht
    http://pastebin.com/VC0szbyY

  • 487,-2227.7432,2327.1260,7.7581,178.6620,29,42 ;
    400,-2272.3713,2285.2505,4.9224,270.0000,120,123 ;
    400,-2251.1697,2284.9854,4.9106,91.8943,62,1 ;
    418,-2251.1719,2290.9373,4.9096,270.3710,108,108 ;
    587,-2272.0286,2300.4329,4.5463,89.7395,53,1 ;
    581,-2184.2810,2418.5032,4.6261,225.5440,36,1 ;
    484,-2227.5676,2446.2383,0.2238,229.2436,40,26 ;
    454,-2323.5996,2492.2419,-0.0163,230.2643,26,26 ;
    454,-2238.8279,2533.3970,0.0677,228.0608,26,26 ;
    454,-2235.0234,2394.8408,0.2049,225.3403,26,26 ;
    484,-2222.4343,2399.7363,0.3907,47.6966,50,32 ;
    484,-2211.9019,2412.5371,0.3222,45.0241,66,36 ;
    484,-2035.5737,2337.9326,0.3638,93.8940,66,36 ;
    460,-2044.7676,2348.1140,1.5708,85.2721,46,23 ;
    492,-2351.7927,2438.0439,7.5216,326.6075,81,27 ;
    484,-2319.6973,2297.0566,0.1447,177.2915,66,36 ;
    524,-2380.8870,2370.3657,4.4518,109.2159,83,66 ;
    525,-2451.8999,2302.0273,4.8566,90.9255,1,1 ;
    541,-2621.1914,2250.5889,8.0296,183.8325,123,1 ;
    541,-2616.7476,2250.0974,7.8063,184.5472,22,1 ;
    554,-2609.3669,2251.1685,8.2939,182.2681,12,32 ;
    446,-2597.6831,2231.7883,-0.5205,262.0586,1,22 ;
    581,-2632.2297,2299.0674,8.0274,266.4473,54,1 ;
    587,-2500.2227,2326.0215,4.6304,267.2316,95,1 ;
    409,-2492.2183,2410.7954,16.2328,29.6430,1,1 ;
    581,-2635.7234,2423.7803,13.5265,165.2141,36,1 ;
    419,-2472.6233,2490.2595,17.5856,1.8418,69,76 ;
    419,-2455.7502,2489.7153,16.0495,2.9791,87,76 ;
    400,-2471.6484,2511.5083,17.8420,178.3649,84,110 ;
    421,-2377.9495,2410.4937,8.1698,324.3596,52,66 ;
    493,-2417.5188,2297.3801,-0.1381,265.4497,36,13 ;
    493,-2417.7244,2291.5913,-0.2166,266.5734,36,13 ;
    493,-2418.0994,2286.5984,0.1419,268.6934,36,13 ;
    587,-2426.7017,2346.5630,5.0736,282.6106,40,84 ;
    587,-2446.9214,2224.6204,4.6071,179.3380,118,1 ;
    496,-2440.6040,2224.3320,4.5603,179.5986,0,0 ;
    480,-2470.7988,2224.3967,4.6180,180.6733,53,53 ;
    477,-2482.4893,2224.7783,4.5955,179.0414,75,1 ;
    530,-2509.7058,2369.0825,4.7508,179.0875,110,1 ;
    473,-1374.8508,2116.4690,40.4058,319.3678,56,53 ;
    473,-1366.9723,2106.8796,40.2918,315.0820,56,53 ;
    573,-1804.4702,2045.1581,9.6246,294.1870,91,38 ;
    468,-1824.8999,2035.1219,8.3037,212.8331,46,46 ;
    453,-1854.5022,2098.8430,-0.2039,102.5433,56,56 ;
    453,-1860.6494,2115.2981,-0.3292,107.9941,56,56 ;
    453,-1869.9406,2128.6624,-0.2785,113.4106,56,56 ;
    444,-1871.3125,2166.4583,4.9119,130.7896,32,42 ;
    444,-1877.4138,2173.9583,4.4635,128.7793,32,66 ;
    445,-1940.1118,2393.2588,49.3672,291.4925,39,39 ;
    482,-1934.0543,2377.3718,49.6189,290.8993,34,34 ;
    482,-865.7496,1541.4736,22.7941,89.7060,109,1 ;
    602,-865.9515,1547.8240,23.0657,268.7399,75,77 ;
    602,-866.0584,1563.5151,24.3648,269.9845,32,1 ;
    420,-866.0000,1557.1432,23.8370,269.2511,6,1 ;
    400,-904.0693,1546.9365,26.0011,270.6434,36,1 ;
    400,-880.8666,1518.9015,26.0064,84.4363,113,1 ;
    552,-837.0482,1528.4155,21.4272,356.9085,56,56 ;
    428,-836.9631,1518.5033,20.9587,356.9585,4,75 ;
    522,-855.4826,1529.1183,22.1490,175.2427,7,79 ;
    522,-854.3849,1528.8517,21.8310,177.4948,36,105 ;
    508,-763.8517,1643.9420,27.8381,359.3427,1,1 ;
    508,-759.1082,1643.9677,27.7561,357.9965,1,1 ;
    508,-753.8820,1643.4702,27.6587,357.3247,1,1 ;
    508,-779.0374,1557.9280,27.1835,359.2580,20,117 ;
    495,-771.3682,1431.5581,14.1421,91.6766,116,115 ;
    495,-771.4456,1436.7625,14.1395,89.8264,5,6 ;
    554,-772.0689,1443.1458,13.8807,91.3204,12,32 ;
    554,-771.5674,1486.2036,24.4291,89.6569,45,32 ;
    508,-720.9415,1438.1919,18.8516,358.8137,1,1 ;
    483,-685.9806,1444.2805,17.2557,358.8250,1,5 ;
    452,-859.7170,1383.5663,-0.4432,255.0147,1,35 ;
    525,-967.3431,1322.6412,39.9578,290.9068,52,54 ;
    525,-1202.8787,1677.6721,20.1641,63.4200,52,54 ;
    525,-1492.0199,1877.8156,32.5073,3.4296,52,54 ;
    554,-1485.6687,1877.9529,32.7206,2.7033,53,32 ;
    522,-1460.4990,1871.0664,32.2060,3.0444,36,105 ;
    522,-1459.1002,1871.1023,32.1946,6.0306,51,118 ;
    522,-1457.7523,1871.1093,32.1942,8.4307,3,8 ;
    420,-1450.4545,1870.4369,32.4111,2.9921,6,1 ;
    525,-1766.5353,1882.8726,17.5407,198.3129,1,1 ;
    525,-837.5615,813.0668,18.5289,199.0021,1,1 ;
    421,-680.4999,948.1251,12.0152,36.5625,36,1 ;
    444,-669.6081,945.8578,12.5041,89.2779,32,36 ;
    444,-669.8880,950.3906,12.5041,92.0677,32,53 ;
    444,-669.9730,955.0541,12.5041,91.0209,32,14 ;
    545,-710.5756,939.2571,12.2113,182.5872,53,53 ;
    572,-666.9449,962.4420,11.7128,180.1996,116,1 ;
    473,-792.8611,937.9167,0.1685,121.3300,56,15 ;
    472,-615.6752,1807.6965,0.1010,81.7140,56,53 ;
    473,-527.8143,1634.6472,-0.2518,232.0554,56,15 ;
    468,-1044.5811,1559.1265,32.8485,222.2500,3,3 ;
    462,-1214.5260,1841.3584,41.3185,264.4565,13,13 ;
    482,-1203.9337,1813.2631,41.8329,44.3244,62,62 ;
    568,-1295.9022,2496.5747,86.8474,198.8607,9,39 ;
    568,-1506.3029,1966.6509,48.2421,293.1870,9,39 ;
    510,-767.7841,1103.9338,44.4799,321.7752,39,39 ;


    ((ist eine Standart datei))

  • Ja und wie kann ich das am (dümmsten) machen?


    soetwas habe ich noch nicht gemacht

  • RFT du enttäuscht mich wirklich... sry aber das du nicht weißt um was es geht macht mich traurig ;( xD


    @BTP:
    So eine Funktion gibt es. Sie ist auch offiziel, dennoch etwas versteckt.


    Du kannst das im von dir verwenden (Aus deinem Startpost) indem du einfach oben den "common" Include mitreinpackst.


    #include "../include/gl_common.inc"


    oder die Funktion:
    stock LoadStaticVehiclesFromFile(const filename[])
    {
    new File:file_ptr;
    new line[256];
    new var_from_line[64];
    new vehicletype;
    new Float:SpawnX;
    new Float:SpawnY;
    new Float:SpawnZ;
    new Float:SpawnRot;
    new Color1, Color2;
    new index;
    new vehicles_loaded;


    file_ptr = fopen(filename,filemode:io_read);
    if(!file_ptr) return 0;


    vehicles_loaded = 0;


    while(fread(file_ptr,line,256) > 0)
    {
    index = 0;


    // Read type
    index = token_by_delim(line,var_from_line,',',index);
    if(index == (-1)) continue;
    vehicletype = strval(var_from_line);
    if(vehicletype < 400 || vehicletype > 611) continue;


    // Read X, Y, Z, Rotation
    index = token_by_delim(line,var_from_line,',',index+1);
    if(index == (-1)) continue;
    SpawnX = floatstr(var_from_line);


    index = token_by_delim(line,var_from_line,',',index+1);
    if(index == (-1)) continue;
    SpawnY = floatstr(var_from_line);


    index = token_by_delim(line,var_from_line,',',index+1);
    if(index == (-1)) continue;
    SpawnZ = floatstr(var_from_line);


    index = token_by_delim(line,var_from_line,',',index+1);
    if(index == (-1)) continue;
    SpawnRot = floatstr(var_from_line);


    // Read Color1, Color2
    index = token_by_delim(line,var_from_line,',',index+1);
    if(index == (-1)) continue;
    Color1 = strval(var_from_line);


    index = token_by_delim(line,var_from_line,';',index+1);
    Color2 = strval(var_from_line);

    //printf("%d,%.2f,%.2f,%.2f,%.4f,%d,%d",vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2);


    AddStaticVehicleEx(vehicletype,SpawnX,SpawnY,SpawnZ,SpawnRot,Color1,Color2,(30*60)); // respawn 30 minutes

    /*new numplate_test[32+1];
    format(numplate_test,32,"GRLC{44AA33}%d",vid);
    SetVehicleNumberPlate(vid, numplate_test);*/

    vehicles_loaded++;
    }


    fclose(file_ptr);
    printf("Loaded %d vehicles from: %s",vehicles_loaded,filename);
    return vehicles_loaded;
    }
    stock token_by_delim(const string[], return_str[], delim, start_index)
    {
    new x=0;
    while(string[start_index] != EOS && string[start_index] != delim) {
    return_str[x] = string[start_index];
    x++;
    start_index++;
    }
    return_str[x] = EOS;
    if(string[start_index] == EOS) start_index = (-1);
    return start_index;
    }


    Für weiteres siehe STD.GM: grandlarc


    MfG
    eXchange


    //Edit: Funktion vergessen...


    Bitte keine Script/Supportanfragen via PN!!!
    (Ausnahme: Scripten gegen Bezahlung!)