Problem mit alle möglichen Befehle!

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
  • Hei. ich weiß die Überschrift hört sich schlimmer an als es wirklihc ist xD, aber ich hab ein großes Problem was alle Befehle betrifft :cursing: :cursing: :cursing:


    und zwa wenn ich im Pawno bei:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(strget(cmdtext,0),"/ahelp",true, 11) == 0)


    {
    ..........


    }


    if(strcmp(strget(cmdtext, 0),"/a", true, 2) == 0)
    {
    ........
    }


    if(strcmp(strget(cmdtext, 0),"/ac", true, 3) == 0)
    {
    ......
    }


    zb die 3 Befele hab (adminhelp, adminchat und Admin spricht zu alle!) kommt aber immer wenn ich iergendein Befehl mit /a eingib der /a Befehl d.h es kommt immer der adminchat
    egal ob ich /adfadfasdf asdfasdfasdf oder /a Test oder /allowwhisper 0 es kommt immer nur der Admin Chat....



    Wieso?? :cursing: :cursing: :cursing: Bitte helft mir und das schnell ;)


    MfG

  • das ist auch ein grund warum dcmd / zcmd / ocmd etc genutzt wird da diese problem nicht auftauchen wie bei strcmp


    es überprüft in einem befehl wenn /a drinne ist so ist also /apfel quasi "das selbe" da /a vorhanden ist was da hinter ist wird dabei "nicht direkt" beachtet...


    Edit: zcmd o. Ä. ist die lösung darfür :P

  • ver such mal soif(strcmp(strget(cmdtext,0),"/ahelp",true) == 0)


    {
    ..........


    }


    if(strcmp(cmdtext,"/a",true,2) == 0)
    {
    ........
    }


    if(strcmp(cmdtext,"/ac ",true,3) == 0)
    {
    ......
    }

  • Als Info noch,


    Der Fehler liegt nicht in strcmp, sondern darin wie du strcmp benutzt, du sagst ihm er soll nur bis zu 2 zeichen vergleichen, mehr macht er dann auch nicht, warum sollte er auch weitere Befehle vergleichen?



    if(strcmp(cmdtext,"/ahelp") == 0)
    {
    ..........
    }
    if(strcmp(cmdtext,"/a") == 0)
    {
    ........
    }
    if(strcmp(cmdtext,"/ac") == 0)
    {
    ......
    }

    Tut es schon...
    //Edit
    Ach und strget war unnötig ;) aber das hat der Vor-Vorposter ja auch erkannt