Werbung/Tutorial per Befehl starten

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 möchte euch in diesen tutorial zeigen wie man eine Werbung, Tutorials oder wie auch immer Per Befehl Starten kann.
    Erstmal eins vor weg "Script by Templer" Dan wollen wir mal anfangen :)


    Ganz oben beim GM (direkt unter #define) Kommt folgenes hin:
    new gWerbungCount[MAX_PLAYERS];
    new gWerbungTimer[MAX_PLAYERS];



    Direkt darunter machen wir dies hin:
    forward Werbung(playerid);




    Nun suchen wir OnPlayerConnect(playerid) und Fügen Folgenes ein:
    ACHTUNG: Bei Loginsystem zwischen rein fügen:
    gWerbungCount[playerid] = 0:


    Wen nicht Sollte da Folgenes stehen:
    {
    gWerbungCount[playerid] = 0:
    return 1;
    }




    Jetzt suchen wir public OnPlayerDisconnect(playerid) Und fügen Folgenes ein:
    HINWEIS: Wie oben auch hier:
    Wen login:
    if(gWerbungCount[playerid] != 0) KillTimer(gWerbungTimer[playerid]);


    Wen nicht
    {
    if(gWerbungCount[playerid] != 0) KillTimer(gWerbungTimer[playerid]);
    }



    Gehen wir weiter zu public OnPlayerCommandText(playerid, cmdtext[]) DAs fügen wir folgenes ein:
    {
    if(!strcmp(cmdtext, "/text", false))
    {
    if(!IsPlayerConnected(playerid)) return 1;
    if(gWerbungCount[playerid] != 0) return SendClientMessage(playerid, 0xFFFFFF00, "Du siehst dir gerade den Text an!");
    gWerbungCount[playerid] = 1;
    gWerbungTimer[playerid] = SetTimerEx("Werbung", 1000, 1, "d", playerid); //Jede Sekunde erscheint ein neuer Text!
    return 1;
    }
    return 0;
    }




    Dies fügen wir am Besten GANNNZZZZZ weit unten am GM hinzu:
    public Werbung(playerid)
    {
    switch(gWerbungCount[playerid])
    {
    case 1: //Text #1
    {
    //Deine Texte für Spieler
    SendClientMessage(playerid, 0xFFFFFF00, "Text #2");
    }
    case 2: //Text#2
    {
    //Deine Texte für Spieler
    SendClientMessage(playerid, 0xFFFFFF00, "Text #2");
    }
    case 3: //Text#3
    {
    //Deine Texte für Spieler
    SendClientMessage(playerid, 0xFFFFFF00, "Text #3");
    }
    //Wenn du mehr Texte einfügen willst, dann einfach weiterzählen, also:
    // case 4:
    // case 5:
    // case 6:
    // case 7:
    // usw...
    default: //Letzer Text
    {
    gWerbungCount[playerid] = 0; //Setzt Wert wieder auf 0 und es wird kein Text mehr angezeigt...
    //Dein letzter Text für den Spieler
    SendClientMessage(playerid, 0xFFFFFF00, "Letzter Text...");
    KillTimer(gWerbungTimer[playerid]);
    }
    }
    gWerbungCount[playerid]++; //Zählt eins rauf
    }



    Nun Könnten wir das ganze einmal durch /text [id] Sogesagt jemand das zeigen/Sagen:
    Da zu müsst ihr folgenes machen sucht public OnPlayerCommandText(playerid, cmdtext[]) und Löscht:
    {
    if(!strcmp(cmdtext, "/text", false))
    {
    if(!IsPlayerConnected(playerid)) return 1;
    if(gWerbungCount[playerid] != 0) return SendClientMessage(playerid, 0xFFFFFF00, "Du siehst dir gerade den Text an!");
    gWerbungCount[playerid] = 1;
    gWerbungTimer[playerid] = SetTimerEx("Werbung", 1000, 1, "d", playerid); //Jede Sekunde erscheint ein neuer Text!
    return 1;
    }
    return 0;
    }



    Wen ihr das Gemacht habt, wird folgenes eingefügt:
    dcmd_text(playerid, params[])
    {
    if(!IsPlayerConnected(playerid)) return 1;
    new zielid, string[128];
    if(sscanf(params, "u", zielid)) return SendClientMessage(playerid, 0xFFFFFF00, "VERWENDUNG: /gebet [Spieler ID/Name]");
    if(!IsPlayerConnected(zielid)) return SendClientMessage(playerid, 0xFFFFFF00, "Ungültige SpielerID!");
    if(gWerbungCount[zielid] != 0) return SendClientMessage(playerid, 0xFFFFFF00, "Spieler liest bereits Text!");
    gWerbungCount[zielid] = 1;
    gWerbungTimer[zielid] = SetTimerEx("Werbung", 1000, 1, "d", zielid); //Jede Sekunde erscheint ein neuer Text!
    format(string, sizeof(string), "Du zeigst den Text für SpielerID %d!", zielid);
    return SendClientMessage(playerid, 0xFFFFFF00, "Start");
    }


    Sollte irgenwas mit undefined dcmd Stehen Über den New bla bla.... Das einfügen
    #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    Fertig


    Ich hoffe es könnte euch helfen oder Nützlich sein :)


    MfG
    DerOdin

    Einmal editiert, zuletzt von DerOdin ()

  • 8D Har mal wieder irgenwie schlechte laune und lässt die an mir aus und Bann micht...
    Weil ein freund heute kurz mit sein account über mein internet drin war.


    Obwoll 2 Pro Haushalt erlaubt sind


    Sebihunter zitat:

    Zitat

    [...] Es sind max. 2 Account pro IP/Haushalt gestartet[...]

    In mein account "DerOdin" Ist das drin bzw. Als PN

    Einmal editiert, zuletzt von Dragash ()