Wofür soviele unterschiedliche 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
  • strcmp ist eine Standart Funktion die erstmal garnichts mit Befehlen zu tun hat, sie vergleicht nur 2 Strings miteinander und prüft ob diese gleich sind.
    Aber was ocmd, zcmd, dcmd angeht, dann muss ich dir recht geben das das definitiv zu viele xcmds sind ^^


    Dennoch hat jedes seine Vorteile, bis auf ocmd, was definitiv das langsamste ist :D
    dcmd = Ressourcen sparend
    zcmd = schnell
    und die anderen cmd Arten haben auch ihre Vorteile ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • *hust*
    Wieso zum Teufel ist OCMD das langsamste ?
    Es ist schneller als DCMD und ZCMD keine Ahnung.


    Jedoch ist es NICHT das langsamste und OCMD ist auch sehr übersichtlich ;)


    MFG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Es ist schneller als DCMD und ZCMD keine Ahnung.


    Jedoch ist es NICHT das langsamste und OCMD ist auch sehr übersichtlich


    Du weißt aber, dass kleinerOpa (der schreiber von OCMD) so ziemlich viel bei ZCMD abgeschaut hat und nur das "COMMAND" zu "ocmd" geändert hat :D
    und ich finde ZCMD besser, da es zwei nützliche Callbacks anstelle von OnPlayerCommandText hat und man so nicht auf Gross-/Kleinschreibung achten muss !


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Du weißt aber, dass kleinerOpa (der schreiber von OCMD) so ziemlich viel bei ZCMD abgeschaut hat und nur das "COMMAND" zu "ocmd" geändert hat :D
    und ich finde ZCMD besser, da es zwei nützliche Callbacks anstelle von OnPlayerCommandText hat und man so nicht auf Gross-/Kleinschreibung achten muss !


    mfg. :thumbup:


    Es lebe hoch die Propaganda -.- .
    Und zum teufel... bei OCMD ist auch nicht Case sensitive. Es war bloß case sensitive bei der 1.0 Version, die hier immer noch so viele haben.
    Bei der 2.0 Ist es nicht mehr so.
    Außerdem ich weiß , dass der "Begründer" von OCMD Kleiner_Opa heißt. Er war schließlich lange genug Scripter von WC -.-


    Hier mal die 2.0 für alle die noch die 1.0 haben



    /*---------------------------------------


    /--------\ /--------\ /\
    | | | | / \
    | | | | / \ |-----
    | | |--------/ / \ |
    | | | |--------| \----\
    | | | | | |
    \--------/ | | | -----/


    OBJECTSTREAMER & MAPEDITOR
    VERSION 5.1.1
    OCMD MODULE


    ---------------------------------------*/


    /*
    OCMD 2.0.0
    by kleinerOpa
    best command-solution for sa:mp
    supports samp 0.2X, 0.3a without OCMD_CHECK_UPDATE function
    supports samp 0.3b, 0.3c
    WEB: www.kleiner-opa.de
    ICQ: 611064955
    */


    #include <a_samp>
    #if defined OCMD_CHECK_UPDATE
    #tryinclude <a_http>
    #if !defined HTTP
    #error OCMD_CHECK_UPDATE only works with a_http.inc
    #undef OCMD_CHECK_UPDATE
    #endif
    #endif


    forward ocmdOnPlayerCommandText(playerid,cmdtext[]);
    #if defined OCMD_BEFORE_CALLBACK
    forward BeforePlayerCommandText(playerid,cmdtext[]);
    #endif
    #if defined OCMD_CHECK_UPDATE
    forward ocmdCheckUpdate();
    forward ocmdCheckUpdate2(index,response_code,data[]);
    #endif


    #if defined OCMD_BEFORE_CALLBACK
    new bool:ocmdBeforeCallback;
    #endif
    #if defined OCMD_BEFORE_CALLBACK || defined OCMD_CHECK_UPDATE
    new bool:ocmdInit;
    #endif


    #define ocmd:%1(%2) forward ocmd_%1(%2);\
    public ocmd_%1(%2)


    #define OCMD_VERSION "2.0.0"


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    #if defined OCMD_BEFORE_CALLBACK || defined OCMD_CHECK_UPDATE
    if(!ocmdInit)
    {
    #if defined OCMD_BEFORE_CALLBACK
    if(funcidx("BeforePlayerCommandText")!=-1)ocmdBeforeCallback=true;
    #endif
    #if defined OCMD_CHECK_UPDATE
    SetTimer("ocmdCheckUpdate",(60*1000),false);
    SetTimer("ocmdCheckUpdate",(60*60*1000),true);
    #endif
    ocmdInit=true;
    }
    #endif
    new ocmdStr[32]="ocmd_",
    i=1,
    #if defined OCMD_COMMAND_LOG
    ocmdName[MAX_PLAYER_NAME],
    #endif
    bool:ocmdNoParams;
    #if defined OCMD_COMMAND_LOG
    GetPlayerName(playerid,ocmdName,sizeof ocmdName);
    printf("[cmd] [%s]: %s",ocmdName,cmdtext);
    #endif
    #if defined OCMD_BEFORE_CALLBACK
    if(ocmdBeforeCallback&&!CallLocalFunction("BeforePlayerCommandText","ds",playerid,cmdtext))return 1;
    #endif
    for(;i<128;i++)
    {
    if(!cmdtext[i]||cmdtext[i]==' ')
    {
    if(!cmdtext[i]||!cmdtext[i+1])ocmdNoParams=true;
    break;
    }
    ocmdStr[i+4]=tolower(cmdtext[i]);
    }
    if(!ocmdNoParams&&CallLocalFunction(ocmdStr,"ds",playerid,cmdtext[i+1]))return 1;
    if(ocmdNoParams&&CallLocalFunction(ocmdStr,"ds",playerid," "))return 1;
    return CallLocalFunction("ocmdOnPlayerCommandText","ds",playerid,cmdtext);
    }


    #if defined OCMD_CHECK_UPDATE
    public ocmdCheckUpdate()
    {
    HTTP(1,HTTP_GET,"www.kleiner-opa.de/sc/ocmd.txt","","ocmdCheckUpdate2");
    }
    public ocmdCheckUpdate2(index,response_code,data[])
    {
    if(strlen(data)&&strcmp(OCMD_VERSION,data)!=0)
    {
    new ocmdStr[128];
    format(ocmdStr,sizeof ocmdStr,"An update for OCMD is available (version %s) - www.kleiner-opa.de",data);
    print(ocmdStr);
    for(new i;i<MAX_PLAYERS;i++)if(IsPlayerAdmin(i))SendClientMessage(i,0xD3D3FFFF,ocmdStr);
    }
    }
    #endif


    #define OnPlayerCommandText ocmdOnPlayerCommandText


    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.