#Copyright

Создание команды на кнопку

В теме 4 сообщения

Здравствуйте дорогие друзья, это уже мой третий урок - в данном уроке вы сможете делать команду на кнопку, приступим.

Что нам понадобится:
- Сама команда которая будет активирована по нажатие кнопки

- Ровные руки и свободные 10 минут.

Для того чтобы кнопка активировала нашу команду, мы ищем наш public "public OnPlayerKeyStateChange"
С корень паблика мы должны будем вставить код:


 

if (newkeys == ID)
{
OnPlayerCommandText(playerid,""); 
 }



Пояснение:

 

//newkeys == ID - заместо слова "ID" мы пишем на ID кнопки которая будет активировать команду ( Список всех ID кнопок будет ниже )
//OnPlayerCommandText - Функция которая вызывает активирование команды после нажатия на кнопку
//(playerid, ""); - В скобка мы пишем команду которая будет активирована после нажатия на кнопку.



Вот и все, наш урок на этом заканчивается, спасибо за внимание.
Автор: #CopyRight
Специально для PAWNO-RUS

ID's


 

Спойлер

d = 36 символ = $
id = 37 символ = %
id = 38 символ = &
id = 39 символ = '
id = 40 символ = (
id = 41 символ = )
id = 42 символ = *
id = 43 символ = +
id = 44 символ = ,
id = 45 символ = -
id = 46 символ = .
id = 47 символ = /
id = 48 символ = 0
id = 49 символ = 1
id = 50 символ = 2
id = 51 символ = 3
id = 52 символ = 4
id = 53 символ = 5
id = 54 символ = 6
id = 55 символ = 7
id = 56 символ = 8
id = 57 символ = 9
id = 58 символ = :
id = 59 символ = ;
id = 60 символ = <
id = 61 символ = =
id = 62 символ = >
id = 63 символ = ?
id = 64 символ = @
id = 65 символ = A
id = 66 символ = B
id = 67 символ = C
id = 68 символ = D
id = 69 символ = E
id = 70 символ = F
id = 71 символ = G
id = 72 символ = H
id = 73 символ = I
id = 74 символ = J
id = 75 символ = K
id = 76 символ = L
id = 77 символ = M
id = 78 символ = N
id = 79 символ = O
id = 80 символ = P
id = 81 символ = Q
id = 82 символ = R
id = 83 символ = S
id = 84 символ = T
id = 85 символ = U
id = 86 символ = V
id = 87 символ = W
id = 88 символ = X
id = 89 символ = Y
id = 90 символ = Z
id = 91 символ = [
id = 92 символ = \
id = 93 символ = ]
id = 94 символ = ^
id = 95 символ = _
id = 96 символ = `
id = 97 символ = a
id = 98 символ = b
id = 99 символ = c
id = 100 символ = d
id = 101 символ = e
id = 102 символ = f
id = 103 символ = g
id = 104 символ = h
id = 105 символ = i
id = 106 символ = j
id = 107 символ = k
id = 108 символ = l
id = 109 символ = m
id = 110 символ = n
id = 111 символ = o
id = 112 символ = p
id = 113 символ = q
id = 114 символ = r
id = 115 символ = s
id = 116 символ = t
id = 117 символ = u
id = 118 символ = v
id = 119 символ = w
id = 120 символ = x
id = 121 символ = y
id = 122 символ = z
id = 123 символ = {
id = 124 символ = |
id = 125 символ = }
id = 126 символ = ~
id = 127 символ =
id = 128 символ = Ђ
id = 129 символ = Ѓ
id = 130 символ = ‚
id = 131 символ = ѓ
id = 132 символ = „
id = 133 символ = …
id = 134 символ = †
id = 135 символ = †
id = 136 символ = €
id = 137 символ = ‰
id = 138 символ = Љ
id = 139 символ = ‹
id = 140 символ = Њ
id = 141 символ = Ќ
id = 142 символ = Ћ
id = 143 символ = Џ
id = 144 символ = ђ
id = 145 символ = ‘
id = 146 символ = ’
id = 147 символ = “
id = 148 символ = ”
id = 149 символ = •
id = 150 символ = –
id = 151 символ = —
id = 152 символ = ˜
id = 153 символ = ™
id = 154 символ = љ
id = 155 символ = ›
id = 156 символ = њ
id = 157 символ = ќ
id = 158 символ = ћ
id = 159 символ = џ
id = 160 символ =
id = 161 символ = Ў
id = 162 символ = ў
id = 163 символ = Ј
id = 164 символ = ¤
id = 165 символ = Ґ
id = 166 символ = ¦
id = 167 символ = §
id = 168 символ = Ё
id = 169 символ = ©
id = 170 символ = Є
id = 171 символ = «
id = 172 символ = ¬
id = 173 символ =
id = 174 символ = ®
id = 175 символ = Ї
id = 176 символ = °
id = 177 символ = ±
id = 178 символ = І
id = 179 символ = і
id = 180 символ = ґ
id = 181 символ = µ
id = 182 символ = ¶
id = 183 символ = ·
id = 184 символ = ё
id = 185 символ = №
id = 186 символ = є
id = 187 символ = »
id = 188 символ = ј
id = 189 символ = Ѕ
id = 190 символ = ѕ
id = 191 символ = ї
id = 192 символ = А
id = 193 символ = Б
id = 194 символ = В
id = 195 символ = Г
id = 196 символ = Д
id = 197 символ = Е
id = 198 символ = Ж
id = 199 символ = З
id = 200 символ = И
id = 201 символ = Й
id = 202 символ = К
id = 203 символ = Л
id = 204 символ = М
id = 205 символ = Н
id = 206 символ = О
id = 207 символ = П
id = 208 символ = Р
id = 209 символ = С
id = 210 символ = Т
id = 211 символ = У
id = 212 символ = Ф
id = 213 символ = Х
id = 214 символ = Ц
id = 215 символ = Ч
id = 216 символ = Ш
id = 217 символ = Щ
id = 218 символ = Ъ
id = 219 символ = Ы
id = 220 символ = Ь
id = 221 символ = Э
id = 222 символ = Ю
id = 223 символ = Я
id = 224 символ = а
id = 225 символ = б
id = 226 символ = в
id = 227 символ = г
id = 228 символ = д
id = 229 символ = е
id = 230 символ = ж
id = 231 символ = з
id = 232 символ = и
id = 233 символ = й
id = 234 символ = к
id = 235 символ = л
id = 236 символ = м
id = 237 символ = н
id = 238 символ = о
id = 239 символ = п
id = 240 символ = р
id = 241 символ = с
id = 242 символ = т
id = 243 символ = у
id = 244 символ = ф
id = 245 символ = х
id = 246 символ = ц
id = 247 символ = ч
id = 248 символ = ш
id = 249 символ = щ
id = 250 символ = ъ
id = 251 символ = ы
id = 252 символ = ь
id = 253 символ = э
id = 254 символ = ю
id = 255 символ = я

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@#Copyright, настоятельно рекомендуется использовать проверку нажатия только данной кнопки (ее бита), а не всей системы клавиш путем сравнивания всех битов, как это вы сделали:

if(newkeys & KEY_WALT).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

UPD!
Для того чтобы сделать активацию команды кнопкой в определенном месте, пишем это:

if (newkeys == ID)
{
if(PlayerToPoint(RADIUS,playerid,XYZ))
OnPlayerCommandText(playerid,""); 
}


Пояснение:

- 'RADIUS' радиус места где можно открыть команду с помощью кнопки
- 'XYZ' - Координаты где можно активировать команду кнопкой!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@#Copyright а как вызвать команду, если Pawn.CMD? Или dc_cmd? Макрос PlayerToPoint не у всех есть и вместо этого, рекомендую, динамические зоны юзать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Chopick
      От Chopick
      Всем здравствуйте! Делаю систему домов/бизнесов по туториалу knox know с плагином GoodArea. Есть проблема, если заходишь в интерьер бизнеса, то когда выходишь спавнит почему-то на пикап дома.

      Вот енумы:
       
      #define MAX_HOUSES 1000 #define MAX_BIZS 1000 enum house {         hID,         STREAMER_TAG_PICKUP:hPICKUP,         STREAMER_TAG_AREA:hAREA,         hOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:hTEXT[256],         STREAMER_TAG_MAP_ICON:hICON,         hPRICE,         hCLASS,         hINTERIOR,         Float:hX,         Float:hY,         Float:hZ,         Float:hA,         hCONDITION // Закрыт/Открыт } new House[MAX_HOUSES][house]; new Houses; new HouseGroup; enum biz {         bID,         STREAMER_TAG_PICKUP:bPICKUP,         STREAMER_TAG_AREA:bAREA,         bOWNER[MAX_PLAYER_NAME],         STREAMER_TAG_3D_TEXT_LABEL:bTEXT[256],         STREAMER_TAG_MAP_ICON:bICON,         bNAME[25],         bPRICE,         bTYPE,         bINTERIOR,         Float:bX,         Float:bY,         Float:bZ,         Float:bA } new Biz[MAX_BIZS][biz]; new Bizs; new BizGroup; enum interior_info {         intID,         intNAME[41],         intINTERIOR,         Float:intX,         Float:intY,         Float:intZ,         Float:intA,         STREAMER_TAG_AREA:intAREA } new Interior[MAX_INTERIORS][interior_info]; new Interiors; new InteriorGroup; Вот что у меня в OnGameModeInit:
      HouseGroup = CreateGroupGoodAreas(GoodArea:HouseEnter); InteriorGroup = CreateGroupGoodAreas(GoodArea:InteriorExit); BizGroup = CreateGroupGoodAreas(GoodArea:BizArea);  
      Вот стоки:
      GAResponse:HouseEnter(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                 if(House[index][hCONDITION] > 0 && House[index][hOWNER] == player_info[playerid][NAME] || House[index][hCONDITION] == 0)                 {                                         GoToInterior(playerid, House[index][hINTERIOR]);                                         SetPlayerVirtualWorld(playerid, index);                                 }                                 else if(House[index][hCONDITION] > 0 && House[index][hOWNER] != player_info[playerid][NAME]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Этот дом закрыт на ключ!");                         }                 }                 case GA_RESPONSE_ENTER:                 {                     if(House[index][hOWNER] == 0)                     {                         CreateNoOwnerHouseTD(playerid);                         for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                         {                             PlayerTextDrawShow(playerid, NoOwnerTextDraw_PTD[playerid][i]);                                 }                                 new price[8];                                 format(price, sizeof(price), "%d$", House[index][hPRICE]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][2], price);                                 new id[9];                                 format(id, sizeof(id), "%d", House[index][hID]);                                 PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][0], id);                                 switch(House[index][hCLASS])                                 {                                     case 1: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "A");                                     case 2: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "B");                                     case 3: PlayerTextDrawSetString(playerid, NoOwnerTextDraw_PTD[playerid][1], "C");                                 }                                 for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                         {                             TextDrawShowForPlayer(playerid, NoOwnerTextDraw_TD[i]);                                 }                         }                 }                 case GA_RESPONSE_LEAVE:                 {                 for(new i = 0; i < sizeof NoOwnerTextDraw_PTD[]; i++)                 {                     PlayerTextDrawHide(playerid, NoOwnerTextDraw_PTD[playerid][i]);                         }                         for(new i = 0; i < sizeof NoOwnerTextDraw_TD; i++)                 {                     TextDrawHideForPlayer(playerid, NoOwnerTextDraw_TD[i]);                         }                 }         }         return 1; } GAResponse:BizArea(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 if(key & KEY_WALK)                 {                     GoToInteriorBiz(playerid, Biz[index][bINTERIOR]);                                 SetPlayerVirtualWorld(playerid, index);                 }                 }         }         return 1; } GAResponse:InteriorExit(playerid, response, key, index) {         switch(response)         {             case GA_RESPONSE_PRESS_KEY:             {                 new world = GetPlayerVirtualWorld(playerid);                 if(key & KEY_WALK)                 {                     if(world < MAX_HOUSES)                     {                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, House[world][hX], House[world][hY], House[world][hZ]);                             SetPlayerFacingAngle(playerid, House[world][hA]);                                 }                                 else if(world < MAX_HOUSES + MAX_BIZS)                     {                         world -= MAX_HOUSES;                                         printf("%d index world", world);                         SetPlayerInterior(playerid, 0);                             SetPlayerVirtualWorld(playerid, 0);                             SetPlayerPos(playerid, Biz[world][bX], Biz[world][bY], Biz[world][bZ]);                             SetPlayerFacingAngle(playerid, Biz[world][bA]);                                 }                         }                         if(key & KEY_CTRL_BACK)                         {                             if(player_info[playerid][HOUSE] != House[world][hID]) return SCM(playerid, COLOR_RED, "[Ошибка]{ffffff}Вы не владелец данного дома!");                             new dialog[256];                                 format(dialog, sizeof(dialog),                                         "{ffd900}[1]{ffffff}Информация о доме\n\                                         {ffd900}[2]{ffffff}%s дом",                                 (House[world][hCONDITION] == 1) ? ("{00ff00}Открыть") : ("{ff0000}Закрыть"));                             SPD(playerid, DLG_HMENU, DIALOG_STYLE_LIST, "{ffd900}Меню дома", dialog, "Выбрать", "Закрыть");                             return 1;                         }                 }         }         return 1; } stock GoToInterior(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода\n\                         Нажмите \"H\", чтобы открыть меню дома");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; } stock GoToInteriorBiz(playerid, interior) {     for(new i = 0; i < Interiors; i++)         {             if(Interior[i][intID] != interior) continue;             SetPlayerInterior(playerid, Interior[i][intINTERIOR]);             SetPlayerPos(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ]);             SetPlayerFacingAngle(playerid, Interior[i][intA]);             SetPlayerCheckpoint(playerid, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 1.0);             new str[128];             format(str, sizeof(str),                         "Нажмите \"ALT\" для выхода");             Create3DTextLabel(str, -1, Interior[i][intX], Interior[i][intY], Interior[i][intZ], 15.0, 0, 1);             return 1;         }         return 0; }  
       
      Что мне делать, подскажите пожалуйста?
    • Jdjdjd
      От Jdjdjd
      Как сделать открытие закрытие ворот в Радмир рп на копии,и куд а нужно вставлять код?
       
    • Мемен Томорли
      От Мемен Томорли
      Как создать команду /warns чтобы игрок смог просматривать активные варны у персонажа ??
      Типо как на Малиновка ЛП
    • Ernesto_Red
      От Ernesto_Red

      Привет всем друзья! ЛЕГЕНДАРНЫЙ бонусный проект возвращается спустя долгое время на площадку "San Andreas MultiPlayer".
       
      Немного о Fresh RolePlay:
      - Бонусный проект который был открыт еще в далеком 2015 году, на версии SA:MP 0.3e, и имел большой успех и популярность у игроков, среди бонусных проектов, благодаря своей атмосфере, своему моду, который на то время был очень разнообразен по функционалу, в отличие от других. В 2019 году проект был закрыт и бывший владелец проекта увел упор на другие свои проекты, которые тоже долго не продержались и в последствии были закрыты.
       
      О нас:
      Мы являемся командой, которая желает вновь возродить тот самый "Фрэш", который радовал своих игроков атмосферой, игрой, весельем. Мы уже подготавливаем мод, сайт к запуску, и Вы совсем скоро сможете начать свою новую историю на нашем сервере!
       
      Присоединяйтесь к нам, и Вы сможете стать настоящим ФРЕШИКОМ! 
       
      Наша официальная группа VK: *Перейти по ссылке*
      Наша свободная группа VK: *Перейти по ссылке*
      Сайт: https://unknown (soon)

       
    • danya_white
      От danya_white

       
      Всех приветствую, уважаемые пользователи форума Pawno-Rus!
      Давно не выходил на связь, решил попробовать свои силы в чем-то новом и создать свой кроссплатформенный SAMP проект.
      Проект позиционирует себя как Lite RP проект (без бонуса) и будет доступен на ПК и Android устройствах.
      Уже активно идёт разработка над игровым модом, лаунчером а также сайтом и форумом.
       
      Наша группа: Вконтакте
      Наш сайт: classic-gta.ru