KACbIM
Дебютант
Не могу понять как сделать правильный алгоритм отправки сообщения.
Хочу тут сделать проверку на введённые параметры, чтобы в разных случаях выводило разные диалоги.
У меня тут должна быть система отправки сообщений по такому алгоритму:
1) Проверяем переменные на соответствие по формату.
2) Проверяем параметры (a) введён только ID (b) Введён ID и текст.
3) a) Открываем диалог ввода текста сообщения
b) Открываем диалог с сообщением игроку, которому писали сообщение.
У меня открывает только один диалог - отправленное сообщение.
PHP:
cmd:pm(playerid, params[])
{
new string[128];
if(!sscanf(params, "ds", params[0], params[1]))
{
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0x919191FF, "{FF0000}[Ошибка]{FFFF00}: {FFFFFF}Игрока с таким ID нет на сервере.");
new name[MAX_PLAYER_NAME], text[128];
RecID[playerid] = params[0];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"{FFFFFF}Сообщение от %s(%d)",name,playerid);
format(text, sizeof(text), "{FFFFFF}%s", params[1]);
RecID[RecID[playerid]] = playerid;
ShowPlayerDialog(RecID[playerid],8,DIALOG_STYLE_MSGBOX, string, text, "Ответить", "Закрыть");
}
if(!sscanf(params, "d", params[0]))
{
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, 0x919191FF, "{FF0000}[Ошибка]{FFFF00}: {FFFFFF}Игрока с таким ID нет на сервере.");
RecID[playerid] = params[0];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "{FFFFFF}Сообщение для %s(%d)", name, RecID[playerid]);
ShowPlayerDialog(playerid, 7, DIALOG_STYLE_INPUT, string, "Текст сообщения:", "Отправить", "Отмена");
}
else return SendClientMessage(playerid, 0x919191FF, "{FF0000}[Инфо]{FFFF00}: {FFFFFF}Использование: \"/pm [ID] [текст]\".");
return 1;
}
У меня тут должна быть система отправки сообщений по такому алгоритму:
1) Проверяем переменные на соответствие по формату.
2) Проверяем параметры (a) введён только ID (b) Введён ID и текст.
3) a) Открываем диалог ввода текста сообщения
b) Открываем диалог с сообщением игроку, которому писали сообщение.
У меня открывает только один диалог - отправленное сообщение.
