Импульс
|
|
panorama
|
Дата: Вторник, 09.07.2013, 11:20:20 | Сообщение # 1 |
|
Сообщений: 203
Репутация: 2 [ +/- ]
|
|
Здравствуйте ! Подскажите как можно отследить именно зажатие кнопки mouse1 Вот мои мысли Код public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) {
if (buttons & IN_ATTACK1) { buttons &= ~IN_ATTACK1; return Plugin_Changed; { /// Функция / Но мне кажется что я намудрил ) } }
return Plugin_Continue; }
|
|
| |
ThRunningMan
|
Дата: Вторник, 09.07.2013, 17:52:49 | Сообщение # 2 |
|
Сообщений: 140
Репутация: 12 [ +/- ]
|
|
IN_ATTACK без единицы это первое и как понять зажатие, просто лови событие что кнопка 1 нажата, я так понял ты хочешь сделать типо накопителя энергии, по длительности удерживания мыши?
|
|
| |
panorama
|
Дата: Четверг, 11.07.2013, 16:33:21 | Сообщение # 3 |
|
Сообщений: 203
Репутация: 2 [ +/- ]
|
|
Нет я просто хочу сделать ускорение во время зажатия mouse1 (Импульс) :D Ладно тогда другой вопрос как отловить что игрок отпустил кнопку ?Добавлено (11.07.2013, 16:33:21) --------------------------------------------- Ну кто нибудь знает как решить проблему ?
|
|
| |
TEIN
|
Дата: Четверг, 11.07.2013, 16:41:21 | Сообщение # 4 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
if (buttons & IN_ATTACK1) - зажата else - не зажата
|
|
| |
_wS_
|
Дата: Четверг, 11.07.2013, 18:02:36 | Сообщение # 5 |
|
Код new bool:g_Hold[MAXPLAYERS + 1];
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) { if (buttons & IN_ATTACK) { if (!g_Hold[client]) { // зажал g_Hold[client] = true; } } else if (g_Hold[client]) { // отпустил g_Hold[client] = false; } }
|
|
| |
panorama
|
Дата: Четверг, 11.07.2013, 18:30:53 | Сообщение # 6 |
|
Сообщений: 203
Репутация: 2 [ +/- ]
|
|
Цитата (_wS_) new bool:g_Hold[MAXPLAYERS + 1];
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) { if (buttons & IN_ATTACK) { if (!g_Hold[client]) { // зажал g_Hold[client] = true; } } else if (g_Hold[client]) { // отпустил g_Hold[client] = false; } } Спасибо за ответ , но дабы этот урок был не бесполезен , скажи пожалуйста : Код public Action:OnPlayerRunCmd Эта функция проверяет каждую секунду любые нажатия клавиш пользователя ?
|
|
| |
TEIN
|
Дата: Четверг, 11.07.2013, 18:48:15 | Сообщение # 7 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
ну так проверь new i = 0;
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) PrintToServer("%d", i++);
|
|
| |
panorama
|
Дата: Четверг, 11.07.2013, 20:10:27 | Сообщение # 8 |
|
Сообщений: 203
Репутация: 2 [ +/- ]
|
|
Цитата (TEIN) ну так проверь new i = 0;
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon) PrintToServer("%d", i++); Прикольно ) И еще один вопрос #define IN_ALT1 (1 << 14) #define IN_ALT2 (1 << 15) Это обычные ALT кнопки ?
|
|
| |
TEIN
|
Дата: Пятница, 12.07.2013, 06:11:35 | Сообщение # 9 |
|
Сообщений: 563
Репутация: 78 [ +/- ]
|
|
Проверь))
|
|
| |
panorama
|
Дата: Суббота, 13.07.2013, 13:31:14 | Сообщение # 10 |
|
Сообщений: 203
Репутация: 2 [ +/- ]
|
|
В том то и дело проверяю не работает ! public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3]) { if (client > 0) {
if (buttons & IN_ALT1) { PrintToChat(client, "\x03Ля ля ля :D."); } }
return Plugin_Continue; }Добавлено (13.07.2013, 13:31:14) --------------------------------------------- Ну подскажите пожалуйста )
|
|
| |