Hilfe beim Tutorialsystem

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 erstmal.
    Ich hatte vor ein Tutorialsystem für die Spieler zu schreiben.
    Doch ich komme dort nicht weiter.
    Er führt den ersten Tutorial-Schritt aus, doch beim 2ten hört er einfach auf.
    Hier mal ein Screen davon und der dazu gehörige Code:



    __________________________________________________________________________________



    [C++] Tutorialsystem-Code


    Folgendes hab ich vergessen im Pastebin einzugtragen:


    C
    new Tutorial[MAX_PLAYERS];


    __________________________________________________________________________________


    Mit freundlichen Grüßen
    Oskar.Schindler




    <3 Rest In Peace - Chester Bennington - 20.07.2017 <3

  • naja beim Timer die ja dann "OnPlayerTutorial" aufrufst fragst du ja zuerst ab ob es Tutorial[playerid] = 1 ist. aber du stellst es ja bei case 1 auf Tutorial[playerid] = 2. dann ist ja theoretisch klar, das er dann die Switch Funktion nicht mehr aufruft.. oder?

    Mit freundlichen Grüßen,
    Dachdecker

  • naja beim Timer die ja dann "OnPlayerTutorial" aufrufst fragst du ja zuerst ab ob es Tutorial[playerid] = 1 ist. aber du stellst es ja bei case 1 auf Tutorial[playerid] = 2. dann ist ja theoretisch klar, das er dann die Switch Funktion nicht mehr aufruft.. oder?

    Also muss ich das beim Case 0 "Tutorial[playerid] = 1" zu "Tutorial[playerid] = 2" ändern?




    <3 Rest In Peace - Chester Bennington - 20.07.2017 <3

  • nimm die abfrage vor dem Switch mal raus und versuch es dann

    Jetzt funktionert es, danke schonmal. :D
    Wie konnte ich daraus jetzt ein Tutorial mit Checkpoints machen anstatt von Kamerafahrten die stink öde sind?


    Mit freundlichen Grüßen
    Oskar.Schindler




    <3 Rest In Peace - Chester Bennington - 20.07.2017 <3

  • du machst beispielsweise bei Schritt eins einen Checkpoint zur Stadthalle. TutorialCheckpoint[playerid][1] == SetPlayerCheckpoint();
    Du nimmst dann die 15 sekunden Timer raus und lässt ihn dann zum Checkpoint fahren. Wenn er den Checkpoint erreicht (OnPlayerEnterCheckpoint) dann zeigst du ihm Schritt 2 und dann geht es immer so weiter.


    P.S bei OnPlayerEnterCheckpoint musst du dann auch abfragen, ob er im Fahrzeug ist.. könnte sonst eventuell zu Buggs kommen

    Mit freundlichen Grüßen,
    Dachdecker

  • du machst beispielsweise bei Schritt eins einen Checkpoint zur Stadthalle. TutorialCheckpoint[playerid][1] == SetPlayerCheckpoint();
    Du nimmst dann die 15 sekunden Timer raus und lässt ihn dann zum Checkpoint fahren. Wenn er den Checkpoint erreicht (OnPlayerEnterCheckpoint) dann zeigst du ihm Schritt 2 und dann geht es immer so weiter.


    P.S bei OnPlayerEnterCheckpoint musst du dann auch abfragen, ob er im Fahrzeug ist.. könnte sonst eventuell zu Buggs kommen

    Er erstellt bei mir den Checkpoint nicht, woran kann das liegen?
    Code:


    C
    new Tutorial[MAX_PLAYERS], TutorialCheckpoint[MAX_PLAYERS];


    C
    public OnPlayerSpawn(playerid)
    {
    	if(PlayerInfo[playerid][pNeuling] == 0)
    	{
    	    SetTimerEx("OnPlayerTutorial", 15000, false, "i", playerid);
    	    Tutorial[playerid] = 1;
    	    SendClientMessage(playerid, COLOR_GREEN, "{FF8200}[Servername]{00D40A} In 15 Sekunden wird dir der Start-Checkpoint zum Tutorial erstellt.");
    	}
    	return 1;
    }


    Mit freundlichen Grüßen
    Oskar.Schindler




    <3 Rest In Peace - Chester Bennington - 20.07.2017 <3

  • Du solltest einen Array noch an die Checkpoint Variable machn also new TutorialCheckpoint[MAX_PLAYERS ][Anzahl der Checkpoints];


    Du fragst dann, bei OnPlayerEnterCheckpoint ab oder er TutorialCheckpoint[playerid][1] betreten hat, und dann machst du nen Timer wo er dann wieder die Switch Funktion aufruft. Vorher stellst du aber die Variable Tutorial[playerid] ein höher.

    Mit freundlichen Grüßen,
    Dachdecker