SetObjectMaterialText - passiert nichts.

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
  • if(strcmp(cmd, "/schildwerbung", true) == 0 || strcmp(cmd, "/sb", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pLevel] >= 2)
    {
    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_GREY, "Benutzung: /sb [Text]");
    return 1;
    }
    if ((!adds))
    {
    format(string, sizeof(string), "Man kann nur alle 10 Minuten eine Werbung schreiben!", (addtimer/100));
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    new payout = idx * 10;
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* Du hast %d Buchstaben benutzt. Das kostet $%d. Du hast nicht genug Geld dabei!", offset, payout);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    GivePlayerMoney(playerid, - payout);
    new myobject = CreateDynamicObject(1980, 1200.69, -915.71, 49.14, 0.00, 0.00, 98.00);
    SetObjectMaterialText(myobject,"Test und so", 0, OBJECT_MATERIAL_SIZE_256x128,\
    "Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
    format(string, sizeof(string), "~r~Abzug $%d~n~~w~Nachricht hat: %d Buchstaben erreicht", payout, idx);
    GameTextForPlayer(playerid, string, 5000, 5);
    SetTimer("AddsOn", addtimer, 0);
    adds = 0;
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREY,"Du musst Level 3 sein, um eine Werbung schreiben zu können!");
    }
    }
    return 1;
    }


    Ich hab' jetzt aus meinem /advertise Befehl alles kopiert und versucht das mit dem SetObjectMaterialText zu machen.
    Wie schaff ich das, dass jetzt das auf dem Objekt steht, was auch geschrieben wurde?
    Ich komm' da nicht weiter^^

  • Danke erstmals.


    Wäre das mit dem "result" so richtig?
    SetObjectMaterialText(myobject,result, 0, OBJECT_MATERIAL_SIZE_256x128,\
    "Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);


    Edit: Jetzt klappt's, aber sieht so aus - es wiederholt sich. Wie krieg ich das weg?


    Einmal editiert, zuletzt von Quetai ()

  • nee ich habe ja schon Alles Erstellt Es Funkktioniert auch alles nur wenn ich zumbeispiel Schreibe /werbung Fraktion blablabla Sucht member Bw Im Forum
    dann ist es Alles auf einer Zeile und dann Verbuggt der Text das heißt ich muss in die Nächste zeile \n und ~n~ Funktioniert nicht gibts eine Andere MEthode

  • Anzahl der Buchstaben auslesen und notfalls mit ein paar leerzeichen auffüllen ;)


    edit und was genau geht nicht beim Zeilenumbruch?

    nanosMalte


    Zitat

    Zitat von Goldkiller




    Obwohl MiniYoda das Wörtchen "Dynamisch" in der Deutschen SA-MP szene mit durchaus fatalen Folgen verbreitete, so hat er dennoch bewiesen, dass er das Handwerk PAWN hervorragend beherrscht. Er gehört definitiv zu den kompetentesten Scriptern die man bei SA-MP.DE finden kann.

  • Ach Miniyoda Wenn du mir Schon hier Helfst kannst mir ja In Skype Helfen.
    PS: ich bin Mr.iKiNG
    Ich habe In Game Schon Probier /werbung Hallo \n Test Einzugeben Funktioniert auch aller dings Bleibt alles In Einer Zeile Wie kann ich das Fixen das er in die Nächste zile Geht

    Einmal editiert, zuletzt von Mr.iBuzziN ()