Umfrage Befehlform Pawn

  • Da ist aber nirgendwo ZCMD bei.Das hat hier aber schon wer angemerkt.
    Du kannst dir ja auch meinen Test anschauen,
    http://forum.sa-mp.de/wbb/san-…-include-ocmd/#post445162


    Zitat

    auf meine frage zurück geht strcmp mit sscanf oder nur mit strtok


    Ja,ist nur etwas umständlich.


    Goldkillers Test war allerdings ocmd vs zcmd. Servertest's Grafik zeigt allerdings nur den Vergleich Dcmd, Scmd und Ocmd. D.h. es wurde nie behaupted dass es schneller als Zcmd sei.


    [hide]
    [Include] OCMD [/hide]


    Wer aber behauptet, die beste Methode entwickelt zu haben, soll das auch beweisen können und nicht einfach behaupten "Jup meins ist das beste.Schneller als DCMD & SCMD". Dabei kennt mit Sicherheit niemand im offiziellen SA:MP Forum SCMD und auch nur ein geringer Teil OCMD.
    Denn da nutzt man plane strcmp , dcmd oder ZCMD.


    Ich benutze OCMD, immerhin kenn ich ja Opa den Ersteller und habe den Support. Zudem ist es ja auch das bisher schnellste und alles andere als ein Abklatsch von ZCMD.


    Dann Beweis,dass es schneller ist. Jeder der sich mit ZCMD von Anfang an beschäftigt hat,wird dir sagen,dass OCMD ein Abklatsch ist. So ein Schwachsinn ...


    //Edit: So einen Thread gabs schon öfters :/.
    //Edit : strcmp statt plane

    2 Mal editiert, zuletzt von Goldkiller ()

  • Hm ich bin vor kurzem von dcmd auf zcmd umgestiegen, man merkt eig keinen Unterschied außer dass man sich die Definierung spart.

  • Für alles mit Parametern benütze ich DCMD
    und für den Rest Strcmp, Ach ja, wie viele Arten von Cmds gibts eigrntlich (Dcmd....)??
    Mfg GHOSTY :wacko:

    :D Was schaut ihr mich alle an??? Ich bin auch nur eine Signatur :D

  • Ja natürlich. So eine Grafik lässt sich sofort erstellen nur mal so. Wenn ich mir OCMD anschaue, alles gut und klar aber es ist eine ZCMD nachmache und abklatsche, soviel dazu. Es ist nicht schneller als ZCMD, es ist daß gleiche sowie(falls du es mal testen willst, geh es mal parameter zu parameter durch = dann siehst du, ob wirklich etwas schneller ist). Kann gut sein, daß OCMD mit : etwas lädt, aber ich finde immerhin strcmp+strtok etwas angenehmer.

  • ganz einfach. wir gucken uns die callbacks an:

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (zcmd_g_HasOPCS && !CallLocalFunction("OnPlayerCommandReceived", "is", playerid, cmdtext)) //callLocalFunction 1
    {
    return 1;
    }
    new
    pos,
    funcname[MAX_FUNC_NAME];
    while (cmdtext[++pos] > ' ')
    {
    funcname[pos-1] = tolower(cmdtext[pos]);
    }
    format(funcname, sizeof(funcname), "cmd_%s", funcname);//format 1
    while (cmdtext[pos] == ' ') pos++;
    if (!cmdtext[pos])
    {
    if (zcmd_g_HasOPCE)
    {
    return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, "\1")); //callLocalFunction 2+3
    }
    return CallLocalFunction(funcname, "is", playerid, "\1");
    }
    if (zcmd_g_HasOPCE)
    {
    return CallLocalFunction("OnPlayerCommandPerformed", "isi", playerid, cmdtext, CallLocalFunction(funcname, "is", playerid, cmdtext[pos]));
    }
    return CallLocalFunction(funcname, "is", playerid, cmdtext[pos]);
    }

    public OnPlayerCommandText(playerid,cmdtext[])
    {
    new ocmdStr[32],i=1;
    for(;i<128;i++)
    {
    if(!cmdtext[i]||cmdtext[i]==' ')break;
    ocmdStr[i-1]=tolower(cmdtext[i]);
    }
    format(ocmdStr,128,"ocmd_%s",ocmdStr); //format 1
    if(!strlen(cmdtext[i+1])&&CallLocalFunction(ocmdStr,"ds",playerid," "))return 1;
    if(CallLocalFunction(ocmdStr,"ds",playerid,cmdtext[i+1]))return 1; // callLocalFunction 1
    return CallLocalFunction("ocmdOnPlayerCommandText","ds",playerid,cmdtext);
    }


    zcmd: 1x format, 3x CallLocalFunction, 4x if
    ocmd: 1x format, 1x CallLocalFunction (2x wenn der Command ungültig ist), 3x if
    das ocmd-callback ist, das sieht man wenn man ahnung hat, auch ansonsten sehr knapp und einfach gehalten, ohne unnötigem zeug.
    schon daran erkennt man, dass es schneller ist, tests (in denen auch wirklich ocmd 1.6.1 genutzt wurde) bestätigen das auch.
    ein "abklatsch" kann es also garnicht sein, da es - ganz einfach - besser ist.

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


    Ich benutze seid jahren strcmp und werde auch kein anderes nutzen ;) Warum auch? Mehr brauch ich nicht^^ Ich kann mit allem umgehen um ordentliche Befehle zu scripten. Zudem fällt einem der unterschied an der geschwindigkeit doch eh nit ohne weiteres auf oO


    MFG, Robdeflop®