Fraktionsparken geht erst nach gmx

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 Tag


    Ich stehe seit gestern vor einen Problem
    wenn ich ingame ein Auto erstellen möchte, dann lösst es sich nicht umparken
    ich habe schon alles versucht was mir im sinn kam leider Vergeblich
    Jetzt hoffe ich auf eure Hilfe
    In der Datenbank wird alles 100%tig richtig eingetragen und nach einen gmx geht alles auch wieder
    So lass ich die laden:
    Ganz oben das
    new idx=0;
    new result[128];
    mysql_query("SELECT * FROM `LSPD`");
    mysql_store_result();
    if(mysql_num_rows() != 0)
    {
    while(mysql_retrieve_row())
    {
    mysql_fetch_field_row(result,"id");
    LSPD[idx][lspdDBID] = strval(result);
    mysql_fetch_field_row(result,"VehID");
    LSPD[idx][lspdVehicleID] = strval(result);
    mysql_fetch_field_row(result,"Farbe1");
    LSPD[idx][lspdC1] = strval(result);
    mysql_fetch_field_row(result,"Farbe2");
    LSPD[idx][lspdC2] = strval(result);
    mysql_fetch_field_row(result,"X");
    LSPD[idx][lspdX] = floatstr(result);
    mysql_fetch_field_row(result,"Y");
    LSPD[idx][lspdY] = floatstr(result);
    mysql_fetch_field_row(result,"Z");
    LSPD[idx][lspdZ] = floatstr(result);
    mysql_fetch_field_row(result,"A");
    LSPD[idx][lspdA] = floatstr(result);
    mysql_fetch_field_row(result,"Numplate");
    format(LSPD[idx][lspdNumplate],10,"%s",result);
    SetVehicleNumberPlate(LSPD[idx][lspdDBID]=CreateVehicle(LSPD[idx][lspdVehicleID],LSPD[idx][lspdX],LSPD[idx][lspdY],LSPD[idx][lspdZ],LSPD[idx][lspdA],LSPD[idx][lspdC1],LSPD[idx][lspdC2],-1),LSPD[idx][lspdNumplate]);
    idx++;
    }
    }
    erstellen tu ich es so:


    dcmd_newfcar(playerid,params[])
    {
    new carid,c1,c2,frakid,query[512],str[10];
    new Float:vehx,Float:vehy,Float:vehz,Float:veha;
    if(PlayerInfo[playerid][pAdmin]>=5)
    {
    if(sscanf(params,"iiii",carid,c1,c2,frakid))return SendClientMessage(playerid, cRed,"/newfcar [CAR-ID] [COLOR11] [COLOR-2] [FRAKTIONSID]");
    if(carid < 400 || carid > 610 ) return SendClientMessage(playerid,cRed,"Bitte wähle ein Fahrzeug zwischen 400 und 610");
    if(frakid < 1 || frakid > 6 ) return SendClientMessage(playerid,cRed,"Bitte wähle eine Fraktionsid zwischen 1 und 6");
    if(frakid==1)//LSPD
    {
    if(idx!=100)
    {
    GetPlayerPos(playerid,vehx,vehy,vehz);
    GetPlayerFacingAngle(playerid,veha);
    idx++;
    LSPD[idx][lspdDBID]=CreateVehicle(carid,vehx,vehy,vehz,veha,c1,c2,-1);
    format(str, sizeof(str),"LSPD%d",idx);
    SetVehicleNumberPlate(LSPD[idx][lspdDBID],str);
    PutPlayerInVehicle(playerid, LSPD[idx][lspdDBID], 0);
    format(query, sizeof(query), "INSERT INTO LSPD (id, VehID, Farbe1, Farbe2, X, Y, Z, A, Numplate) VALUES ('%d', '%d', '%d', '%d', '%f', '%f', '%f', '%f', '%s')", idx, carid, c1, c2, vehx, vehy, vehz, veha, str);
    mysql_query(query);
    mysql_free_result();
    SendClientMessage(playerid,cGreen,"Du hast ein neues Fraktionscar in die Datenbank eingetragen mit /fpark kannst du die autos umparken");
    }
    else
    {
    SendClientMessage(playerid,cRed,"Das Limit für das LSPD wurde erreicht");
    }
    }
    }
    else
    {
    SendClientMessage(playerid,cRed,"Um diesen Befehl Nutzen zu können brauchst du den Adminrank Admin.");
    }
    return 1;
    }


    und so ist der /fpark befehl der nur nach einen gmx funktioniert
    dcmd_fpark(playerid,params[])
    {
    #pragma unused params
    new query[128];
    new Float:vehx,Float:vehy,Float:vehz,Float:veha;
    new carid = GetPlayerVehicleID(playerid);
    GetVehiclePos(carid,vehx,vehy,vehz);
    GetVehicleZAngle(carid,veha);
    if(PlayerInfo[playerid][pAdmin]>=5)
    {
    if(GetPlayerState(playerid)==PLAYER_STATE_DRIVER)
    {
    for(new i;i<idx;i++)
    {
    if(GetPlayerVehicleID(playerid)==LSPD[i][lspdDBID])
    {
    format(query, 128, "UPDATE LSPD SET X = '%f' WHERE id = '%d'", vehx, LSPD[i][lspdDBID]);
    mysql_query(query);
    format(query, 128, "UPDATE LSPD SET Y = '%f' WHERE id = '%d'", vehy, LSPD[i][lspdDBID]);
    mysql_query(query);
    format(query, 128, "UPDATE LSPD SET Z = '%f' WHERE id = '%d'", vehz, LSPD[i][lspdDBID]);
    mysql_query(query);
    format(query, 128, "UPDATE LSPD SET A = '%f' WHERE id = '%d'", veha, LSPD[i][lspdDBID]);
    mysql_query(query);
    mysql_free_result();
    format(query, 128, "Du hast das Car mit der ID: %d umgeparkt", LSPD[i][lspdDBID]);
    SendClientMessage(playerid,cGreen,query);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid,cRed,"Um diesen Befehl Nutzen zu können brauchst du den Adminrank Admin.");
    }
    return 1;
    }


    Ich hoffe, das einer helfen kann, da ich nicht mehr weiterweiß

    Mit freundlichen Grüßen


    Perry_Cox



  • LSPD[idx][lspdDBID]=CreateVehicle(carid,vehx,vehy,vehz,veha,c1,c2,-1);
    Die Zeile erstellt das Fahrzeug und gibt nicht die Datenbankkennung zurück. Diese ist nämlich 'idx'.
    LSPD[idx][lspdDBID] = idx;


    Da du ja die Fahrzeugkennung auch willst, machst du gleich ein Extrafeld in deinem LSPD enum.
    enum ENUM_LSPD
    {
    lspdDBID,
    lspdCARID,
    };


    Dementsprechend auch die Zeile anpassen:
    LSPD[idx][lspdCARID]=CreateVehicle(carid,vehx,vehy,vehz,veha,c1,c2,-1);

  • Necktrox


    leider funktioniert diese Variante auch nicht
    wenn ich jetzt beim createn der cars alle lösche und neuladen lasse, dann geht es auch nicht
    hat einer villeicht eine andere idee?

    Mit freundlichen Grüßen


    Perry_Cox