Профиль
Информация Управление
Здравствуйте, уважаемый посетитель. К сожалению, Вы не были распознаны форумом, как зарегистрированный пользователь. Для полноценного использования возможностей нашего форума вам необходимо зарегистрироваться. Если вы уже зарегистрированы на форуме, то вам необходимо пройти авторизацию, используя Ваш логин и пароль. Зарегистрированные пользователи получают возможность возможность общения на нашем форуме.


[Новые сообщения · Правила форума · RSS ]
  • Страница 1 из 1
  • 1
[Tutorial] Преобразуем обращение по ID в ник
OKStyle Дата: Воскресенье, 13.10.2013, 12:06 | Сообщение # 1
Архивариус
Группа: Администраторы
Зарегистрирован: 19.02.2011
Сообщений: 125
Репутация: 8
Статус: Offline
Составили код замены идентификаторов на ники (например: привет, @0" меняется на "привет, [ACF]OKStyle"). Полгода назад допилили на заказ, решил показать. На скрине недоработанная версия. Представленная срабатывает на все 100.



Код
public OnPlayerText(playerid, text[])
{
  new PlayerName[MAX_PLAYER_NAME];
  for(new i = strfind(text, "@", true), a = 0, tmp[4]; i != -1; i = strfind(text, "@", true, i)) // нашли включение обращения
  {
   ++i, a = 0; // если их несколько - продолжаем до конца
   while(48 <= text[i] <= 57 && a != 4) tmp[a++] = text[i++]; // ы
   if(tmp[0] == EOS) continue; // если не найден
   GetPlayerName(strval(tmp), PlayerName, sizeof(PlayerName)); // получаем имя введённого в чат ID
   strdel(text, i - a - 1, i); // удаляем символ и ID
   strins(text, PlayerName, i - a - 1, 128); // вставляем ник в чат
  }
  GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
  format(text, 128, "%s: {FFFFF}%s", PlayerName, text);
  SendClientMessageToAll(GetPlayerColor(playerid), text);
  return 0;
}


Автор OKStyle.
Прикрепления: 4926385.jpg (39.1 Kb)


 
  • Страница 1 из 1
  • 1
Поиск:

Сайт управляется системой uCoz