Car Rotations 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
  • Schönen guten Abend,


    ich habe jetzt ein Dynamisches Autohaussystem erstellt, es funktioniert Laden/Speichern/Erstellen etc.. ich habe nurnoch ein kleines Problem mit
    der Rotation des Fahrzeuges.. Die Fahrzeuge stehen zwar an der richtigen Position, aber die Rotation ist nicht die Selbe wie sie in der Datenbank steht.



    Wenn ich mich in ein Fahrzeug setzte lasse ich die ZAngle printen & beim austeigen auch.


    [20:04:24] Rotation: 52.694366
    [20:04:34] ZAngel: 51.126998


    Die neue Rotation wird auch in die Datenbank eingetragen & so läd er aus:


    [20:06:36] Car ID 3 Kosten: 2456$ ModelID: 560 Rotation: 51.126998 geladen


    Aber Ingame steht das Fahrzeug nicht so wie es gespeichert wurde beim umparken ? -.-


    Code:


    WIe ich es umparke:
    SendClientMessage(playerid,Gelb,"Fahrzeug umgeparkt.");
    new carid = GetPVarInt(playerid,"AHCCARID"),Float:vx,Float:vy,Float:vz,Float:vr,string[256];
    GetVehicleZAngle(carid,vr);
    printf("ZAngel: %f",vr);
    GetPlayerPos(playerid,vx,vy,vz);
    AutoHausCar[carid][posx] = vx;
    AutoHausCar[carid][posy] = vy;
    AutoHausCar[carid][posz] = vz;
    AutoHausCar[carid][posr] = vr;
    format(string,sizeof(string),"UPDATE `AutoHausCars` SET Modelid='%d',Kosten='%d',posx='%f',posy='%f',posz='%f',posr='%f' WHERE id = '%d'",
    AutoHausCar[carid][Modelid],
    AutoHausCar[carid][Kosten],
    AutoHausCar[carid][posx],
    AutoHausCar[carid][posy],
    AutoHausCar[carid][posz],
    AutoHausCar[carid][posr],
    AutoHausCar[carid][cID]);
    mysql_query(string);


    Wie ich es auslesen lasse:


    stock LoadAHC()
    {
    new query[256];
    mysql_query("SELECT * FROM `AutoHausCars`");
    mysql_store_result();
    for(new i; i<mysql_num_rows(); i++)
    {
    if(i>=MAX_AHC)break;
    mysql_retrieve_row();
    mysql_fetch_field_row(query,"id"); AutoHausCar[i][cID] = strval(query);
    mysql_fetch_field_row(query,"Modelid"); AutoHausCar[i][Modelid] = strval(query);
    mysql_fetch_field_row(query,"Kosten"); AutoHausCar[i][Kosten] = strval(query);
    mysql_fetch_field_row(query,"posx"); AutoHausCar[i][posx] = floatstr(query);
    mysql_fetch_field_row(query,"posy"); AutoHausCar[i][posy] = floatstr(query);
    mysql_fetch_field_row(query,"posz"); AutoHausCar[i][posz] = floatstr(query);
    mysql_fetch_field_row(query,"posr"); AutoHausCar[i][posr] = floatstr(query);
    AHC[i] = CreateVehicle(AutoHausCar[i][Modelid],AutoHausCar[i][posx],AutoHausCar[i][posy],AutoHausCar[i][posz],AutoHausCar[i][posr],0,0,-1);
    printf("Car ID %d Kosten: %d ModelID: %d Rotation: %f geladen",AutoHausCar[i][cID],AutoHausCar[i][Modelid],AutoHausCar[i][Kosten],AutoHausCar[i][posr]);
    }
    mysql_free_result();
    }


    Wie ich es speichere:


    new carid = GetPVarInt(playerid,"AHCID"),Float:px1,Float:py1,Float:pz1,Float:vr;
    GetVehicleZAngle(carid,vr);
    printf("Rotation: %f",vr);
    GetPlayerPos(playerid,px1,py1,pz1);
    AutoHausCar[carid][cID] = carid;
    AutoHausCar[carid][Modelid] = GetPVarInt(playerid,"AHCM");
    AutoHausCar[carid][Kosten] = GetPVarInt(playerid,"AHCK");
    AutoHausCar[carid][posx] = px1;
    AutoHausCar[carid][posy] = py1;
    AutoHausCar[carid][posz] = pz1;
    AutoHausCar[carid][posr] = vr;
    format(string,sizeof(string),"INSERT INTO `AutoHausCars` (`id`,`Modelid`,`Kosten`,`posx`,`posy`,`posz`,`posr`) VALUES(%d,%d,%d,%f,%f,%f,%f)",AutoHausCar[carid][cID],AutoHausCar[carid][Modelid],AutoHausCar[carid][Kosten],AutoHausCar[carid][posx],AutoHausCar[carid][posy],AutoHausCar[carid][posz],AutoHausCar[carid][posr]);
    mysql_query(string);
    SetPlayerPos(playerid,px1,py1,pz1+2);
    AHC[carid] = CreateVehicle(AutoHausCar[carid][Modelid],AutoHausCar[carid][posx],AutoHausCar[carid][posy],AutoHausCar[carid][posz],AutoHausCar[carid][posr],0,0,-1);
    return 1;


    Kann mir jemand sagen wodran es liegt ?

  • GetVehicleZAngle(carid,vr);


    müsste doch
    GetVehicleZAngle(AHC[carid],vr);
    sein.


    carid ist ja nur der Index, und nicht die vehicleid, die steht in AHC[carid].


    Ändert aber nichts daran, das die Fahrzeug Rotation nicht die ist, die in der DB steht... bzw komischerweise steht
    bei Car ID 6 der Wert hier in der DB :


    180.099197


    und der hier wird ausgegeben:


    180.092864 Woher bekommt der diesen Wert ? -.-


    //EDIT Hab den Fehler gefunden 8)

    Einmal editiert, zuletzt von [IRP]K3VIN ()