Библиотеки SAMP
Информация о файле и ссылка ниже
ЖМИ НА ССЫЛКУ: Скачать [INC] ZCMD с сайта
Инклуд zcmd, который необходим для компиляции модов, что используют эту библиотеку. Добавить в папку pawno/include при ошибке: fatal error 100: cannot read from file: «zcmd».
Всё что нужно для добавления команды, создать паблик функцию используя специальный предопределённый макрос, например:
COMMAND:mycommand(playerid, params[]) // or CMD:mycommand(playerid, params[])
{
// Do something
return 1;
}
или (в старом стиле):
command(mycommand, playerid, params[]) // or cmd(mycommand, playerid, params[])
{
// Do something
return 1;
}
params[] — параметры потока, playerid — айди игрока, который отправляет эту команду.
Два колбэка:
OnPlayerCommandReceived(playerid, cmdtext[])
и
OnPlayerCommandPerformed(playerid, cmdtext[], success)
Пример кода как можно создать /givemoney команду используя zcmd совместно с sscanf:
COMMAND:givemoney(playerid, params[])
{
if (IsPlayerAdmin(playerid))
{
new
toplayerid, // the player we want to give money to
amount;
// extracting player’s ID and amount from params
if (!sscanf(params, «ii», toplayerid, amount))
{
if (toplayerid != INVALID_PLAYER_ID)
{
new
message[40];
GivePlayerMoney(toplayerid, amount);
format(message, sizeof(message), «You got $%d from admin!», amount);
SendClientMessage(toplayerid, 0x00FF00FF, message);
}
else SendClientMessage(playerid, 0xFF0000FF, «That player is not connected»);
}
else SendClientMessage(playerid, 0xFFFFFFFF, «Usage: /givemoney <playerid> <amount>»);
}
else SendClientMessage(playerid, 0xFF0000FF, «Only admins can use this command!»);
return 1;
}