Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

/pm

Статус
В этой теме нельзя размещать новые ответы.

Falconcik

Ученик
Приветствую дорогие пользователи pawno-info, хотел бы выложить команду /pm, подойде абсолютно для любого жанра.​

if(strcmp("/pm", cmdtext, true, 10) == 0)
{
new idx;
new string[128];
new sendername[MAX_PLAYER_NAME];
new cmd[256];
cmd = strtok(cmdtext, idx);
new tmp[256];
#pragma tabsize 0

tmp = strtok(cmdtext,idx);//находим пробел между pm и id'ом
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "{33CCFF}Введите: /pm [id игрока] [текст]");//если не ввел ид, выводим сообщение
new giveplayerid = strval(tmp);//записываем ид в переменную
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1, "{33CCFF}Такого игрока нет");
if(giveplayerid == playerid) return SendClientMessage(playerid, -1, "{33CCFF}Вы не можете отправить сообщение себе");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[96];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, -1, "{33CCFF}Введите: /pm [id игрока] [текст]"); // если не ввел екст, выводим сообщение
GetPlayerName(playerid, sendername, sizeof(sendername));//узнаем ник
format(string, sizeof(string), "{33CCFF}[PM] %s[%d]: {E2FB0E}%s", sendername, playerid, result);//форматируем текст
PlayerPlaySound(playerid, 1150, 0, 0, 0);
SendClientMessage(giveplayerid, -1, string);//отправляем
format(string, sizeof(string), "{33CCFF}[PM] Сообщение отправлено: {E2FB0E}%s", result);//форматируем текст
PlayerPlaySound(playerid, 1150, 0, 0, 0);
SendClientMessage(playerid, -1, string);//отправляем
return true;
}
//---===Сторк для команд===---//
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
//--------------------------//
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу