Frage bzgl. strfind & Thread Suche ^^

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 habe eine Frage bzgl. strfind.
    Ich möchte einen /werbung befehl machen, welcher dann in einem Textdraw Angezeigt wird.
    Das ganze habe ich so:

    CMD:werbung(playerid, params[])
    {
    new entry[64], string[512];
    if(sscanf(params, "s[30]", entry))return SendClientMessage(playerid, COLOR_GREY, "* Benutze /werbung [Nachricht(max. 30 Zeichen)]");
    if(strfind(entry, "~", true) == 0)return SendClientMessage(playerid, COLOR_GREY, "Keine Spezialzeichen wie \"~\" etc!");
    if(WriteAD == 0)
    {
    if(GetPlayerMoney(playerid) < 500)return SendClientMessage(playerid, COLOR_GREY, "Das schalten einer Werbung kostet 500$!");
    GivePlayerCash(playerid, -500);
    format(string, sizeof(string), "~g~Werbung: ~w~%s, ~g~Name: ~w~%s, ~g~Nummer: ~w~%d", entry, GetName(playerid), Spieler[playerid][pHandyNr]);
    TextDrawSetString(Werbung, string);
    SendClientMessage(playerid, COLOR_WHITE, "Du hast die Werbung erfolgreich geschrieben. Es gibt nun eine 10 minütige Werbungs Sperre für Alle!");
    WriteAD = 600;
    }
    else
    {
    format(string, sizeof(string), "Du kannst noch keine Werbung schreiben, warte noch %d Sekunden.", WriteAD);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    return 1;
    }


    Wenn ich aber nun im Chat Tippe: /werbung TestTest~
    Dann kann ich trotzdem "~" benutzen, und der Server hängt sich dann auf, bzw. der Client.


    Dann habe ich noch eine andere Frage, undzwar hat die Tage jemand ein Thema oder Beitrag geschrieben mit irgendeinem MaxTank oder Tank-System wo er eine Funktion gepostet hat die irgendwie GetMaxCarTank oderso hieß, diese suche ich.


    Ich hoffe ihr könnt mir helfen, danke. ;D

  • Ja, und jetzt?
    Das hab ich doch da stehen... *epic facepalm*

    Peinlich.... Sry ich wollte es noch editieren XD


    if(strfind(entry, "~", true) != -1)return SendClientMessage(playerid, COLOR_GREY, "Keine Spezialzeichen wie \"~\" etc!");



    strfind returnt -1 wenn nichts gefunden wird. != 1 bedeutet es wurde gefunden. Sry war bisschen neben der Spur -.-

  • Danke, klappt wunderbar.
    Gibt es noch irgendwelche Sachen wodurch man einen Spieler crashen lassen könnte durch Textdraws? Also die ~ sind jetzt weg.


    PS:

    Zitat

    Dann habe ich noch eine andere Frage, undzwar hat die Tage jemand ein Thema oder Beitrag geschrieben mit irgendeinem MaxTank oder Tank-System wo er eine Funktion gepostet hat die irgendwie GetMaxCarTank oderso hieß, diese suche ich.


    Quote Mote :D

  • PHP
    Important Note: Maximum length of textdraw is 800 characters. Longer text will crash the client.


    PHP
    Important Note: If you use color codes (such as ~R~ ~G~) beyond 255th character the client will crash trying to display the textdraw.


    PHP
    Important Note: text[] must NOT be empty or the server will crash! If you need a textdraw that shows nothing, use " " (a space) or _ (underscore)


    Quelle: http://wiki.sa-mp.com/wiki/TextDrawCreate


    Sprich:



    -Das Textdraw darf nie nichts, nur leerzeichen oder nur unterstriche beinhalten.
    -Das Textdraw darf nicht länger als 800 Zeichen sein.
    -Das Textdraw darf keine Farbcodes hinter dem 255. Zeichen haben. (hast du ja ausgemerzt mit deiner Abfrage);