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 ..
									
									
								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 ()