Problem mit dem Enum

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 werte Brotfische,
    ich habe ein Problem woran ich verzweifele.
    Und-zwar geht es hier um ein ein Autohausfehler, wenn man in ein "Showcar" einsteigt sollte man normalerweise einen Dialog gekommen.
    Geht auch, aber nur beim ersten Auto des Enums.
    Wenn ich z.B. Ins 3. Auto des Enums einsteige kommt kein Dialog und man kann Theoretisch einfach los düsen (Man kauft es nicht).
    Villeicht wisst ihr ja mehr, oder kennt den Fehler schon?(
    Ich freue mich über jede Hilfe :)
    Ich knalle euch die Pastebin wie immer unten rein :)


    **Pastebin**


    Mit freundlichen Grüßen
    Moersy

  • Für so kurze Codes brauchst du keinen pastebin Link zu schicken, dafür kannst du einfach den PWN-Tag verwenden (Quellcode-Reiter über der Schriftart nutzen).


    Mit dem Array alleine können wir dir allerdings nicht helfen, poste bitte den Code mit dem du den Dialog anzeigen lässt.

  • Mal die komplette Schleife :)



    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
    for(new i = 0; i < sizeof(AutohausVehicle); i++)
    {
    if(vehicleid == ShowCars[i])
    {
    if(PlayerInfo[playerid][pLevel] < 2)
    {
    SendClientMessage(playerid,COLOR_GREY,"Du musst Level 3 sein um dir ein Fahrzeug kaufen zu können!");
    return RemovePlayerFromVehicle(playerid);
    }
    format(string,sizeof(string),"Möchten Sie das Fahrzeug: {FF8200} %s\n{FFFFFF}Für {FF8200} %d$ {FFFFFF}kaufen?",VehicleName[GetVehicleModel(GetPlayerVehicleID(i))-400],AutohausVehicle[i][AhPreis]);
    ShowPlayerDialog(playerid,DIALOG_AUTOHAUS_KAUF,DIALOG_STYLE_MSGBOX,"{FF8200}Autohaus{FFFFFF}",string,"Kaufen","Abbruch");
    return true;
    }
    }
    }

  • So:
    new ShowCars[MAX_AUTOHAUS_SHOWCAR]; //Das Steht ganz oben im Script
    new ahstring[250];
    for(new i = 0; i <sizeof(AutohausVehicle); i++)
    {
    ShowCars[i] = CreateVehicle(AutohausVehicle[i][AhModelid],AutohausVehicle[i][AhAusX],AutohausVehicle[i][AhAusY],AutohausVehicle[i][AhAusZ],AutohausVehicle[i][AhAngle],0,0,2*60000);
    format(ahstring,sizeof(ahstring),"Autohaus: %s\nFahrzeug: %s\nPreis: %d$",AutohausVehicle[i][AhName],AutohausVehicle[i][AhcarName],AutohausVehicle[i][AhPreis]);
    Create3DTextLabel(ahstring,COLOR_WHITE,AutohausVehicle[i][AhAusX],AutohausVehicle[i][AhAusY],AutohausVehicle[i][AhAusZ]+1,15.0,0,0);
    }



    //Edit
    "new ShowCars[MAX_AUTOHAUS_SHOWCAR];"
    hinzugefügt

    Einmal editiert, zuletzt von .Moersy ()

  • Hm, das passt eigentlich alles.
    Debugge den Code bitte mal so:
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
    printf("Spieler %d in Fahrzeug", playerid);
    for(new i = 0; i < sizeof(ShowCars); i++)
    {
    printf("i: %d | vehicleid: %d | ShowCars: %d", i, vehicleid, ShowCars[i]);
    if(vehicleid == ShowCars[i])
    {
    printf("Level: %d", PlayerInfo[playerid][pLevel]);
    if(PlayerInfo[playerid][pLevel] < 2)
    {
    SendClientMessage(playerid,COLOR_GREY,"Du musst Level 3 sein um dir ein Fahrzeug kaufen zu können!");
    return RemovePlayerFromVehicle(playerid);
    }
    printf("Model: %d", GetVehicleModel(vehicleid));
    printf("Name: %s", VehicleName[GetVehicleModel(vehicleid)-400]);
    printf("Preis: %d", AutohausVehicle[i][AhPreis]);
    format(string,sizeof(string),"Möchten Sie das Fahrzeug: {FF8200} %s\n{FFFFFF}Für {FF8200} %d$ {FFFFFF}kaufen?",VehicleName[GetVehicleModel(vehicleid)-400],AutohausVehicle[i][AhPreis]);
    printf("string: %s", string);
    ShowPlayerDialog(playerid,DIALOG_AUTOHAUS_KAUF,DIALOG_STYLE_MSGBOX,"{FF8200}Autohaus{FFFFFF}",string,"Kaufen","Abbruch");
    printf("Angezeigt.");
    return true;
    }
    }
    printf("Ende");
    }


    Was steht dann im Log, wenn du in ein solches Fahrzeug einsteigst?

  • Also, bei dem ersten Auto im Enum (Wo es geht):



    [15:56:00] Spieler 0 in Fahrzeug
    [15:56:00] i: 0 | vehicleid: 1 | ShowCars: 1
    [15:56:00] Level: 72
    [15:56:00] Model: 496
    [15:56:00] Name: Blista Compact
    [15:56:00] Preis: 4600
    [15:56:00] string: Möchten Sie das Fahrzeug: {FF8200} Blista Compact
    {FFFFFF}Für {FF8200} 4600$ {FFFFFF}kaufen?
    [15:56:00] Angezeigt.


    ==========================================================================


    Bei dem 2. (...) Auto im Enum wo es gehen sollte:



    [15:56:24] Spieler 0 in Fahrzeug
    [15:56:24] i: 0 | vehicleid: 2 | ShowCars: 1
    [15:56:24] i: 1 | vehicleid: 2 | ShowCars: 2
    [15:56:24] Level: 72
    [15:56:24] Model: 542
    [15:56:24] Name: Clover
    [15:56:24] Preis: 7500
    [15:56:24] string: Möchten Sie das Fahrzeug: {FF8200} Clover
    {FFFFFF}Für {FF8200} 7500$ {FFFFFF}kaufen?
    [15:56:24] Angezeigt.


    ==========================================================================


    Bei dem VOR-letzten Auto im Enum wo es nicht gehen sollte:




    [15:58:09] Spieler 0 in Fahrzeug
    [15:58:09] i: 0 | vehicleid: 29 | ShowCars: 1
    [15:58:09] i: 1 | vehicleid: 29 | ShowCars: 2
    [15:58:09] i: 2 | vehicleid: 29 | ShowCars: 3
    [15:58:09] i: 3 | vehicleid: 29 | ShowCars: 4
    [15:58:09] i: 4 | vehicleid: 29 | ShowCars: 5
    [15:58:09] i: 5 | vehicleid: 29 | ShowCars: 6
    [15:58:09] i: 6 | vehicleid: 29 | ShowCars: 7
    [15:58:09] i: 7 | vehicleid: 29 | ShowCars: 8
    [15:58:09] i: 8 | vehicleid: 29 | ShowCars: 9
    [15:58:09] i: 9 | vehicleid: 29 | ShowCars: 10
    [15:58:09] i: 10 | vehicleid: 29 | ShowCars: 11
    [15:58:09] i: 11 | vehicleid: 29 | ShowCars: 12
    [15:58:09] i: 12 | vehicleid: 29 | ShowCars: 13
    [15:58:09] i: 13 | vehicleid: 29 | ShowCars: 14
    [15:58:09] i: 14 | vehicleid: 29 | ShowCars: 15
    [15:58:09] i: 15 | vehicleid: 29 | ShowCars: 16
    [15:58:09] i: 16 | vehicleid: 29 | ShowCars: 17
    [15:58:09] i: 17 | vehicleid: 29 | ShowCars: 18
    [15:58:09] i: 18 | vehicleid: 29 | ShowCars: 19
    [15:58:09] i: 19 | vehicleid: 29 | ShowCars: 20
    [15:58:09] i: 20 | vehicleid: 29 | ShowCars: 21
    [15:58:09] i: 21 | vehicleid: 29 | ShowCars: 22
    [15:58:09] i: 22 | vehicleid: 29 | ShowCars: 23
    [15:58:09] i: 23 | vehicleid: 29 | ShowCars: 24
    [15:58:09] i: 24 | vehicleid: 29 | ShowCars: 25
    [15:58:09] i: 25 | vehicleid: 29 | ShowCars: 26
    [15:58:09] i: 26 | vehicleid: 29 | ShowCars: 27
    [15:58:09] i: 27 | vehicleid: 29 | ShowCars: 28
    [15:58:09] i: 28 | vehicleid: 29 | ShowCars: 29
    [15:58:09] Level: 72
    [15:58:09] Model: 511
    [15:58:09] Name: Beagle
    [15:58:09] Preis: 500000
    [15:58:09] string: Möchten Sie das Fahrzeug: {FF8200} Beagle
    {FFFFFF}Für {FF8200} 500000$ {FFFFFF}kaufen?
    [15:58:09] Angezeigt.



    ((Info)) Es geht aufeinmal. Aber ich habe daran nichts verändert.
    Ich habe den Server bestimmt 10x neugestartet um den Fehler wieder hervorzurufen aber nichts, es geht aufeinmal. Aber dass kann ja nicht die Fehlerlösung sein.

  • Schließen wir erst mal das Buch, wir hoffen alle das es dieser kleine Fehler war der mich so lange beschäftigt hat.
    Sollte das der Fehler gewesen sein, bedanke ich mich wie immer recht hertzlich für deine Hilfe, wenn nicht dann folgt ein neuer Beitrag, wir wollen das beste hoffen :thumbup: