Beiträge von BlAckNighT.


    geht immer noch nicht.


    public


    public Werbung(playerid)
    {
    if(WerbungZeit == 60)
    {
    WerbungZeit --;
    }
    if(WerbungZeit == 0)
    {
    WerbungZeit = 0;
    }
    return 1;
    }



    So nun geht die Zahlung.


    Aber meine 60 Sekunden Timer werden nicht gezählt.


    Ich kann durchgehend Werbung schreiben anstadt nach jede Werbung 60 Sek warten.



    Code.


    CMD:werbung(playerid,params[])
    {
    if(!IsLoggedIn(playerid))return 1;
    if(Spieler[playerid][pTot] == 1)return SendClientMessage(playerid,COLOR_GREY,"Mann kann im Krankenhaus keine Werbung schreiben.");
    if(Spieler[playerid][pLevel] <= 3)return SendClientMessage(playerid, COLOR_GREY, "Du brauchst Level 3 oder höher um Werbung schreiben zu können.");
    new string[256],text[144];
    if(sscanf(params,"s[256]",text))return SendClientMessage(playerid,COLOR_GREY,"Benutze /werbung [Nachricht]");
    new payout = strlen(text) * 9;
    if(Spieler[playerid][pMoney] <= payout) {
    format(string, sizeof(string), "Du besitzt nicht genügend Geld (%d$), um die Werbung schalten zu können.",payout);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    if(WerbungZeit < 0) {
    format(string, sizeof(string), "Bitte warte noch %d Sekunden für die Nächste Werbung!", WerbungZeit);
    SendClientMessage(playerid, COLOR_GREY, string);
    SetPVarInt(playerid,"adtimer",1);
    WerbungZeit = 60;
    SetTimer("Werbung", 60000, 0);
    return 1;
    }
    else{
    GiveMoney(playerid,-payout);
    format(string, sizeof(string), "|Werbung| %s, Absender: %s, Handy(Nr.%d)",text,GetName(playerid),Spieler[playerid][pNumber]);
    SendClientMessageToAll(COLOR_GREEN, string);
    format(string, sizeof(string), "Werbung erfolgreich abgesendet.~n~Zahlung: ~r~-%d$",payout);
    GameTextForPlayer(playerid, string, 11000, 5);
    }
    return 1;
    }


    Auch sollte man eher die Funktion strlen() anstatt strval() verwenden, da du die Länge der Zeichenkette und nicht die konvertierte Version von string zu int haben willst.



    Jetzt kommt nichts mehr das Er mir Geld abzieht oder das er pro Buchstabe 7$ nimmt.

    Guten abend,


    Und zwar weiss ich nicht wie die Werbung schreiben soll, wovon ich auch keine ahnung habe wie ich dies mache.
    Ich möchte gerne pro Buchstabe was er schreib , 7$ kostest d.h. 10 Buchstaben = 70$.
    Ich hoffe es könnte mir jemand helfen.


    Code:


    CMD:werbung(playerid,params[])
    {
    if(!IsLoggedIn(playerid))return 1;
    if(Spieler[playerid][pTot] == 1)return SendClientMessage(playerid,COLOR_GREY,"Mann kann im Krankenhaus keine Werbung schreiben.");
    if(Spieler[playerid][pLevel] < 0)return SendClientMessage(playerid, COLOR_GREY, "Du brauchst Level 3 oder höher um Werbung schreiben zu können.");
    new string[256],text;
    if(sscanf(params,"s[256]",text))return SendClientMessage(playerid,COLOR_GREY,"Benutze /werbung [Nachricht]");
    new payout = text * 40;
    if(Spieler[playerid][pMoney] < payout)
    {
    format(string, sizeof(string), "Du besitzt nicht genügend Geld (%d$), um die Werbung schalten zu können.",payout);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    GiveMoney(playerid,-payout);
    format(string, sizeof(string), "|Werbung| %s, Absender: %s, Handy(Nr.%d)",text,GetName(playerid),Spieler[playerid][pNumber]);
    SendClientMessageToAll(COLOR_GREEN, string);
    return 1;
    }

    Guten Abend Com,


    Und zwar bekomme ich dies nicht hin das es von 0:00 bis 08:00Uhr die Registration geschlossen ist.
    Es wird jedes mal eingezeigt das ich mich Registrieren kana.


    Code:


    gettime(stunde);
    if(stunde < 00 || stunde > 08)
    {
    new string[140];
    strdel(DialogString, 0, sizeof(DialogString));
    format(string, sizeof(string), "Die Registration ist von 0:00 bis 08:00 Uhr geschlossen.\nFalls du bereits einen Account besitzt, kannst du dich dennoch einloggen.");
    strcat(DialogString, string);
    ShowPlayerDialog(playerid, DIALOG_ServerRestarting, DIALOG_STYLE_MSGBOX, "Registration geschlossen", DialogString, "Schließen", "");
    KickEx(playerid);
    }
    else{
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""SERVER_NAME" Register", "{FFFFFF}Willkommen auf "SERVER_NAME"\n\nEs wurde kein Account unter diesem Namen gefunden, gib dein Passwort niemals weiter.\nAuch nicht an Supporter, Du kannst dich nun Registrieren.\nBitte gib nun dein Passwort ein:", "Register", "Abbrechen");
    }


    Füg das mal unter OnGameModeIninit ein.



    gettime(hours, minutes, seconds);
    SetWorldTime(hours);



    Was funktioniert denn nicht so ganz ?
    Sag die Fehler bitte deutlicher.

    Wie du das machst hab ich dir so eben erklärt.
    Wenn du daraus nicht genug lernst, solltest du es wohl mit anderen Funktionen probieren.
    Und wenn du schon so kommst und sagst, du hast keine Lust mehr, dann wird das ganze auch nichts.
    SA-MP Server bestehen nicht aus "Ich mach jetzt ein Projekt, welches dann auch ohne Probleme fertig wird. Breadfish weiß eh alles, von daher wird das kein Problem für mich."


    (-:



    So habe es nun hinbekommen
    Aber es wird nur bei der Playerid 0 angezeigt bei 1,2,3,4 nicht.


    Code:


    forward WantedShow();
    public WantedShow()
    {
    for(new i=0; i<MAX_PLAYERS+1; i++)
    {
    if(Spieler[i][pWanteds] < 1)
    {
    new string[128];
    format(string,sizeof(string),"Gesuchter Täter\nWantedlevel: %d",Spieler[i][pWanteds]);
    WantedLabel[i] = Create3DTextLabel(string,COLOR_YELLOW,30.0,40.0,50.0,MAX_STREAM_NAME_DISTANCE,0,1);
    Attach3DTextLabelToPlayer(WantedLabel[i],i,0.0,0.0,-0.2);
    }
    else
    {
    Delete3DTextLabel(WantedLabel[i]);
    }
    }
    return 1;
    }



    Danke für deine Hilfe.
    Aber wie mach ich das nun ?
    Ich habe auf das System langsam keine lust mehr.
    Soviel ausprobiert und nichts ging.



    So, müsste eig.. jetzt klappen. Würde einer Testen kommen ? :3