RCMD - Commands ganz einfach!

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
  • Servus!
    Hiermit präsentiere ich RCMD.


    Es soll das Erstellen von Commands vereinfachen, bzw. den Vorgang schneller machen.


    Was tut RCMD?
    Es ersetzt den ganzen strcmp Teil mit einem einfachen rcmd.
    Beispiel:
    rcmd("/testcommand")
    {
    SendClientMessage(playerid,COLOR_WHITE,"TIPP: /testcmd [Text]");
    return 1;
    }
    Man kann auch 2er Commands damit erstellen:
    rcmd2("/testcommand","/testcmd")
    {
    SendClientMessage(playerid,COLOR_WHITE,"TIPP: /testcmd [Text]");
    return 1;
    }
    Es werden auch noch 2 zusätzliche Funktionen eingebunden.
    rcmd_getvalue und rcmd_getstring
    Diese kann man z.B. so verwenden:
    Beispiel rcmd_getvalue:
    rcmd2("/testcommand","/testcmd")
    {
    new Wert=rcmd_getvalue(cmdtext,1);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"/testcommand [Zahl]");
    format(string,sizeof(string),"Test erfolgreich! Anhang: %i",Wert);
    SendClientMessage(playerid,COLOR_WHITE,string);
    return 1;
    }
    Gibt die Zahl aus die man nach /testcommand, bzw. /testcmd eingegeben hat.


    Beispiel rcmd_getstring:
    rcmd("/testcmd2")
    {
    new Wert[256];
    Wert=rcmd_getstring(cmdtext,50);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))return SendClientMessage(playerid,COLOR_WHITE,"TIPP: /testcmd2 [Text]");
    format(string,sizeof(string),"Test erfolgreich! Anhang: %s",Wert);
    SendClientMessage(playerid,COLOR_WHITE,string);
    return 1;
    }


    Die Installation:
    Die Include: http://pastebin.com/sn0mM58B
    Die Datei runterladen und ins Verzeichnis Pawno/include reinkopieren.


    Danach beim Gamemode oben folgende Zeile einfügen:
    #include <rcmd>


    Dann bei OnPlayerCommandText das einfügen:
    new rcmd_cmd[256];
    new rcmd_idx;
    rcmd_cmd = strtok(cmdtext, rcmd_idx);


    Das war's eigentlich schon ;)



    ps: Dieses Include ist besonders für Anfänger gedacht.


    Mfg,
    Firefox

    4 Mal editiert, zuletzt von Firefox ()

  • Anscheinend wurde das Forum ja geupdated (leider)
    Deshalb hier nochmal Pastebin Link mit aktueller Version 1.0.1: http://pastebin.com/sn0mM58B


    //edit:Nochmal Fragen an meinen Vorposter:

    Zitat
    • Pastebin is ein MUSS !
    • Sowas kann jeder newbie Scripten.
    • Falls du das den leuten UNBEDINGT zeigen musst, Nützliche Codeschnipsel bereich benutzen. ;)

    1. Link jetzt da
    2. Ich konnte es als Scriptnoob nicht
    3. Ein Tutorial dort würde sofort untergehen.


    Außerdem ist es für Anfänger oder auch STRCMP-Nutzer, also Shut-Up mit deinem DCMD oder ZCMD oder was du auch gerne magst. Musst nicht alle anderen Befehlsarten niedermachen.
    OCMD ist z.B. schneller als DCMD und ca. gleich schnell wie ZCMD, du sagst trotzdem es ist scheiße. :thumbdown:

  • Es sieht nicht schlecht aus, das kann wirklich nicht jeder newbie(ich kenn da so einige)


    Ich geb die 8/10 da die Idee es nicht wirklich neu ist, aber ich es in der Form noch nicht gesehen habe,


    BTW ocmd ist nicht gleich schnell wie zcmd, das hat (bin mir nicht nicht) GoldKiller bewiesen. Aber der Unterschied ist nicht wirklich spürbar


    //Edit: Pack ma den Pastebin link in den ersten Post, sonst wird der leicht übersehen
    //Edit2: Downloadink geht nicht mehr Pastebin geht noch :huh:

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

    Margarete Stokowski

  • //Edit: Pack ma den Pastebin link in den ersten Post, sonst wird der leicht übersehen
    //Edit2: Downloadink geht nicht mehr Pastebin geht noch :huh:

    Hab ich in den ersten Post getan, hatte ich eigentlich gestern schon, da hatte ich die Datei auf dem Hoster gelöscht, sodass sie nur auf Pastebin ist. Jedoch wurde heute ja ein Backup vom Forum eingespielt, zumindest was die Beiträge betrifft, und deshalb war nur der alte Link im ersten Post^^

  • Schöne Idee, hatte ich auch schon, nur habe ich die nie richtig durchgesetzt.
    Doch ist das nicht eigentlich nur Definitions arbeit ?

    Jeder Veränderung hat was positives in sich

  • Erstmal Firefox, pass auf dein Ton auf das mit "Shut-Up" etc, ich hab hier nicht gesagt das DCMD oder so besser ist (obwohl es alle sind).
    Und hier nochmal:


    Zitat

    Nah nah nah, wenn du hier etwas veröffentlichst, musst du für Kritiken und Meinungen offen sein.
    Wenn nicht warum veröffentlichst du es ?



    [b]1.:


    Aber echt, falls du Kritiken nicht ertragen kannst, veröffentliche es einfach nicht!
    Aber NEEEIIN, der Herr muss ja unbedingt wen Angreifen.


    Naja werd erwachsen, mehr sag ich jetz nix mehr, da es solchen Typen wie dir eh net hilft.

  • Hallo,


    das System kann nicht schneller als ZCMD oder ocmd sein.
    Du benutzt weiterhin strcmp was bedeutend länger dauert ocmd und zcmd hingegen benutzen da die CallLocal Funktion was bedeutend schneller ist.


    Bewertung: 1/10 da kann man auch gleich strcmp weiter benutzen.


    MFG RFT

    RFT

  • Zitat

    Schön, und bitte lies dir die Showroom-Regeln mal durch, ja? Ein Rat von deinem "ach so tollen kritiker", wie du es ja nennst.

    Hab doch nur gesagt dass der Link jetzt drin ist 8|


    Zitat

    2.: Ach echt nicht. Guck dir dein "Include" mal an, es ist nur 14 Zeilen (da ja strget, was du zu rcmd_strget umbenannt hast, nicht deine code ist, zähle ich das net mit), wird im Showroom gepostet und die Funktionen wurden nur umbenannt, nur vielleicht die kleinen funktionen die ja auch fast keinen sinn haben.
    Und nurnoch die hier bleiben übrig, die du selbstgemacht haben könntest:
    #define rcmd(%1) if(strcmp(rcmd_cmd,%1,true)==0)
    #define rcmd2(%1,%2) if(strcmp(rcmd_cmd,%1,true)==0||strcmp(rcmd_cmd,%2,true)==0)
    Versteh das nicht als eine Beleidigung, aber das kann jeder Trottel ;)

    Die kleinen Funktionen haben einen Sinn, dein Problem wenn du ihn nicht erkennst.
    hab strget umbenannt zu rcmd_strget, weil man strget bereits definiert haben könnte im Gamemode und es deshalb zu Errors führen könnte. Hat schon einen Sinn ;)
    Soll ich dir ma einen bringen der grade erst mit Pawn angefangen hat? Der kann das nicht!

    Zitat

    mit "Tutorial" meinst du wohl "Erklärung für die benutzung", das kannst du auch im nützlichen Codeschnipsel bereich reinschreiben, wenn du da mal reingucken würdest (was unserem obergeilen King hoffentlich nicht schwer fällt), würdest du da sehen, dass es da sehr sehr sehr gute Scripts geben als die, die im Showroom gepostet werden, und auch noch eine Erklärung dabei haben ;)

    Ja
    Zitat von mir:

    Zitat

    Ein Tutorial dort würde sofort untergehen.

    Nicht gerade deutsche Rechtschreibung, aber ich denke ich verstehe was du meinst. Was bringts mir wenn dort bessere sind als manche im Showroom? :D


    Zitat

    Aber echt, falls du Kritiken nicht ertragen kannst, veröffentliche es einfach nicht!
    Aber NEEEIIN, der Herr muss ja unbedingt wen Angreifen.


    Naja werd erwachsen, mehr sag ich jetz nix mehr, da es solchen Typen wie dir eh net hilft.

    Kann Kritiken vertragen, angegriffen hast du mit den 0 Punkten


    //edit:
    RFT: Das soll ja auch für Anfänger sein :)


    /e2: Danke an die anderen :thumbup:


  • //edit:
    RFT: Das soll ja auch für Anfänger sein :)


    Ist ja schön und gut die Anfänger freuen sich darüber. Aber die meisten denken sich wenns so eine vereinfachung gibt kann ich auch gleich die schnellere Variante nehmen.
    Daher mein Tipp mach es mit CallRemoteFunction und nicht mit strcmp oder so.


    MFG RFT

    RFT

  • Eben!
    Und ich habe keinen Angegriffen mit 0/10 Punkten, ich sehe dein "Script" einfach nur als ein 0, so einfach ist das.


    Ich weis was diese definierungen für einen Sinn haben wofür sie nutzen, damit meinte ich, dass du nichts mehr gemacht hast.


    In meinen augen hat dieses Script kein bisschen Sinn.


    Ausserdem, ich weis nicht als was du mich siehst, aber ich habe schon viel genug Erfahrung über Scripten bzw. Scripts (und aufjedenfall schon viel mehr als du), deswegen weis ich beser als du was #define's sind.


    Vergiss es einfach, wenn es dich soo glücklich macht hier kleine sinnlose Scripts zu veröffentlichen, dann nur zu, was kann man machen ;)


    Ich habe auch einen neuen Command-Script gemacht, was aufjedenfall viel sinnvoller und höchstwahrscheinlich auch besser als deins ist xDD
    Nützliche Codeschnipsel
    Und das beste ist, ich habe nur eine einzige Zeile dafür gebraucht..
    Ich hoffe du merkst jetzt, dass dein RCMD fast garkein unterschied hat von ganz normalen strcmp-Befehlen.


    Peace ;)

  • Was bringt dir das eigentlich wenn du mein Include so niedermachst?
    Macht es dir Spaß und du hast nichts anderes zu tun oder bist du einfach nur ein Kiddie? Ich glaube ich werde wohl ins Englische Forum wechseln. Da wird man wenigstens nicht so blöd angeschnautzt sondern bekommt konstruktive Kritik.


    Was es dir jetzt bringt dass du eine Abkopie von dcmd dort postest weiß ich auch nicht. Man muss eigentlich mehr schreiben, und das ist eher etwas negatives. Soviel ich gesehen habe ist dies auch ohne Callbacks, bzw. läuft über strcmp. Also ist es auch nicht schneller.
    Fazit:
    • Mehr Schreibarbeit
    • Gleich schnell
    • Ohne string und integer find funktion ^^


    Was ist daran jetzt besser?


    btw: Wann habe ich gesagt dass das was anderes als strcmp ist?
    Ich habe lediglich das gesagt:

    Zitat

    Es ersetzt den ganzen strcmp Teil mit einem einfachen rcmd.

    Und das tut es auch!


    Mein Sinn wie bereits im 1. Post steht:

    Zitat

    Es soll das Erstellen von Commands vereinfachen, bzw. den Vorgang schneller machen.

    Der 2. Sinn, dass man die Integers und Strings leichter von den Eingaben herbekommt.
    Was ist denn daran so schwer anderen auch was zu gönnen? Kanns doch nicht sein -.-


    ps: Ich bin auch nicht so dumm und bewerte dein "fcmd" als 0 von 10 Punkten, es kann zwar weniger als meins und ist auch umständlicher, aber allein wegen der Mühe würde ich dir min. 1 Punkt neben

  • ALTER du WILLST es net verstehen.


    Wenn du mich nochmal beleidigst gebe ich dir eine faire und harte Antwort, das soll dir mal klar sein.


    Ich habe FCMD gemacht damit du siehst, wie einfach soetwas ist, aber du WILLST es net mit deinem kleinen hirn kapieren, was du ja eh net kannst mit dieser Einstellung.


    Mir doch egal was du tust, kannst dein Include mitnehmen und zum Englischen Forum gehen, ich wäre sogar überglücklich darüber.


    Dein Include hat 0 sinn, der ersteller hat 0 verstand, so macht die Include einen 0.


    Und wer sagt, das FCMD schneller sein soll, du liest etwas was da netmal vorhanden ist, dann weis ich auch nicht mehr weiter.
    Eine Abkopie von DCMD ist es schonmal garnicht, habe alles selbst geschrieben.
    Naja DAS kann man von soeinem Typen wie dich erwarten, der die Funktionen netmal lesen kann und nicht mal vergleichen kann, mehr sag ich jetz auch nichts dazu.


    Peace (ich streichs mal über, interresiert eh keinen)

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