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
  • Ich zeig euch, wie ihr in euren Server ein Tutorial einbauen könnt.
    Ihr braucht erst mal pTut , pSex , pOrigin
    enum pInfo
    {
    ...
    pTut,
    pOrigin,
    pSex,
    ....
    };


    Da ich leider ein MySQL Server habe, müsst ihr bei euren Server noch bei /register und OnPlayerUpdate, dies einführen.
    Man muss erst abfragen, ob der Tutorial gemacht wurde oder nicht.


    Also macht jetzt unter public OnPlayerSpawn(playerid) folgendes:
    SetPlayerSpawn(playerid);


    Diese Funktion braucht aber ein Forward, hier ist er:
    forward SetPlayerSpawn(playerid); - dieser kommt zu den anderen Forwards.


    Das fügt ihr noch oben im Script ein:
    new RegistrationStep[MAX_PLAYERS];
    new TutTime[MAX_PLAYERS];


    Jetzt ganz unten im Script fügt ihr folgendes ein:
    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pTut] == 0)
    {
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen auf Servername! Wir brauchen noch von dir paar Daten:");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Bist du ein <Mann> oder eine <Frau> ?");
    }
    }
    }


    TogglePlayerControllable(playerid, 0); // Der Spieler wird gefreezed
    RegistrationStep[playerid] = 1; // Die Variable RegistrationStep wird auf 1 gesetzt.
    SetPlayerSpawn(playerid) // Die Funktion
    if(IsPlayerConnected(playerid)) // Prüft ob der Spieler überhaupt Online ist
    if(PlayerInfo[playerid][pTut] == 0) // Prüft ob der Spieler schon das Tutorial gemacht hat
    Wenn alles stimmt, dann sendet er die zwei Nachrichten.


    Ja, aber jetzt kommt doch das Tutorial oder? - Nein
    Erst kommt die Bestimmung, ob es ein Mann oder eine Frau ist und woher diese Person ist.


    Jetzt kommt unter public OnPlayerText(playerid, text[]) folgendes:
    {
    new tmp[256];
    if(RegistrationStep[playerid] > 0)
    {
    if(RegistrationStep[playerid] == 1)
    {
    new idx;
    tmp = strtok(text, idx);
    if((strcmp("Mann", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Mann")))
    {
    PlayerInfo[playerid][pSex] = 1;
    SendClientMessage(playerid, COLOR_YELLOW2, "Wie ich sehe bist du ein Mann. Kannst du noch diese Frage beantworten:");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Woher kommst du? ( USA / Europe / Asia )");
    RegistrationStep[playerid] = 3;
    return 0;
    }
    else if((strcmp("Frau", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Frau")))
    {
    PlayerInfo[playerid][pSex] = 2;
    SendClientMessage(playerid, COLOR_YELLOW2, "Wie ich sehe bist du eine Frau. Kannst du noch diese Frage beantworten:");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Woher kommst du? ( USA / Europe / Asia )");
    RegistrationStep[playerid] = 3;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Bist du ein Mann oder eine Frau ?");
    }
    return 0;
    }
    else if(RegistrationStep[playerid] == 3)
    {
    new idx;
    tmp = strtok(text, idx);
    if((strcmp("USA", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("USA")))
    {
    PlayerInfo[playerid][pOrigin] = 1;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist aus den USA.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Danke fürs Ausfüllen! Nun Startet ein Kurzes Tutorial");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    return 0;
    }
    else if((strcmp("Europe", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Europe")))
    {
    PlayerInfo[playerid][pOrigin] = 2;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist aus Europa.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Danke fürs Ausfüllen! Nun Startet ein Kurzes Tutorial");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    return 0;
    }
    else if((strcmp("Asia", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("Asia")))
    {
    PlayerInfo[playerid][pOrigin] = 3;
    SendClientMessage(playerid, COLOR_YELLOW2, "Ok, du bist aus Asien.");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Danke fürs Ausfüllen! Nun Startet ein Kurzes Tutorial");
    RegistrationStep[playerid] = 0;
    TutTime[playerid] = 1;
    return 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Woher kommst du? ( USA / Europe / Asia )");
    }
    return 0;
    }
    return 0;
    }
    return 1;
    }
    Hier wird abgefragt ob RegistrationsStep auf über 0 ist und dann prüft es ob die Variable den Wert 1 hat.
    Wenn man Mann oder Frau eingegeben hat, wird die Var auf 3 gestellt. ( Dabei wird pSex eingestellt. )
    Dannach wird abgefragt, ob die Var den Wert 3 hat, wenn ja muss das Herstammungsort gennant werden.
    Wenn alles stimmt so wird RegistrationsStep auf 0 gesetzt und TutTime auf den Wert 1 gesetzt. ( Dabei wird pOrigin eingestellt )


    Für die nächste Funktion muss sich das ganze wiederholen, also brauchen wir ein Timer:
    SetTimer("Tutorial",1000,1); // Die 1000 entsprechen 1 Sekunde
    Und noch ein Forward für den Timer:
    forward Tutorial();


    Jetzt kommt man zur der Funktion, so sieht sie aus:


    Das war Teil 1, der nächste Teil ist im nächsten Post.

  • public Tutorial()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(TutTime[i] >= 1)
    {
    TutTime[i] += 1;
    if(TutTime[i] == 3)
    {
    SendClientMessage(i, COLOR_YELLOW, "|____ Tutorial: Text ____|");
    }
    if(TutTime[i] == 4)
    {
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    SendClientMessage(i, COLOR_YELLOW2, "Text (Dauer: Zeit:Zeit)");
    }
    else if(TutTime[i] == 19)
    {
    SendClientMessage(i, COLOR_YELLOW, "|____ Tutorial: Text____|");
    }
    else if(TutTime[i] == 20)
    {
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    }
    else if(TutTime[i] == 30)
    {
    SendClientMessage(i, COLOR_YELLOW, "|____ Tutorial: Ende ____|");
    }
    else if(TutTime[i] == 31)
    {
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    SendClientMessage(i, COLOR_YELLOW2, "Text");
    PlayerInfo[i][pTut] = 1;
    TogglePlayerControllable(i, 1);
    TutTime[i] = 0;
    }
    }
    }
    }
    }


    public Tutorial() // Ruft die Funktion auf
    if(IsPlayerConnected(i)) // Prüft ob der Spieler Online ist
    if(TutTime >= 1)// Prüft ob TutTime den Wert 1 oder höher hat
    TutTime += 1;// Zu TutTime wird 1 dazuaddiert
    if(TutTime == 3)// Wenn TutTime den Wert 3 hat ( oder Zeit, weil der Timer jede Sekunde +1 macht - also nach 3 Sekunden )


    Tutorial © Bullet

    2 Mal editiert, zuletzt von d30af26d ()

  • Du laberst!


    Das ist entweder aus dem GF kopiert, oder ihr seid solche GF freaks, ( /enter eingeber^^ /tanken Tanker ^^ =)


    das ihr das GF TuT, welches JEDER hasst, nachgemacht habt, was sau dumm is^^

    Boah mein Gott selbst wenn er es aus dem GF hat ist es doch egal, seit doch froh das er sowas zur Verfügung stellt !


    Ich denke mal du bist nur zu dumm zum Scripten, nicht er :thumbdown:

  • man sollte sich freuen über haupt hilfe zu bekommen ! ! ! nicht jamern aahhh das is ein kopiertes tut bää es is gf sei froh das es einer macht glaubst du du köntest hier helfen ... nein weil du nicht besser kannst als er also sei zufrieden das hier überhaut wer sich anstrengt und sowas macht !!! so jetzt zur sache hmm von mir bekommst du 7/10

  • bei mir kommen errors


    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : error 017: undefined symbol "PlayerInfo"
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : warning 215: expression has no effect
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : error 001: expected token: ";", but found "]"
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : error 029: invalid expression, assumed zero
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    public SetPlayerSpawn(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pTut] == 0)
    {
    TogglePlayerControllable(playerid, 0);
    RegistrationStep[playerid] = 1;
    SendClientMessage(playerid, COLOR_YELLOW, "Willkommen auf Servername! Wir brauchen noch von dir paar Daten:");
    SendClientMessage(playerid, COLOR_LIGHTRED, "Bist du ein <Mann> oder eine <Frau> ?");
    }
    }
    }


    das sind die zeilen, wäre nett wenn ihr mir helfen könntet

  • hab ich gemacht und jetzt sind immer noch 4 errors da aber der eine error hat sich geändert:


    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo"
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : warning 215: expression has no effect
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : error 001: expected token: ";", but found "]"
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : error 029: invalid expression, assumed zero
    C:\Users\Busse\Desktop\Kevin\Pawno-Server\Reallife\Samp Server\gamemodes\Reallife.pwn(213) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Array FTW!


    enum datensatz
    {
    blubb,
    bool:büpp,
    }


    new Variable[datensatz];


    verwendung : Variable[blubb] = 0;
    >>>>>>>>>>> Variable[blüpp] = true;


    Sollte nur mal nen Beispiel seinen bzw. nen Crash Kurs in Sachen Arrays bzw. Index Variable + Daten Bezeichner

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen