Werbungssystem

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
  • Danke an Bubelbub funktioniert Perfekt :love:


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

    Einmal editiert, zuletzt von DreamLife ()

  • Ändere mal das public in:


    public Werbung()
    {
    if(adtimer <= 60)
    {
    adtimer --;
    }
    else if(adtimer < 0)
    {
    adtimer = 0;
    }
    return 1;
    }


    Aber was genau funzt denn nicht ? ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Also man kann /ad schreiben es kommt die abfrage vom lvl und ob man gemutet ist, aber Der Timer failt oder so also Man kann so offt spamen wie man will und Geld wird auch nicht abgezogen... ;(


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • keiner ne Ide?


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Mehr Informationen als "Also der timer Funktioniert nicht oder so MAn kann soviel Werbung machen wei man will..." ?
    Welche Nachricht wird dir denn immer ausgegeben bei /advertise ?
    Übrigens änderst du bei /advertise niemals den Wert von adtimer.Heisst also,er bleibt unverändert und somit auch bei 0 falls vorher keine Fehlermeldung kommt. Sollte die Werbung erfolgreich angenommen werden,solltest du dann also "adtimer = X;" setzen.

  • Mehr Informationen als "Also der timer Funktioniert nicht oder so MAn kann soviel Werbung machen wei man will..." ?
    Welche Nachricht wird dir denn immer ausgegeben bei /advertise ?
    Übrigens änderst du bei /advertise niemals den Wert von adtimer.Heisst also,er bleibt unverändert und somit auch bei 0 falls vorher keine Fehlermeldung kommt. Sollte die Werbung erfolgreich angenommen werden,solltest du dann also "adtimer = X;" setzen.

    Ja Ich kann /ad /advertise machen Also die Werbung wird gesendet aber ICh kann es Ohne Pause machen also Permanent /ad Xxxxxx


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Das kein Geld abgezogen wird liegt daran, dass Du sie auch nicht abziehst. Da ich nicht weiß, wie das Geld bei dir definiert ist, kann ich Dir das nicht sagen.
    Kann ja auch schlecht funktioniere. Ich mein wenn Du den Timer auch immer in den negativen Bereich zählen lässt.
    Wie lange soll den keine "/ad" geschrieben werden können?

  • Das kein Geld abgezogen wird liegt daran, dass Du sie auch nicht abziehst. Da ich nicht weiß, wie das Geld bei dir definiert ist, kann ich Dir das nicht sagen.
    Kann ja auch schlecht funktioniere. Ich mein wenn Du den Timer auch immer in den negativen Bereich zählen lässt.
    Wie lange soll den keine "/ad" geschrieben werden können?

    60 Sec Lang also 1 minute


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Hast du eigentlich meinen Post zuende gelesen ?

    [...]
    Übrigens änderst du bei /advertise niemals den Wert von adtimer.Heisst also,er bleibt unverändert und somit auch bei 0 falls vorher keine Fehlermeldung kommt. Sollte die Werbung erfolgreich angenommen werden,solltest du dann also "adtimer = X;" setzen.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hast du eigentlich meinen Post zuende gelesen ?

    Ja hab den Timer eingefügt aber hat nicht Wirklich Funktioniert...


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Ich hab meinen so aber wenn du sowas nutzt musst du es auch dafür anpassen....


    new AdToggleTime;
    dcmd_ad(playerid,params[])
    {
    if(AdToggleTime>0)
    {
    new string[128];
    format(string, sizeof(string), "Bitte warte %d Sekunden bis zur nächsten Werbung!", AdToggleTime);
    SendClientMessage(playerid, cGrey, string);
    return 0;
    }
    new playerto[120];
    if(sscanf(params,"s",playerto))
    {
    SendClientMessage(playerid,cRed,"/ad [text]");
    return 1;
    }
    new sendstr[128];
    if(GetPlayerMoney(playerid)<biz2[9][bEnter])
    {
    format(sendstr,sizeof sendstr,"Du hast nicht genug Geld (%d$)",biz2[9][bEnter]);
    SendClientMessage(playerid,cRed,sendstr);
    return 1;
    }
    if(biz2[9][bProds]<1)return SendClientMessage(playerid,cRed,"Wir haben keine Prods mehr");
    GivePlayerMoney(playerid,-biz2[9][bEnter]);
    biz2[9][bKasse]+=biz2[9][bEnter];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    format(sendstr,sizeof sendstr,"Werbung: %s | Kontakt: %s, Tel: %d",playerto,name,SpielerInfo[playerid][pNummer]);
    SendClientMessageToAll(cAd,sendstr);
    biz2[9][bProds]--;
    bizicon2(9);
    KasseOn+=biz2[9][bEnter];
    dini_IntSet("staat.ini","KasseOn",KasseOn);
    AdToggleTime=30;
    SetTimer("AdToggle",1000, 1);
    return 1;
    }


    forward AdToggle();
    public AdToggle()
    {
    AdToggleTime--;
    if(AdToggleTime==0)KillTimer(AdToggle());
    return 1;
    }


    So klappt das wunderbar

  • Ja Ich hab halt am ende Den Timer nicht gehabt....


    Jetzt hab Ich
    SetTimer("Werbung", 60000, 1);
    adtimer=60;


    aber Es Funktioniert man kann nur alle 60 sec Werbung machen Naja Da steht halt Werbung nur alle 60 sec Möglich auch wens nurnoch 1 Sec ist :huh:


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Mach das mal so


    AdToggleTime=30;//Sagt 30 Sekunden pause
    SetTimer("AdToggle",1000, 1); //zieht jede sekunde einen ab
    return 1;
    }


    forward AdToggle();
    public AdToggle()
    {
    AdToggleTime--;//-- Is eig klar
    if(AdToggleTime==0)KillTimer(AdToggle()); //wenn der wert auf 0 ist dann gibt er den Frei
    return 1;
    }


    Verwendung im Command:


    if(AdToggleTime>0)//fragt ab ob er über 0 ist
    {
    new string[128];
    format(string, sizeof(string), "Bitte warte %d Sekunden bis zur nächsten Werbung!", AdToggleTime);//hier sagt er wie viele Sekunden noch
    SendClientMessage(playerid, cGrey, string);
    return 0;
    }

  • 60000 ms ( 60 Sekunden -> 1Min , SetTimer() ) * 60 Aufrufe bis wieder neue Werbung erlaubt ist, sind 60 Minuten.

    Was Lol Ich check nix was du damit meinst


    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !


  • Mach das mal dann is dein Vorhaben schonmal weiter

  • Du hast den Timer auf 60000ms gestellt.60000ms sind 60 Sekunden,60 Sekunden sind 1 Minuten.
    Du machst "adtimer=60;"
    Pro aufruf des Timers wird adtimer - 1 gerechnet. Heisst also der Timer muss die Funktion 60 mal aufrufen,bis adtimer gleich 0 ist.
    1 Minute * 60 ist 60 Minuten. So vielleicht ?


  • Viel Spaß.

    Spoiler anzeigen
    new adtimer;

    Spoiler anzeigen
    if(!strcmp(cmd, "/advertise", true) || !strcmp(cmd, "/ad", true))
    {
    if(IsPlayerConnected(playerid))
    {
    if(Spieler[playerid][Level] < 2)
    return SendClientMessage(playerid, COLOR_GRAD2, "Du brauchst Level 2 oder höher um Werbung machen zu können.");
    if(Spieler[playerid][Muted] == 1)
    return SendClientMessage(playerid, COLOR_LIGHTRED, "Du bist gemutet.");
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    idx++;
    new offset = idx,
    result[128],
    string[128];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    return SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: /(ad)vertise [Werbung]");
    if(Spieler[playerid][Admin] < 1 && adtimer >= gettime())
    {
    format(string, sizeof(string), "Bitte warte noch %i Sekunden für die Nächste Werbung!", adtimer-gettime());
    return SendClientMessage(playerid, COLOR_GRAD2, string);
    }
    new payout = idx * 250;
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* Zeichen [%d] Preis [$%d] - Besorge den Preis und es wird Werbung geschaltet!", offset, payout);
    return SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), "Werbung: %s, %s (Ph: %d)", result, SpielerName(playerid), Spieler[playerid][Nummer]);
    SendClientMessageToAll(COLOR_AD_GREEN, string);
    printf("Werbung von %s: %s", SpielerName(playerid), result);
    format(string, sizeof(string), "* Zeichen [%d] Preis [$%d] - Werbung erfolgreich abgesendet.", offset, payout);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    adtimer = gettime() + 60; // 60 = Sekunden!
    }
    return 1;
    }


    Da verstehe ich gar nicht, warum man den armen Server mit Timern belasten möchte :|
    Der kann da doch auch nichts für ;(

    Miete mich (nicht) :love:

  • Du hättest dann zumindest auch noch "Werbung()" bearbeiten müssen.


    "Werbung" existiert nicht in meinem Script :thumbup:


    gettime() == Unix Timestamp.


    So jetzt habe ich den von Anfang an auf 0 (Server Start).
    Jetzt macht jemand Werbung, jetzige Zeit ist nicht größer als 0.
    D.h. ich kann Werbung machen.


    Werbungszeit wird auf jetzt + 60 Sekunden gesetzt.


    Mache ich wieder Werbung, ist der adtimer ja in der Zukunft (größer als gettime()).
    Also kann ich keine machen.


    Nachdem die jetzt Zeit wieder höher ist (automatisch nach 60 Sekunden) kann ich Werbung machen.



    Wieso ist das also falsch :evil:



    //Goldkiller: Jep,hast völlig recht. Nicht gesehen das du noch folgene Zeile abgeändert hattest: (Bubelbub: )
    if(Spieler[playerid][Admin] < 1 && adtimer >= gettime())

    Miete mich (nicht) :love:

    2 Mal editiert, zuletzt von Bubelbub ()

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