Automatische Fahrschule

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


    Biste der Jason von GLR? ;)


    Nooja, falls nicht kannste das ignorieren aber falls ja helf ich euch mal obwohl ich banned bin...
    Kannst dich ja mal in ICQ bei mir melden Nummer sollte im Profil stehen^^


    Ist auch ungetestet, aber spuckt zumindest keine Errors beim compilen aus.



    Fangen wir mal an:


    Ganz oben im Script:


    forward schein2(p);
    forward schein3(p);
    forward schein4(p);


    new Fahrstunde[MAX_PLAYERS];
    new FSquiz[MAX_PLAYERS];
    new FSfehler[MAX_PLAYERS];


    OnPlayerCommandText:


    if (strcmp("/schein", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,COLOR,"Willkommen in der Fahrschule!");
    SendClientMessage(playerid,COLOR,"Dir werden jetzt ein paar Regeln erklärt.");
    SendClientMessage(playerid,COLOR,"Danach werden die Fragen über diese gestellt. Du darfst maximal 2 falsch haben!");
    SetTimerEx("schein2",10000,0,"d",playerid);
    Fahrstunde[playerid] = 1;
    return 1;
    }


    Irgentwo im Script:


    Also keinem Public am besten gaaanz unten.



    public schein2(p)
    {
    SendClientMessage(p,COLOR,"REGELN REGELN REGELN REGELN REGELN");
    SendClientMessage(p,COLOR,"REGELN REGELN REGELN REGELN REGELN");
    SendClientMessage(p,COLOR,"REGELN REGELN REGELN REGELN REGELN");
    SetTimerEx("schein3",10000,0,"d",p);
    }


    public schein3(p)
    {
    SendClientMessage(p,COLOR,"REGELN REGELN REGELN REGELN REGELN");
    SendClientMessage(p,COLOR,"REGELN REGELN REGELN REGELN REGELN");
    SendClientMessage(p,COLOR,"REGELN REGELN REGELN REGELN REGELN");
    SetTimerEx("schein4",10000,0,"d",p);
    }


    public schein4(p)
    {
    SendClientMessage(p,COLOR,"Frage: Wird die STVO eingehalten?");
    SendClientMessage(p,COLOR,"Antworte mit \"ja\" oder \"nein\"");
    FSquiz[p] = 1;
    }


    Und das hier in OnPlayerText:


    if(strcmp(text,"ja"))
    {
    if(FSquiz[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR,"RICHTIG! Nun zur nächsten Frage!");
    SendClientMessage(playerid,COLOR,"Frage: Werden Ampeln beachtet?");
    SendClientMessage(playerid,COLOR,"Antworte mit ja oder nein");
    FSquiz[playerid] = 2;
    }
    if(FSquiz[playerid] == 2)
    {
    SendClientMessage(playerid,COLOR,"FALSCH! Nun zur nächsten Frage!");
    SendClientMessage(playerid,COLOR,"Frage: Ist die Maximalgeschwindigkeit 70 km/h?");
    SendClientMessage(playerid,COLOR,"Antworte mit ja oder nein");
    FSfehler[playerid] += 1;
    FSquiz[playerid] = 3;
    }
    if(FSquiz[playerid] == 3)
    {
    new fehlerstring[128];
    format(fehlerstring,sizeof(fehlerstring),"Du hast %d Fehler!",FSfehler[playerid]);
    SendClientMessage(playerid,COLOR,"RICHTIG! Das war die letzte Frage!");
    SendClientMessage(playerid,COLOR,fehlerstring);
    if(FSfehler[playerid] >= 3)
    {
    SendClientMessage(playerid,COLOR,"Nicht bestanden!");
    }
    else
    {
    SendClientMessage(playerid,COLOR,"Bestanden!");
    // Hier Zeile zum Führerschein geben!
    }
    FSquiz[playerid] = 0;
    }
    }
    if(strcmp(text,"nein"))
    {
    if(FSquiz[playerid] == 1)
    {
    SendClientMessage(playerid,COLOR,"FALSCH! Nun zur nächsten Frage!");
    SendClientMessage(playerid,COLOR,"Frage: Werden Ampeln beachtet?");
    SendClientMessage(playerid,COLOR,"Antworte mit ja oder nein");
    FSfehler[playerid] += 1;
    FSquiz[playerid] = 2;
    }
    if(FSquiz[playerid] == 2)
    {
    SendClientMessage(playerid,COLOR,"RICHTIG! Nun zur nächsten Frage!");
    SendClientMessage(playerid,COLOR,"Frage: Ist die Maximalgeschwindigkeit 70 km/h?");
    SendClientMessage(playerid,COLOR,"Antworte mit ja oder nein");
    FSquiz[playerid] = 3;
    }
    if(FSquiz[playerid] == 3)
    {
    new fehlerstring[128];
    FSfehler[playerid] += 1;
    format(fehlerstring,sizeof(fehlerstring),"Du hast %d Fehler!",FSfehler[playerid]);
    SendClientMessage(playerid,COLOR,"FALSCH! Das war die letzte Frage!");
    SendClientMessage(playerid,COLOR,fehlerstring);
    if(FSfehler[playerid] >= 3)
    {
    SendClientMessage(playerid,COLOR,"Nicht bestanden!");
    }
    else
    {
    SendClientMessage(playerid,COLOR,"Bestanden!");
    // Hier Zeile zum Führerschein geben!
    }
    FSquiz[playerid] = 0;
    }
    }


    Ich habs eben auf die schnelle geschrieben. Ist nur der Theorieteil, hoffe das reicht mal. Wurde wie gesagt auch nicht getestet. Hoffe mir sind keine Flüchtigkeitsfehler unterlaufen ;)...


    //Edit: Iwie, ist die "Einrückung" verrutscht, musste dann halt ausbessern sollte aber kein Problem sein^^


    MfG Dave.

    Einmal editiert, zuletzt von DraloX ()