Problem mit Message

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
  • Also ich habe ein Command gemacht, das die Chatbox cleart.
    Klappt auch nur wollte ich noch machen das man einen Grund angeben kann, bloß bin ich absoluter neuling
    So sieht mein Script aus:
    if(!strcmp(strget(cmdtext, 0), "/clear")) {
    if(Spieler[playerid][Admin] >=2)
    {
    new pName[MAX_PLAYER_NAME];
    new string[72];
    new grund = strval(strget(cmdtext, 1));
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "%s hat die ChatBox geleert! Grund: %s", pName, grund);
    SendClientMessageToAll(COLOR_RED, string);
    }
    else SendClientMessage(playerid,COLOR_WHITE,"Du bist kein Administrator!");
    return 1;
    }



    Der Name wird auch ausgegeben, aber der Grund irgendwie nicht.
    Kann mir vielleicht einer da helfen?


    Danke im vorraus,
    Ben

  • new grund = strval(strget(cmdtext, 1));
    Hier erstellst du eine Integer Varibale.
    Aber ich gehe mal davon aus, dass der Grund ein String sein soll.
    Also strval weg und String erstellen.
    ==>
    new grund[30];
    format(grund, sizeof grund, strget(cmdtext, 1));


    Rest einfach übernehmen.

  • ahh ok
    also das klappt bloß habe ich jetzt noch ein problem, dass indirekt hiermit zutun hat, weil es auch um masseges geht.
    wollte halt nicht noch extra neues thema aufmachen:

    if(!strcmp(strget(cmdtext, 0), "/o"))
    {
    if(ooc == 1)
    {
    new pName[MAX_PLAYER_NAME];
    new string[72];
    new text[100];
    format(text, sizeof text, strget(cmdtext, 1));
    format(string, sizeof(string), "((%s: %s))", pName, text);
    SendClientMessageToAll(COLOR_WHITE, string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der OOC-Chat ist deaktiviert.");
    }
    return 1;
    }

    hier kommt zwar der richtige text, dafür aber dann kein name xD
    sry wenn ich mit meinen problemen nerve, nur bin halt anfänger


  • //
    if(!strcmp(strget(cmdtext, 0), "/o"))
    {
    if(ooc == 1)
    {
    new pName[MAX_PLAYER_NAME];
    new string[72];
    new text[100];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(text, sizeof text, strget(cmdtext, 1));
    format(string, sizeof(string), "((%s: %s))", pName, text);
    SendClientMessageToAll(COLOR_WHITE, string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der OOC-Chat ist deaktiviert.");
    }
    return 1;
    }

  • öhh sry aber was hast du dadran jetzt geändert? erkenne auf dem ersten blick nur das einrücken


    edit: achso ne jetzt seh ich's das getplayername xD
    dachte das reicht wenn nur das pname da ist xD
    kannst den post hier löschen

  • ahh ok
    aber hab jetzt doch noch ein problem das ich nur durch zufall herausgefunden habe.
    habe vorher nur mit einem wort getestet
    aber wenn man mehrere schreibt geht das nicht
    kann das vielleicht daran liegen, dass es dann als neuer parameter erkannt wird, das zweite wort?
    wenn ja, wie mach ich dann das das nicht so ist

  • Also ich habe etwas gefunden, was schon etwas mehr funktioniert^^:

    if(!strcmp(strget(cmdtext, 0), "/o"))
    {
    if(ooc == 1)
    {
    new pName[MAX_PLAYER_NAME];
    new string[72];
    new text[100];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(string, sizeof(string), "((%s: %s))", pName, cmdtext[5]);
    SendClientMessageToAll(COLOR_WHITE, string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Der OOC-Chat ist deaktiviert.");
    }
    return 1;
    }


    Ich habe keine Ahnung, warum aber es werden jetzt mehrere Wörter ausgegeben, aber die ersten 2 Zeichen des Textes werden irgendwie verschluckt
    Also bei /o Hallo, wie gehts
    kommt dann
    ((Name: llo, wie gehts))
    Also vielleicht so als Ansatz, nur wie ich das Ha dann noch darein bekomme weiß ich nicht, habs in nem anderen Forum gefunden. Vielleicht hat ja jemand anderes eine Idee wie das gehen soll^^