Tutorial System

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
  • Hallo ich werde bei meinem tutorial jede sekunde wieder auf mein tut point geportet aber die texte die kommen sollen kommen einfach nicht



    public SekundenTimer(playerid)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][Tutorial] >= 1)
    {
    new TutTime[MAX_PLAYERS];
    TutTime[i] += 1;
    SetPlayerPos(i,1829.560547, -1145.678955, 23.156071);
    SetPlayerFacingAngle(i, 0);
    if(TutTime[i] == 4)
    {


    return 1;
    }
    else if(TutTime[i] == 8)
    {


    return 1;
    }
    else if(TutTime[i] == 12)
    {


    return 1;
    }
    else if(TutTime[i] == 16)
    {


    return 1;
    }
    else if(TutTime[i] == 20)
    {


    return 1;
    }
    else if(TutTime[i] == 22)
    {


    return 1;
    }


    }
    }
    return 1;
    }


    da habe ich die texte jetzt nur mal wegen dem forum raus genommen weil da würde sonst nur test stehen blos das zeigt er einfach nicht an

  • Du solltest einen globale Variable erstellen, um die Zeit hochzuzählen. SetPlayerPos solltest du nicht innerhalb der Schleife machen, da es ja ausreicht EINMALIG die Position zu setzen, nicht jede Sekunde erneut.
    Bsp.: Dein Tutorial startet beim Befehl /tutorial. Dann setze bei diesen Befehl die Position/Angle usw. und die Variable pTutorial auf 1. Das gleiche geht auch, wenn dus beim Login willst oder bei jedem Spawn...
    // Ganz oben
    new
    pTutorial[MAX_PLAYERS];

    // OnPlayerConnect


    pTutorial[playerid] = 0;

    // In deinen Sekundentimer

    for(new i = 0; i < GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(pTutorial[i] > 0)
    {
    switch(pTutorial[playerid])
    {
    case 5:
    {
    //Nachricht nach 5 Sekunden
    }
    case 20:
    {
    //Nachricht nach 20 Sekunden
    }
    case 40:
    {
    //Ende nach 40 Sekunden
    pTutorial[i] = 0;
    }
    }
    }
    }
    }


    // zum Starten vom Tutorial


    // Hier dann deine SetPlayerPos usw.
    pTutorial[playerid] = 1;


    // zum Beenden vom Tutorial


    pTutorial[playerid] = 0;