shape1
shape2
shape3
shape4
shape7
shape8

Команда /todo

Статус
Закрыто для дальнейших ответов.

Yanshicow

Новичок
Пользователь
21.12.2014
97
2
0
Добрый вечер,подскажите как сделать команду /todo то-есть сначала прописываешь текст а потом после знака * дествие

Получается типо такого: Здравия Желаю! сказал Daniil_Yanshicow- *посмотрев на полковника

 

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
definehost.ru
Скриптер
Подробнее пожалуйста, ничего не понял.

 

Yanshicow

Новичок
Пользователь
21.12.2014
97
2
0
Подробнее пожалуйста, ничего не понял.
Ну как бы вам объяснить,ну например с помощью этой команды вписываешь сначала текст а потом действие.Получается так : /todo введите текст *действие./todo Здравствуйте *посмотрев на сотрудника полиции

В чате будет должно бы написано : Здравствуйте-сказал Nick_Name *посмотрев на сотрудника полиции*

 

Kostyaev

Магистр
Пользователь
19.07.2014
1 123
274
0
26
Делал для своего мода.Держи команду:

if(strcmp(cmd, "/todo", true) == 0)
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "Используйте: /todo [речь в чат*действие]");
return 1;
}
if(strfind(result,"*",true,0) == -1)
{
SendClientMessage(playerid, COLOR_GRAD2, "Вы не поставили символ разделения '*' ))");
return 1;
}
new one[65];
new two[65];
new pos = strfind(result, "*" ,true);
strmid(one, result, 0, pos);
strmid(two, result, pos+1, 128);
GetInitials(playerid);
{ format(string, sizeof(string), "{C2A2DA}- {FFFFFF}%s {C2A2DA}- сказал %s, {C2A2DA}%s", one, GetPlayerNameEx(playerid), two); }
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetPlayerChatBubble(playerid, result, COLOR_PURPLE, 20.0, 10000);
printf("%s", string);
}
return 1;
}




Если будут ошибки, то добавим:

forward GetInitials(playerid);

и

public GetInitials(playerid)
{
if(IsPlayerConnected(playerid))
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return 1;
}
return 0;
}




Скриншот:

951cbd7db154f52875dba657622af9be.jpg
 
Последнее редактирование модератором:
Статус
Закрыто для дальнейших ответов.