OOC Chat Problem

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 Leute,


    ich habe eben so ein Standart OOC System geschrieben, jedoch habe ich folgendes Problem:
    Immer wenn ich "/o BlaBliBlub" mache kommt einfach nur:


    [Globaler Chat] Danger34:


    jedoch fehlt das BlaBliBlub...


    und wenn ich nur /o mache ohne einen Text, dann erscheint für jeden Spieler eine leere Zeile im Chat.


    Ich hoffe mich kann jemand helfen :)
    Wäre sehr dankbar :)



    if(ooc == 0)
    {
    SendClientMessage(playerid,Admin,"Der Globaler Chat ist deaktiviert!");
    }
    if(ooc == 1)
    {
    new text[128];
    new string[128];
    GetPlayerName(playerid,OOC,sizeof(OOC));
    if(sscanf(params,"s",text))
    format(string,sizeof(text),"[Globaler-Chat] %s: %s",OOC,text);
    SendClientMessageToAll(Gelb,string);
    }


  • if(ooc == 0)
    {
    SendClientMessage(playerid,Admin,"Der Globaler Chat ist deaktiviert!");
    }
    if(ooc == 1)
    {
    new text[128];
    new string[128];
    GetPlayerName(playerid,OOC,sizeof(OOC));
    if(sscanf(params,"s",text))
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",OOC,text);
    SendClientMessageToAll(Gelb,string);
    }



    versuche es mal so.


    wenns net klappt einfach nochmal melden^^


    MFG
    xDNGRSx

  • @EckoUnLTD.MMA
    Leider noch immer das selbe Problem :(



    Ja das ganze ist unter OnPlayerCommand:



    command(o, playerid, params[])
    {
    if(ooc == 0)
    {
    SendClientMessage(playerid,Admin,"Der Globaler Chat ist deaktiviert!");
    }
    if(ooc == 1)
    {
    new text[128];
    new string[128];
    GetPlayerName(playerid,OOC,sizeof(OOC));
    if(sscanf(params,"s",text))
    format(string,sizeof(string),"[Globaler-Chat] %s: %s",OOC,text);
    SendClientMessageToAll(Gelb,string);
    }
    return 1;
    }


    Wie sollte es denn deiner Meinung nach richtig sein future? :)

  • Dummerweise habe ich mich verschrieben, aber das richtige gemeint.


    Ich erkläre es dir:


    Deine Funktion gehört in folgende public-Funktion:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    ...
    }

    In deiner Funktion ersetzt du dann den String text einfach durch cmdtext.

  • Nein, da fehlt sscanf.


    new text[128];if(sscanf(params,"s",text))return SendClientMessage(playerid,HELLROT,"ERROR: {FFFFFF}/ooc [text]");


    EDIT: Du kannst mit sscanf arbeiten musst aber nicht, ich empfehle es dir

    Mit freundlichen Grüßen,



    Zurzeit befindet sich der Server leider noch in einer gewissen Aufbauphase,da das Script noch nicht

    ganz unseren Vorstellungen entspricht.

  • ocmd:ooc(playerid,params[])
    {
    new text[100],string[200];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFF0000,"/ooc[text]");
    if(ooc == 1)
    {
    format(string, sizeof(string), "[Globaler-Chat] %s: %s",Spielername(playerid),text);
    SendClientMessageToAll(WEIS,string);
    }
    else if(ooc == 0)
    {
    SendClientMessage(playerid,ROT,"Der Globaler Caht ist deaktiviert!");
    }
    return 1;
    }


    probiers ma so habs aber noch net getestet



    MFG
    xDNGRSx


    //edit


    der geht habs probiert^^


    da is Spielername stock


    stock Spielername(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }

  • Ist euch klar, dass eure blödsinnigen Beiträge nicht helfen?


    Ihr postet eure Commands, die alle ein anderes System verwenden.
    Wie wäre es auf sein System einzugehen und ihn zu helfen?


    Außerdem habe ich ihm die Antwort bereits mitgeteilt.


    Wenn sich hier nicht jeder wie der erste Mensch anstellen würde, wäre das Problem behoben.

  • Ich denke sscanf kann man trotzdem nehmen, wa? ;)

    Mit freundlichen Grüßen,



    Zurzeit befindet sich der Server leider noch in einer gewissen Aufbauphase,da das Script noch nicht

    ganz unseren Vorstellungen entspricht.

  • Habe es jetzt so versucht:



    command(o, playerid, params[])
    {
    if(ooc == 0)
    {
    SendClientMessage(playerid,Admin,"Der Globaler Chat ist deaktiviert!");
    }
    if(ooc == 1)
    {
    new text[128];
    new params[128];
    GetPlayerName(playerid,OOC,sizeof(OOC));
    if(sscanf(params,"s",text))
    format(params,sizeof(params),"[Globaler-Chat] %s: %s",OOC,text);
    SendClientMessageToAll(Gelb,params);
    }
    return 1;
    }


    Das Problem besteht jedoch noch immer :(

  • Wieso denn so schwer ... wenns auch anders geht


    und auf Probleme eingehen das machst du ja :P


    und die ooc die geht also is das Problem gelöst.



    MFG
    xDNGRSx



    Probiere mal das :


    ocmd:ooc(playerid,params[])//ist ocmd ^^
    {
    new text[100],string[200];
    if(sscanf(params,"s",text))return SendClientMessage(playerid,0xFF0000,"/ooc[text]");
    if(ooc == 1)
    {
    format(string, sizeof(string), "[Globaler-Chat] %s: %s",Spielername(playerid),text);
    SendClientMessageToAll(Gelb,string);
    }
    else if(ooc == 0)
    {
    SendClientMessage(playerid,Rot,"Der Globaler Chat ist deaktiviert!");
    }
    return 1;
    }

  • command(o, playerid, params[])
    {
    if(ooc)
    {
    new string[144],name[MAX_PLAYER_NAME];
    if(sscanf(params,"s",string))return SendClientMessage(playerid,0xFF0000,"/ooc[text]");
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(string, sizeof(string), "[Globaler-Chat] %s: %s",name,string);
    return SendClientMessageToAll(WEIS,string);
    }
    else return SendClientMessage(playerid,ROT,"Der Globaler Chat ist deaktiviert!");
    }
    Das sollte so funktionieren ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Wie unbegabt und unfähig seid ihr eigentlich alle?


    Ich habe euch die Lösung beschrieben, BlackAce hat sie geschrieben
    und ihr spammt immer noch sinnlose Beiträge, obwohl das Problem geklärt wurde?


    Mich wundert es, dass ihr überhaupt FREIHÄNDIG LAUFEN KÖNNT.
    So wie sich einige hier anstellen, sollte man wieder gewisse Strafen einführen...

  • Habe noch eine Frage :D


    Passt vllt nicht zum Thema aber ich habe keine lust einen neuen Thread aufzumachen.
    Kann man einen Server so nach der Worldtimer richten, das sie um 00:00 restarten?
    Mit timer könnte ich das auch aber geht das auch ohne?


    Danke an BlackAce und 4#Future, es funktioniert.

  • Durch ein externes Script wäre dies bsp. möglich.


    Einen von PHP ausgelösten Befehl um 12:00 an den Server
    zu versenden ist recht simpel und machbar.


    Nur dann bräuchtest du wieder einen Cronjob, der um 12 den PHP Befehl auslöst.

  • klar warum denn nicht?


    Musst dann halt nur den Restart mit einer Schleife verbinden + IsPlayerConnected.
    Wenn ein Spieler online ist, überspringst du das einfach :thumbup:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • hm mit PHP kenne ich mich leider nicht aus, dann muss ich den weg über die Timer gehen...
    das werde ich dann aber hinbekommen.


    Danke für die Zahlreichen Antworten.
    Bis zum nächsten mal.


    MFG
    Danger34


    //Erledigt

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen