PDA

Просмотр полной версии : [CMD] /pm [Для new.pwn || DC_CMD || Sscanf]



Flime
26.06.2014, 21:09
/pm - команда отправки личных сообщений


CMD:pm(playerid,params[])
{
if(sscanf(params,"ds[128]",params[0],params[1])) return SendClientMessage(playerid, 0xAFAFAFAA, ">>> Введите: /pm [id] [text]");
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0xAFAFAFAA, "Данного игрока не существует!");
static const
fmt_str0[] = ">>> [PM]: %s. Отправитель: %s[%d]",
fmt_str1[] = ">>> [PM]: %s. Получатель: %s[%d]"
;
const
size0 = sizeof(fmt_str0)- 2 + 128 - 2 + MAX_PLAYER_NAME - 2 + 3,
size1 = sizeof(fmt_str1)- 2 + 128 - 2 + MAX_PLAYER_NAME - 2 + 3
;
#if size0 > size1
#define size size0
#else
#define size size1
#endif
#if size > 144
#undef size
#define size 144
#endif
new
string[size],
player_name[MAX_PLAYER_NAME+1],
target_name[MAX_PLAYER_NAME+1]
;
#undef size
GetPlayerName(playerid, player_name, sizeof(player_name));
GetPlayerName(params[0], target_name, sizeof(target_name));
format(string, sizeof(string), fmt_str0,params[1],player_name, playerid);
SendClientMessage(params[0], 0xFFFFFFAA, string);
format(string, sizeof(string), fmt_str1,params[1],target_name, params[0]);
SendClientMessage(playerid, 0xFFFFFFAA, string);
PlayerPlaySound(params[0], 1052, 0.0, 0.0, 0.0);//Звуки, когда сообщение приходит
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);//Звуки, когда сообщение отправлено
return 1;
}


Автор: Flime
Помощь: Londlem

Копирование данной статьи без разрешения автора запрещено!

Salvacore
26.06.2014, 21:15
Вижу с Londlem'ом общаешься)

Flime
26.06.2014, 21:35
Вижу с Londlem'ом общаешься)
Да, он мне помогает, объясняет, если я не понимаю чего-то :)

bryC
17.09.2014, 21:00
Почему я ввожу команду(Пример: /pm 2 www), у меня в любом случае пишется "/pm [id] [text]" ?

DeimoS
17.09.2014, 21:21
Почему я ввожу команду(Пример: /pm 2 www), у меня в любом случае пишется "/pm [id] [text]" ?

Попробуйте обновить sscanf