Приветствую вас, Гость | Воскресенье, 02.06.2024, 01:54
Главная ? Форум ? Новости соц.сетей ? Всё для uCoz ? Набор модераторов
Реклама
Мини-чат
Топ пользователей
Баннеробмен
Последние посты
Горячие обсуждения
  • Страница 1 из 1
  • 1
[FAQ] GetPlayerKeys
L1ghT
22.03.2014, 14:35 | Сообщение # 31
Пользователи
Сообщений: 36
1

В данном уроке научимся использовать функцию GetPlayerKeys. Вы спросите почему бы просто не воспользоваться колбэком OnPlayerKeyStateChange? Отвечу, бывают задачи, которые без данной функции нельзя решить. Например подобный скрипт как ColorMenu by stepmex.
Код
native GetPlayerKeys(playerid, &keys, &updown, &leftright);

Для начала разберем параметры:
playerid - ID игрока, к которому применяют функцию
keys - Набор битов, содержащий кнопку
updown - Кнопки Вверх\Вниз
leftright - Кнопки Влево Вправо

Общий пример использования данной функции:
Код
forward buttons();
  public OnGameModeInit()
  {
  SetTimer("buttons",1000,true);
  }

  public buttons()
  {
  new keys,updown,leftright;
  for (new idx=GetMaxPlayers();idx>=0;--idx)
  {
  if(IsPlayerConnected(idx))
  {
  GetPlayerKeys(idx,keys,updown,leftright);
  if(updown>0)SendClientMessage(idx,0xFFFFFFFF,"-Вы нажали на кнопку - \"Стрелка вверх\"");
  else if(updown<0)SendClientMessage(idx,0xFFFFFFFF,"-Вы нажали на кнопку - \"Стрелка вниз\"");
  if(leftright>0)SendClientMessage(idx,0xFFFFFFFF,"-Вы нажали на кнопку - \"Стрелка вправо\"");
  else if(leftright<0)SendClientMessage(idx,0xFFFFFFFF,"-Вы нажали на кнопку - \"Стрелка влево\"");
  }
  }
  }
/index/8-1
  • Страница 1 из 1
  • 1
Поиск: