Wieso habe Ich Fehler?

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 Abend!
    Es geht um Dialoge.
    Mein Ziel:
    Wenn Ich den einen Dialog abgeschlossen habe wird eine neu definierte Variabel ein hochgesetzt. Ein Timer kontroliert das Script und merkt wenn die bestimmte Variabel hoch gesetzt wurde und zweigt den nächsten Dialog an.
    Meine Variabel:
    new Tutorial[MAX_PLAYERS];


    Meine Dialoge:
    #define DIALOG_TUTORIAL1 3#define DIALOG_TUTORIAL2 4#define DIALOG_TUTORIAL3 5


    Mein Timer:
    forward TutorialTimer();


    Bei OneGameModeInit
    SetTimer("TutorialTimer",5000,true);



    So dann habe Ich einen neuen public erstellt:
    public TutorialTimer()
    {
    if(Tutorial[playerid]==1)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL1,DIALOG_STYLE_MSGBOX,"Tutorial - Frage 1","Text bzw. Frage","kick","weiter");
    }
    if(Tutorial[playerid]==2)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Tutorial - Frage 2","Text bzw. Frage","weiter","kick");
    }
    if(Tutorial[playerid]==3)
    {
    ShowPlayerDialog(playerid,DIALOG_TUTORIAL3,DIALOG_STYLE_MSGBOX,"Tutorial - Frage 2","Text bzw. Frage","weiter","kick");
    }
    return 1;
    }
    Zum Schluss noch bei OnDialogResponse:
    [pwn]if(dialogid==DIALOG_TUTORIAL1)
    {
    if(Tutorial[playerid]==1)
    {
    if(response==1)
    {
    SendClientMessage(playerid,ROT,"Falsche Antwort!");
    Kick(playerid);
    }
    if(response==0)
    {
    SendClientMessage(playerid,WEIß,"Richtig! Ab zur nächsten Frage.");
    Tutorial[playerid]=2;
    }
    }
    }
    if(dialogid==DIALOG_TUTORIAL2)
    {
    if(Tutorial[playerid]==2)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Richtig Ab zur nächsten Frage.!");
    Tutorial[playerid]=3;
    }
    if(response==1)
    {
    SendClientMessage(playerid,WEIß,"Falsche Antwort!");
    Kick(playerid);

    }
    }



    }
    if(dialogid==DIALOG_TUTORIAL3)
    {
    if(Tutorial[playerid]==3)
    {
    if(response==0)
    {
    SendClientMessage(playerid,ROT,"Richtig Ab zur nächsten Frage.!");
    Tutorial[playerid]=0;
    }
    if(response==1)
    {
    SendClientMessage(playerid,WEIß,"Falsche Antwort!");
    Kick(playerid);


    }
    }



    Meine Errors:
    C:\Users\hp\Desktop\GL\gamemodes\GermanLounge.pwn(185) : error 017: undefined symbol "playerid"C:\Users\hp\Desktop\GL\gamemodes\GermanLounge.pwn(187) : error 017: undefined symbol "playerid"C:\Users\hp\Desktop\GL\gamemodes\GermanLounge.pwn(189) : error 017: undefined symbol "playerid"C:\Users\hp\Desktop\GL\gamemodes\GermanLounge.pwn(191) : error 017: undefined symbol "playerid"C:\Users\hp\Desktop\GL\gamemodes\GermanLounge.pwn(193) : error 017: undefined symbol "playerid"C:\Users\hp\Desktop\GL\gamemodes\GermanLounge.pwn(195) : error 017: undefined symbol "playerid"Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    6 Errors.


    Wieso erkennt er jetzt Playerid nicht? Und was muss Ich tun um meinen fehler zu beheben?


    Liebe Grüße !

    3 Mal editiert, zuletzt von JJ.Redick ()

  • habs mir eben nochmal angeschaut das war ein scheiß was ich geschrieben habe :)



    forward TutorialTimer();


    public TutorialTimer()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Tutorial[i]==1)
    {
    ShowPlayerDialog(i,DIALOG_TUTORIAL1,DIALOG_STYLE_MSGBOX,"Tutorial - Frage 1","Text bzw. Frage","kick","weiter");
    }
    if(Tutorial[i]==2)
    {
    ShowPlayerDialog(i,DIALOG_TUTORIAL2,DIALOG_STYLE_MSGBOX,"Tutorial - Frage 2","Text bzw. Frage","weiter","kick");
    }
    if(Tutorial[i]==3)
    {
    ShowPlayerDialog(i,DIALOG_TUTORIAL3,DIALOG_STYLE_MSGBOX,"Tutorial - Frage 2","Text bzw. Frage","weiter","kick");
    }
    }
    return 1;
    }



    so ist es richtig