DCMD-Tutorial

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • DCMD-Tutorial

    Hallöchen.
    Ich schreibe mal ein klitze kleines Tutorial zu der Commandart "dcmd".

    Voraussetzungen:
    Pawn Grundkenntnisse
    Das Include "sscanf"

    Los geht´s!
    Als erstes müsst ihr "dcmd" definieren. Das sieht so aus:
    [pwn]#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1[/pwn]

    Wenn ihr das erfolgreich gemacht habt, müsst ihr noch das Include einfügen:
    [pwn]#include <sscanf>[/pwn]

    Danach müsst ihr bei OnPlayerCommandText eine Command-Liste für DCMD anlegen:
    [pwn]public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(setheal, 7, cmdtext); // Beispiel: dcmd(Name des Commands, Anzahl der Zeichen, cmdtext);
    dcmd(heal, 4, cmdtext);
    return 1;
    }
    [/pwn]

    Jetzt können wir mit unserem ersten Command beginnen:
    [pwn]
    dcmd_heal(playerid, params[])
    {
    #pragma unused params //Es werden keine Parameter benutzt
    SetPlayerHealth(playerid, 100);
    return 1;
    }
    [/pwn]

    Wenn ihr das habt könnt ihr ein Command mit Parameter und sscanf probieren. Das sieht so aus:
    [pwn]
    dcmd_setheal(playerid, params[])
    {
    new pID, heal;
    if(sscanf(params, "dd", pID, heal))
    { return SendClientMessage(playerid, COLOUR_WHITE, "USAGE: /heal [playerid]"); }
    SetPlayerHealth(pID, heal); //Hier werden pID und heal genutzt...
    return 1;
    }
    [/pwn]

    So das wars auch schon wieder. Bei Fragen könnt ihr gerne hier posten :)
    //Edit: Sorry, das mit den Abständen könnte Warnings verursachen. Wird aber immer automatisch zurückgesetzt ..

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Blackburn ()