Float problem

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
  • So ich habe ein Problem mit den Floats von Fahrzeugen und zwar werden die Fahrzeuge in eine ini gespeichert und die Positionen ebenfalls die Koordinaten sehen dort auch ganz normal aus jedoch wenn sie bei Ongamemode geladen werden spawnen sie in der luft und haben Ganz andere Farben hier der code vom Laden:
    for(new i = 0; i < MAX_FRAC_V; i++)
    {
    new string2[64];
    format(string2, sizeof(string2), "FraktionsCars/%d.car", i);
    new File: Fraccar = fopen(string2, io_read);
    new key[ 256 ] , val[ 256 ];
    new Data[ 256 ];
    if ( Fraccar )
    {
    fread( Fraccar , Data , sizeof( Data ) );
    if( strcmp( key , "veh_model" , true ) == 0 ) { val = ini_GetValue( Data ); FraktionCarSystem[i][fmodel] = strval( val ); }
    if( strcmp( key , "veh_x" , true ) == 0) { val = ini_GetValue( Data ); FraktionCarSystem[i][fx] = floatstr ( val ); }
    if( strcmp( key , "veh_y" , true ) == 0) { val = ini_GetValue( Data ); FraktionCarSystem[i][fy] = floatstr ( val ); }
    if( strcmp( key , "veh_z" , true ) == 0) { val = ini_GetValue( Data ); FraktionCarSystem[i][fz] = floatstr ( val ); }
    if( strcmp( key , "veh_a" , true ) == 0) { val = ini_GetValue( Data ); FraktionCarSystem[i][fa] = floatstr ( val ); }
    if( strcmp( key , "Farbe1", true ) == 0) { val = ini_GetValue( Data ); FraktionCarSystem[i][Farbe1] = strval ( val ); }
    if( strcmp( key , "Farbe2", true ) == 0) { val = ini_GetValue( Data ); FraktionCarSystem[i][Farbe2] = strval ( val ); }
    new carid = CreateVehicle(FraktionCarSystem[i][fmodel],FraktionCarSystem[i][fx],FraktionCarSystem[i][fy],FraktionCarSystem[i][fz],FraktionCarSystem[i][fa],FraktionCarSystem[i][Farbe1],FraktionCarSystem[i][Farbe2],0);
    FracCar[carid] = 1;
    fclose(Fraccar);
    }
    }



    und eine Beispiel ini:


    veh_model=522
    veh_x=1545.913330
    veh_y=-1667.572265
    veh_z=5.449881
    veh_a=269.724304
    veh_Farbe1=1
    veh_Farbe2=1

  • ini_GetValue ist mir persönlich unbekannt kannst du mal den stock davon posten
    zu dem würde ich das ganze mit sscanf machen
    und eine while schleife benutzen



    new string[64],integer,floats;
    while(fread(example, string))
    {
    if(!sscanf(string, "veh_model='d'",integer))FraktionCarSystem[i][fmodel] = integer;
    else if(!sscanf(string, "veh_x='f'",floats))FraktionCarSystem[i][fx] = floats;
    ....