[MYSQL R5] Fraktionsautohaus probleme Kan keiner Helfen?

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 alle zusammen,


    Ich habe folgende Probleme unzwar in der Datenbank werden zwar die fahrzeuge erstellt aber ich bekomme den /fpark befehl nicht hin wäre echt mal net wenn mir jemand helfen könnte hir der code:


    Die enums:


    Spoiler anzeigen
    enum Fr {
    VEHNAME[128],
    VEHPREIS,
    ModelID,
    Float:fpX,
    Float:fpY,
    Float:fpZ,
    Float:fpA,
    VEHID,
    };
    new FrakBuyCarInfo[1][Fr] = {
    {"Infernus",500,411,1078.0352,-1772.6052,13.0781,89.9428,-1}// Test Kauffahrzeug
    };

    Spoiler anzeigen
    enum fra {
    FrakID,
    ModelID,
    Float:fapX,
    Float:fapY,
    Float:fapZ,
    Float:fapA,
    CarID,
    Preis,
    farbe1,farbe2
    };
    new FrakCarInfo[MAX_FRAGCARS][fra];


    bei OnPlayerst:


    Spoiler anzeigen
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i =0; i < sizeof(FrakBuyCarInfo); i++)
    {
    if(PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pLeader] == 16 || PlayerInfo[playerid][pLeader] == 15 || PlayerInfo[playerid][pLeader] == 14 || PlayerInfo[playerid][pLeader] == 13 ||
    PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pLeader] == 8) {
    if(GetPlayerVehicleID(playerid)==FrakBuyCarInfo[i][VEHID])
    {
    new str[128];
    format(str,128,"Name: %s\nPreis: %i\n\nMöchten sie dieses Fahrzeug für ihre Fraktion Kaufen??",FrakBuyCarInfo[i][VEHNAME],FrakBuyCarInfo[i][VEHPREIS]);
    ShowPlayerDialog(playerid,FRAKCARINFO_DIALOG,DIALOG_STYLE_MSGBOX,"Fraktions Autohaus:",str,"Kaufen","Abbrechen");
    }
    }else {
    SCM(playerid, Rot,"[ERROR]: Du bist kein Leader einer Gang/Mafia!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    return 1;
    }


    Bei OnplayerDialog:


    Spoiler anzeigen
    case FRAKCARINFO_DIALOG:
    {
    if(response) {
    for(new i = 0; i < MAX_FRAGCARS; i++) {
    for(new f = 0; f < MAX_FRAGCARS; f++) {
    new cpreis = FrakBuyCarInfo[i][VEHPREIS],query[258];
    GivePlayerMoney(playerid,-cpreis);
    FrakCarInfo[f][FrakID] = PlayerInfo[playerid][pLeader];
    FrakCarInfo[f][fapX]=1061.7988;
    FrakCarInfo[f][fapY]=-1775.6262;
    FrakCarInfo[f][fapZ]=13.0713;
    FrakCarInfo[f][fapA]=269.6295;
    FrakCarInfo[f][Preis]=cpreis/2;
    FrakCarInfo[f][farbe1] = frakcolor(playerid);
    FrakCarInfo[f][ModelID]=FrakBuyCarInfo[i][ModelID];
    FrakCarInfo[f][CarID] = AddStaticVehicle(FrakCarInfo[f][ModelID],1061.7988,-1775.6262,13.0713,269.6295,FrakCarInfo[f][farbe1],FrakCarInfo[f][farbe1]);
    SCM(playerid, Gelb, "[INFO]: Du kannst das Fraktionsfahrzeug mit /fpark an der gewünschten position parken,");
    SCM(playerid, Gelb, "[INFO]: wird es ihr spawnen!");
    SCM(playerid, Gelb, "[INFO]: Das Auto steht am Ausgabepunkt bereit! Viel Spaß beim Fahren! Und Beachte die StVo!");
    RemovePlayerFromVehicle(playerid);
    format(query, sizeof(query), "INSERT INTO `fraktionscars` (`FrakID`,`ModelID`,`Preis`,`Farbe`,`FrakPosX`, `FrakPosY`, `FrakPosZ`, `FrakPosA`) VALUES ('%d', '%d','%d', '%d', '%f', '%f', '%f', '%f', '%d')",FrakCarInfo[f][FrakID],FrakCarInfo[f][ModelID],FrakCarInfo[f][Preis],FrakCarInfo[f][farbe1],FrakCarInfo[f][fapX],FrakCarInfo[f][fapY],FrakCarInfo[f][fapZ],FrakCarInfo[f][fapA]);
    mysql_query(query);
    break;
    }
    }
    } else return RemovePlayerFromVehicle(playerid);
    }


    der /fpark befehl:


    Spoiler anzeigen
    ocmd:fpark(playerid, params[])
    {
    new i;while(i<MAX_FRAGCARS) {
    new query[128];
    if(GetPlayerVehicleID(playerid) == FrakCarInfo[i][CarID] && FrakCarInfo[i][FrakID] == PlayerInfo[playerid][pLeader]) {
    GetVehiclePos(FrakCarInfo[i][CarID],FrakCarInfo[i][fapX],FrakCarInfo[i][fapY],FrakCarInfo[i][fapZ]),GetVehicleZAngle(FrakCarInfo[i][CarID],FrakCarInfo[i][fapA]);
    format(query, sizeof(query), "UPDATE `fraktionscars` SET `FrakPosX`='%f',`FrakPosY`='%f',`FrakPosZ`='%f',`FrakPosA`='%f' WHERE `id`='%d'",FrakCarInfo[i][fapX],FrakCarInfo[i][fapY],FrakCarInfo[i][fapZ],FrakCarInfo[i][fapA],i);
    mysql_query(query);
    SCM(playerid,Gruen,"Du hast das Fahrzeug erfolgreich gepark!");
    }
    }i++;
    return 1;
    }


    Ich hoffe mir kann einer helfen.


    ps. Ich bedanke mich bei jedem der mir eine hilfreiche Antwort gibt.


    mfg. Fabi.StaR

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


    Einmal editiert, zuletzt von Fabi.StaR ()

  • Im /fpark: Du erhöhst erst nach der }-Klammer der while-Schleife (also nach der while-Schleife) i um eins (mit i++), das sollte aber logischerweise in der Schleife passieren.


    Du solltest für solche Zwecke lieber eine for-Schleife verwenden, da sollte es nicht zu solch einem Fehler kommen. :p

    Ich bin Dittis Signatur.

  • Ahbe das was IRFT mir geschrieben hat genommen :D aber da habe ich nur ein Problem unzwar bei /fsellcar hir der bfehl:


    Spoiler anzeigen
    if(strcmp(cmdtext, "/fsellcar", true) == 0)
    {
    new car = IsPlayerInAFactionCar(GetPlayerVehicleID(playerid));
    if(car != -1)
    {
    if(PlayerInfo[playerid][pLeader] != 0)
    {
    if(PlayerInfo[playerid][pLeader] == FactionCars[car][fFaction])
    {
    for(new i = 0; i < sizeof(fCarDealerCars); i++)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == fCarDealerCars[i][fModel])
    {
    GivePlayerMoney(playerid, fCarDealerCars[i][fPrice]/2);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    FactionCars[car][fExist] = false;
    SendClientMessage(playerid, Gruen, "Info: Du hast dieses Fahrzeug für die hälfte des neupreises verkauft.");
    format(string, sizeof(string), "DELETE FROM `factioncars` WHERE `id` = %d", FactionCars[car][fSQLid]);
    mysql_query(string);
    return 1;
    }
    }
    return 1;
    }
    else return SendClientMessage(playerid, Rot, "Info: Dieses Fahrzeug gehört nicht zu deiner Fraktion.");
    }
    else return SendClientMessage(playerid, Rot, "Info: Du bist kein Leader.");
    }
    else return SendClientMessage(playerid, Rot, "Info: Du befindest dich in keinem Fraktion´s Fahrzeug.");
    }


    ich bin der Leader der Fraktion der dieses Fahrzeug gehört und mir wird diese naricht geschickt :
    else return SendClientMessage(playerid, Rot, "Info: Du befindest dich in keinem Fraktion´s Fahrzeug.");


    was ist falsch??

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


    Einmal editiert, zuletzt von Fabi.StaR ()