Befehl in OnPlayerText

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,
    könnte mir einer diesen Befehl so in OnPlayerText reinmachen, dass es auch funzt, weil bei mir kommt immer "Freakynight: " in lila, wie es sein soll, aber ohne text, und nochmal "Freakynight: [text]" in weiß


    Hier der Befehl:

    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(Supported[playerid],0xFF00A5FF,string);
    SendClientMessage(playerid,0xFF00A5FF,string);
    return 1;
    }


    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • Deine Version :


    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(Supported[playerid],0xFF00A5FF,string);
    SendClientMessage(playerid,0xFF00A5FF,string);
    return 1; //<------- FALSCH !!!!!
    }



    Meine Version :


    dcmd_sup(playerid,params[])
    {
    if(SuppAktiv[playerid] == 0){return SendClientMessage(playerid, COLOR_RED,"Kein Support ist offen!");}
    new string[128], Text[128], Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, sizeof(Name));
    if(sscanf(params,"s",Text)){return SendClientMessage(playerid, COLOR_RED,"Info: /sup [Text]");}
    format(string, sizeof(string),"%s: %s",Name,Text);
    SendClientMessage(Supported[playerid],0xFF00A5FF,string);
    SendClientMessage(playerid,0xFF00A5FF,string);
    return 0; // <------- Richtig !!!!
    }


  • aber mit return 1; funktioniert es auch? Ich möchte das mir jemand den Befehl so umwandelt das es bei OnPlayerText funktioniert, sonst wäre das hier nicht der "Scriptwünsche"-Bereich :D

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

  • Also ich versuche es dir mal zu erklären.


    Wenn du bei OnPlayerText das return auf 1 setzt. Dann wird eine globale Nachricht in der Farbe des Spielers mit nur dem besagten Text an alle Spieler geschickt. Und dazu kommt noch die Nachricht die du eigentlich möchtest.


    Wenn du das return auf 0 setzt. Wird die globale Nachricht deaktiviert und es kommt nur deine Nachricht.


    Deswegen musst du in der letzten Zeile deines Befehles dein return auf 0 setzen.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • Wieso ist dein Befehl eigentlich im OnPlayerText Bereich? Ich kenne mich zwar mit DCMD nicht gut aus, ist aber sicher ähnlich dem OCMD. Aber das sollte man außerhalb OnPlayerTexts schreiben.


    Schneide den Befehl mal aus OnPlayerText hinaus und füge ihn außerhalb einer public Methode ein. Dann probiers.


    Return sollte dann auf 1 sein.

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg

  • nein nein nein...



    mein Befehl ist einfach i-wo im script, wo normalerweise meine dcmd's drin sind.
    In diesen Thread geht es um:


    ich habe ein /sup befehl. Den möchte ich aber so umwandeln das ich es in OnPlayerText reinmachen kann. D.h. nicht mehr /sup [text] machen muss, sondern einfach schreiben und gut is :)


    //EDIT

    __________________________________________


    Scripter & Programmierer im Ruhestand

    Derzeitiges Projekt:
    __________________________________________

    2 Mal editiert, zuletzt von [LoG]Freakynight ()