Problem mit ShowMenuForPlayer // ERLEDIGT

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
  • Moin,



    ich habe ein Problem mit dem Anzeigen von Dialogen mit "ShowMenuForPlayer".
    Also dieser Menü hier:


    ShowMenuForPlayer(FSAuto[0], playerid);


    Also FRAGE 1 wird ihm angezeigt, danach wenn er eines der Menü punkte angeklickt hat. Sollte ihn aber noch ein Menü angezeigt werden bezüglich der FRAGE 2, wird ihm aber nicht woran liegt es?


    Code:


    if(CurrentMenu == FSAuto[0])
    {
    switch(row)
    {
    case 0:
    {
    //Falsche Antwort
    FahrschulPunkte[playerid] -= 1;


    // FRAGE
    SendClientMessage(playerid,BLAU,"|====| FRAGE 2 |====|");
    ShowMenuForPlayer(FSAuto[1], playerid);
    return 1;
    }
    case 1:
    {
    //Falsche Antwort
    FahrschulPunkte[playerid] -= 1;
    FahrschulID[playerid] = 2;


    // FRAGE
    SendClientMessage(playerid,BLAU,"|====| FRAGE 2 |====|");
    ShowMenuForPlayer(FSAuto[1], playerid);
    return 1;
    }
    case 2:
    {
    //Richtige Antwort
    FahrschulPunkte[playerid] += 1;


    // FRAGE
    SendClientMessage(playerid,BLAU,"|====| FRAGE 2 |====|");
    ShowMenuForPlayer(FSAuto[1], playerid);
    return 1;
    }
    }
    }
    if(CurrentMenu == FSAuto[1])
    {
    switch(row)
    {
    case 0:
    {
    // Falsche Antwort
    FahrschulPunkte[playerid] -= 1;


    }
    case 1:
    {
    // Falsche Antwort
    FahrschulPunkte[playerid] -= 1;


    }


    case 2:
    {
    //Richtige Antwort
    FahrschulPunkte[playerid] += 1;



    }
    }
    }

    Einmal editiert, zuletzt von Equ ()

  • Wie die Nachricht im Chat ausgegeben, wenn du im ersten Menü etwas andrückst?
    Hast du das zweite Menü auch richtig erstellt?

    Danke für deine Antwort,


    Nein es wird keine Nachricht im Chat ausgegeben, wenn ich A, B oder C im Menü drücke.
    Ich schreibe gerade ein wenig dran rum. Der Code kann also jetzt etwas anders aussehen:



    Code:


    // Global iwo ganz oben.
    new Menu:FSAuto0, Menu:FSAuto1;


    // Unter OnGameModeInit

    // Fahrschule CreateMenu
    FSAuto0 = CreateMenu("Fragen",2,200.0,100.0,150.0,150.0);
    AddMenuItem(FSAuto0,0," A");
    AddMenuItem(FSAuto0,0," B");
    AddMenuItem(FSAuto0,0," C");

    FSAuto1 = CreateMenu("Fragen",2,200.0,100.0,150.0,150.0);
    AddMenuItem(FSAuto1,0,"A");
    AddMenuItem(FSAuto1,0,"B");
    AddMenuItem(FSAuto1,0,"C");


    // So sollte die Frage 2 eigentlich gestartet werden, geht aber nicht ..

    ShowMenuForPlayer(FSAuto0, playerid);

  • Füge vor (!) diese Zeile:
    if(CurrentMenu == FSAuto0)
    das hier ein:


    printf("CurrentMenu: %d / FSAuto0: %d / FSAuto1: %d / row: %d", _:CurrentMenu, _:FSAuto0, _:FSAuto1, row);


    Was wird geprintet?

    Der ruft noch nicht einmal irgendwie den public auf glaube ich 8|
    Also, bei mir wird in der Server.log oder Console nichts angezeigt. Nichts :huh:

  • Hast du den Code in einem GameMode?
    Wenn ja, hast du Filterscripts, die geladen sind?
    Wenn ja, prüfe diese, ob dort das public aufgerufen wird. Vielleicht hängt es sich ja in einem Filterscript auf, oder wird durch ein return beendet.

  • Hast du den Code in einem GameMode?
    Wenn ja, hast du Filterscripts, die geladen sind?
    Wenn ja, prüfe diese, ob dort das public aufgerufen wird. Vielleicht hängt es sich ja in einem Filterscript auf, oder wird durch ein return beendet.

    Nope, ich habe keine Filterscripts geladen.
    Habe die auch schon aus dem Ordner einfach mal entfernt, aber brachte auch nichts.
    Das mit dem Skin ändern ging eigentlich noch Vorgestern, aber nun auf einmal geht es gar nicht mehr ?( ..

  • Bekommst du diese "Header size:" Meldung im Compiler, wenn du kompilierst?

    Nope, überhaupt nicht.



    C:\Users\jresi_000\Desktop\ReaL\gamemodes\RLScript.pwn(9991) : warning 204: symbol is assigned a value that is never used: "GroveStreetSkin"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

  • Dann weiß ich nicht was es noch sein könnte.
    Hast du es schon mit einem leeren GameMode versucht, also praktisch einem komplett leeren Server/Script? Wenn es da geht, musst du wohl ein Backup (was du hoffentlich täglich machst) einfügen. Mir ist kein Fehler bekannt, dass ein Callback gar nicht aufgerufen wird. :S

  • Dann weiß ich nicht was es noch sein könnte.
    Hast du es schon mit einem leeren GameMode versucht, also praktisch einem komplett leeren Server/Script? Wenn es da geht, musst du wohl ein Backup (was du hoffentlich täglich machst) einfügen. Mir ist kein Fehler bekannt, dass ein Callback gar nicht aufgerufen wird. :S

    Wie geil ist denn das mal, wie schaffe ich es nur immer unmögliche dinge möglich werden zu lassen und das auch noch unbewusst :whistling:
    Ist doch zum Kotzen wenn man einen Fehler hat, es aber keine Richtige Fehlermeldung gibt :(


    Ich habe auch gar kein Backup erstellt gehabt, warum auch ..
    Habe jetzt mal ein neues GM Erstellt um zu gucken ob es da Geht und .. da geht es perfekt ...



    Hoffe es findet noch jemand eine evtll lösung zum Problem ..

  • Naja, du wirst es merken, wenn du das Menu ausführst und dann dein Log mit irgendwelchem Zeug (nennen wir es einfach mal so) zugemüllt wird.
    Das kannst du ja hier posten, falls was kommt und falls du damit nichts anfängst. Ich bezweifle aber, dass was kommt, aber man weiß ja nie. Ein Versuch ist es wert.

  • Naja, du wirst es merken, wenn du das Menu ausführst und dann dein Log mit irgendwelchem Zeug (nennen wir es einfach mal so) zugemüllt wird.
    Das kannst du ja hier posten, falls was kommt und falls du damit nichts anfängst. Ich bezweifle aber, dass was kommt, aber man weiß ja nie. Ein Versuch ist es wert.

    Jeffry, du hast nun die Offizielle Erlaubnis mich zu:




    Warum?


    Ich trottel hab statt die LEERTASTE die EINGABE Taste gedrückt X(
    Kann man das irgendwie so Regeln das man mit Eingabe das Menü nicht beenden kann? ^^ ..