Kész!
Én még mindig a régi sscanf-ot használom amit 1 inc fájlba tettem, szóval a hsz végén adok egy linket ahonnan letöltheted és majd tedd be a pawno/include mappába.
Mód tetejére:
#include <sscanf>
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, \"\")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new strz[128];
Mód legaljára:
dcmd_s(playerid, params[])
{
new str[128], plname[24];
if (sscanf(params, \"s\", str)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /s [szöveg]\");
GetPlayerName(playerid, plname, 24);
format(strz, 128,\"%s ordítja: %s\", plname, str);
ProxDetector(60.0, playerid, strz, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
return 1;
}
dcmd_w(playerid, params[])
{
new str[128], plname[24];
if (sscanf(params, \"s\", str)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /w [szöveg]\");
GetPlayerName(playerid, plname, 24);
format(strz, 128,\"%s suttogja: %s\", plname, str);
ProxDetector(10.0, playerid, strz, COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE);
return 1;
}
dcmd_adminmond(playerid, params[])
{
new str[128], plname[24];
if (sscanf(params, \"s\", str)) return SendClientMessage(playerid, 0xFF0000FF, \"Használat: /adminmond [szöveg]\");
GetPlayerName(playerid, plname, 24);
format(strz, 128,\"Admin %s: %s\", plname, str);
SendClientMessageToAll(0xFF0000FF, strz);
return 1;
}
Ezek lesznek a parancsok, amiket dcmdvel csináltunk.. Ha nem értesz valamit belolük szólj.
És most az OnPlayerCommandText-nél \"használjuk\" a parancsokat:
dcmd(s, 1, cmdtext);
dcmd(w, 1, cmdtext);
dcmd(adminmond, 9, cmdtext);
Az elso paraméter a parancs neve idézojelek nélkül, a második pedig az, hogy hány karakterbol áll a parancs.
Szerk: Elfelejtettem feltölteni az inc fájlt, várj 1 percet..
Szerk2: Itt a link!
Letöltés