Textdraw /ad Hilfe

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
  • Guten Morgen,


    ich würde gerne eine Bildschirmanzeige haben.


    Die ist derzeit schwarz am unterem Bildschirmrand. Auf diesem soll ein Text stehen aber NUR wenn jemand /ad Werbetext eingibt und dann soll folgendes erscheinen :


    Werbung : [Suche] Haus am Strand ab Level 4 Name : Spielername : Handynummer : 12345



    so soll das aussehen.



    Meine Frage ist jetzt, wie kann ich machen das wenn jemand den /ad Befehl eingibt, das es unten erscheint und nach einigen Sekunden dann wieder weg geht oder so lange bleibt bis der nächste schreibt.




    Bisher habe ich folgendes


    new Text:Bildschirmanzeige3;



    public OnGameModeInit(


    Bildschirmanzeige3 = TextDrawCreate(167.000000, 432.000000, "Hier ist dann Platz fuer eine Anzeige zum Beispiel Werbung oder News");
    TextDrawBackgroundColor(Bildschirmanzeige3, 255);
    TextDrawFont(Bildschirmanzeige3, 1);
    TextDrawLetterSize(Bildschirmanzeige3, 0.300000, 1.000000);
    TextDrawColor(Bildschirmanzeige3, 16711935);
    TextDrawSetOutline(Bildschirmanzeige3, 0);
    TextDrawSetProportional(Bildschirmanzeige3, 1);
    TextDrawSetShadow(Bildschirmanzeige3, 1);



    public OnGameModeExit()


    TextDrawHideForAll(Bildschirmanzeige3);
    TextDrawDestroy(Bildschirmanzeige3);





    public OnPlayerConnect(playerid)


    TextDrawShowForPlayer(playerid, Bildschirmanzeige3);

  • Du erstellst ein Timer.
    forward Ende(playerid);
    //irgentwo SetTimer("Ende",Du kannst hier den Interger setzen ,z.B 5000 für 5 Sekunden,1//wie viel mal es repeatet);
    public Ende(playerid)
    {
    TextDrawDestroy(playerid,Deine Textdraw ID);


    }
    Das mit den Befehl kannst du es auch selber machen ,ich hoffe du kannst das ;)
    Habe gerade keine Lust ;)

  • Vergess nicht SetTimerEx zu nutzen.
    Sonst wird das nicht Funktionieren.

  • poste doch den /ad befehl

    Scripts die ich besitze :


    BDC
    YSL/SoL
    LARP 3.1 toll editiert.
    Your second reallife editiert
    Fusion
    Loh 0.4
    Selfmade Stunt [nur zum verkauf]
    Dark Triagond
    German Fun Reallife
    Real German Roleplay
    German Roleplay 3.6 [habe ich vom RGR script aufgebaut nur besser ;D]
    LoH 0.7
    LoH 1.0
    Dark Traigond Selfmade

  • Das wäre der /ad Befehl.


    Jetzt weiss ich nicht wie ich den Textdraw mit dem /ad Befehl verbinden kann, so das es unten am Bildschirmrand auf dem schwarzen Hintergrund in der Mitte angezeigt wird.


    Der Textdraw ist bereits vorhanden.



    if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "USAGE: (/ad)vertise [advert text]");
    return 1;
    }
    if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
    {
    format(string, sizeof(string), " Please try again later %d seconds between Advertisements !", (addtimer/1000));
    SendClientMessage(playerid, COLOR_GRAD2, string);
    return 1;


    }
    new payout = idx * 25;
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* You used %d characters which cost $%d, you don't have enough.", offset, payout);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    GivePlayerMoney(playerid, - payout);
    SBizzInfo[7][sbTill] += payout;
    ExtortionSBiz(7, payout);
    format(string, sizeof(string), "Advertisement: %s, Contact: %s Ph: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
    OOCNews(TEAM_GROVE_COLOR,string);
    format(string, sizeof(string), "~r~Paid $%d~n~~w~Message contained: %d Characters", payout, idx);
    GameTextForPlayer(playerid, string, 5000, 5);
    if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
    }
    return 1;
    }


    Kann jemand helfen ?

    Einmal editiert, zuletzt von cHaOsFaTz ()

  • Ich kann deine Frage nicht beurteilen!
    Beschreib mal was du haben willst ,verstehe deine Frage garnicht!
    Wenn du dein Textdraw verschieben möchtest ,musst du beliebige Koordinaten benutzen oO

  • er will es so haben.


    einer macht /ad zb Joe sucht WD nummer undso halt
    dann soll noch unten rechts oder da wo der textdraw halt ist der gleiche text wieder erscheinen nur noma als textdraw in den timer halt

    Scripts die ich besitze :


    BDC
    YSL/SoL
    LARP 3.1 toll editiert.
    Your second reallife editiert
    Fusion
    Loh 0.4
    Selfmade Stunt [nur zum verkauf]
    Dark Triagond
    German Fun Reallife
    Real German Roleplay
    German Roleplay 3.6 [habe ich vom RGR script aufgebaut nur besser ;D]
    LoH 0.7
    LoH 1.0
    Dark Traigond Selfmade

  • also glaube es wie du es aufbauen musst weiss es aber ne wenn errors kommen sende mir .


    guck create den textdraw aber ohne inhalt.
    dann bei onplayerconnect textdrawhideforplayer
    dann musst du den textdraw im /ad befehl wieder herstellen und mit nem string vo letzten AD ablesen lassen.
    dann halt danach den timer rein.


    Ich weiss es net zu 100 prozent ich habe jz ma so geraten
    wnn es ein anderen scripter richtig weiss dann postet es

    Scripts die ich besitze :


    BDC
    YSL/SoL
    LARP 3.1 toll editiert.
    Your second reallife editiert
    Fusion
    Loh 0.4
    Selfmade Stunt [nur zum verkauf]
    Dark Triagond
    German Fun Reallife
    Real German Roleplay
    German Roleplay 3.6 [habe ich vom RGR script aufgebaut nur besser ;D]
    LoH 0.7
    LoH 1.0
    Dark Traigond Selfmade