Der Befehl "/alltext", geht nicht.

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 ein Problem mit meinen Befehl, und ich möchte endlich,
    das dieser mal funktioniert, wie ihr sicher mitbekommen habt, schreibe ich viele Themen, weil ich viele Bugs habe, die
    ich offensichtlich nicht alleine Beheben kann, wobei ich offensichtlich bei hilfe brauch. Ich weiss natürlich das
    es hier freiwillig ist Hilfe zu bekommen, deswegen möchte ich aber, das es nicht sinnlos gespammt wird, nur wenn ihr Konrete
    Hilfe habt. Vielleicht auchmal sagt, warum es nicht geht.


    Zum Befehl
    Wenn ich /alltext eingebe kommt.
    "/alltext [Text]", aber wenn ich einen Text eingebe, dann
    kommt da gar nichts. Ich weiss nicht woran das liegt.


    ocmd:alltext(playerid,params[])
    {
    if(GetPVarInt(playerid,"Adminlevel") >= 5)
    {
    new sendername[128],result[64],string[128];
    if(sscanf(params,"us",playerid,result))return SendClientMessage(playerid,grau,"Benutze: /alltext [Text]");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "~b~%s: ~w~%s", sendername, result);
    GameTextForAll(string,3500,6);
    }
    return 1;
    }

  • Der Fehler liegt hier:
    if(sscanf(params,"us",playerid,result))return SendClientMessage(playerid,grau,"Benutze: /alltext [Text]");
    Dort hast du stehen "us", das u steht für User und das s für String. Da du nur einen Parameter haben willst und dieser ein String ist, ist das u überflüssig.
    So sollte es funktionieren:
    ocmd:alltext(playerid,params[])
    {
    if(GetPVarInt(playerid,"Adminlevel") >= 5)
    {
    new sendername[128],result[64],string[128];
    if(sscanf(params,"s",playerid,result))return SendClientMessage(playerid,grau,"Benutze: /alltext [Text]");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "~b~%s: ~w~%s", sendername, result);
    GameTextForAll(string,3500,6);
    }
    return 1;
    }

    Windows ist wie ein U-Boot, öffnest du ein Fenster hast du ein Problem.


  • Da hast du aber ziemlich gefailt :D

    if(sscanf(params,"s",playerid,result))return SendClientMessage(playerid,grau,"Benutze: /alltext [Text]");

    zu

    if(sscanf(params,"s",result))return ....

  • Oh, ja stimmt. Das habe ich glatt übersehen. Das lösche ich das "u" raus und "playerid" lasse ich drinn. Naja passiert. :D

    Windows ist wie ein U-Boot, öffnest du ein Fenster hast du ein Problem.