Lua Klans Y/N/H Tapper (Автокликер Y/N/H для самп)

Kapa211

Новичок
Автор темы
25
11
Описание: Скрипт за вас нажимает на клавиши Y/N/H. Работает на большинстве серверов с данной системой.
UPD: Починил команду.
Активация: /ctxd
Автор: Kapa211, randazzo.
Требования: Moonloader, Sampfuncs.
 

Вложения

  • kynt.lua
    1.3 KB · Просмотры: 4,644
Последнее редактирование:

Kapa211

Новичок
Автор темы
25
11
Вопросы по Lua скриптингу(https://blast.hk/threads/13892/page-67#post-175865) убран цикл, дописаны иды и нажатие через виртуал кей, ах да, ещё он у тебя в свернутом режиме работать не будет
Это не тот код это я делал скрипт что бы узнавать иды текстдравов, что относиться к этому скрипту так это подсказка про if not sampIsChatInputActive() then но я уже указал и жду проверки
 
Последнее редактирование:
1,417
1,028
вообще это такой себе код, да он будет работать на этом сервере, но не лучше ли сделать универсальный, который будет работать на всех серверах с похожей системой? Ставишь хук и ищешь N/Y в строке текстдрава, если буква найдена - нажимаешь клавишу, но не через виртуал кей, плиз.
 

ufdhbi

Известный
Проверенный
1,456
861
Lua:
if sampTextdrawGetString(2187):find("Press N") then
     setVirtualKeyDown(VK_N, true)
     wait(20)
     setVirtualKeyDown(VK_N, false)
     wait(20)
elseif sampTextdrawGetString(2187):find("Press Y") then
     setVirtualKeyDown(VK_Y, true)
     wait(20)
     setVirtualKeyDown(VK_Y, false)
     wait(20)
end
Вот улучшение скрипта, будет универсальнее кажись))
 
  • Нравится
Реакции: sa.lazin
1,417
1,028
Lua:
if sampTextdrawGetString(2187):find("Press N") then
     setVirtualKeyDown(VK_N, true)
     wait(20)
     setVirtualKeyDown(VK_N, false)
     wait(20)
elseif sampTextdrawGetString(2187):find("Press Y") then
     setVirtualKeyDown(VK_Y, true)
     wait(20)
     setVirtualKeyDown(VK_Y, false)
     wait(20)
end
Вот улучшение скрипта, будет универсальнее кажись))
не будет, на разных серверах могут быть разные id текстдравов и разный текст текстдрава, так что лучше искать просто N/Y

@ufdhbi
Lua:
local hook = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage("Klans StageRp Tapper загрузился успешно введите /clicktxd", 0xc0c24e)
    sampRegisterChatCommand("clicktxd",
    function()
        grogger = not grogger
        if grogger then sampAddChatMessage("Klans StageRp Tapper активирован", 0xc0c24e)
        else sampAddChatMessage("Klans StageRp Tapper деактивирован", 0xc0c24e) end
    end)
    wait(-1)
end


function hook.onShowTextDraw(textdrawId, data)
    if grogger then
        if data.text:find("Y") then
            sendKey(64)
        elseif data.text:find("N") then
            sendKey(128)
        elseif data.text:find("H") then
            sendKey(192)
        end
    end
end

function sendKey(key)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    local data = allocateMemory(68)
    sampStorePlayerOnfootData(myId, data)
    setStructElement(data, 36, 1, key, false)
    sampSendOnfootData(data)
    freeMemory(data)
end
 
Последнее редактирование модератором:
  • Нравится
Реакции: imring и ufdhbi

drags

Известный
Проверенный
155
207
@ufdhbi
Lua:
local hook = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage("Klans StageRp Tapper загрузился успешно введите /clicktxd", 0xc0c24e)
    sampRegisterChatCommand("clicktxd",
    function()
        grogger = not grogger
        if grogger then sampAddChatMessage("Klans StageRp Tapper активирован", 0xc0c24e)
        else sampAddChatMessage("Klans StageRp Tapper деактивирован", 0xc0c24e) end
    end)
    wait(-1)
end


function hook.onShowTextDraw(textdrawId, data)
    if grogger then
        if data.text:find("Y") then
            sendKey(64)
        elseif data.text:find("N") then
            sendKey(128)
        elseif data.text:find("H") then
            sendKey(192)
        end
    end
end

function sendKey(key)
    local _, myId = sampGetPlayerIdByCharHandle(PLAYER_PED)
    local data = allocateMemory(68)
    sampStorePlayerOnfootData(myId, data)
    setStructElement(data, 36, 1, key, false)
    sampSendOnfootData(data)
    freeMemory(data)
end
Можете подсказать где искать номер клавиш? Искал сам, но находит не то что нужно
 
1,417
1,028
Можете подсказать где искать номер клавиш? Искал сам, но находит не то что нужно
смотря для чего нужны id клавиш, если для отправки через пакеты, то качаешь raklogger > заходишь в игру > /drawsend player_sync 300 300 и нажимаешь клавиши, для остальных методов -
CharacterDecimalHex
Backspace88
Tab99
Enter13D
Shift (both)1610
Ctrl (both)1711
Pause1913
Caps Lock2014
Esc271B
Spacebar3220
Page Up3321
Page Down3422
End3523
Home3624
(left arrow)3725
(up arrow)3826
(right arrow)3927
(down arrow)4028
Insert452D
Delete462E
04830
14931
25032
35133
45234
55335
65436
75537
85638
95739
A or a6541
B or b6642
C or c6743
D or d6844
E or e6945
F or f7046
G or g7147
H or h7248
I or i7349
J or j744A
K or k754B
L or l764C
M or m774D
N or n784E
O or o794F
P or p8050
Q or q8151
R or r8252
S or s8353
T or t8454
U or u8555
V or v8656
W or w8757
X or x8858
Y or y8959
Z or z905A
(left Windows key)915B
(right Windows key)925C
(application key - located between
the right Windows and Ctrl keys
on most keyboards)
935D
0 (numpad with Num Lock on)9660
1 (numpad with Num Lock on)9761
2 (numpad with Num Lock on)9862
3 (numpad with Num Lock on)9963
4 (numpad with Num Lock on)10064
5 (numpad with Num Lock on)10165
6 (numpad with Num Lock on)10266
7 (numpad with Num Lock on)10367
8 (numpad with Num Lock on)10468
9 (numpad with Num Lock on)10569
* (numpad)1066A
+ (numpad)1076B
- (numpad)1096D
. (numpad)1106E
/ (numpad)1116F
F111270
F211371
F311472
F411573
F511674
F611775
F711876
F811977
F912078
F1012179
F111227A
F121237B
Num Lock14490
Scroll Lock14591
;186BA
=187BB
,188BC
-189BD
.190BE
/191BF
`192C0
[219DB
\220DC
]221DD
'222DE
[TBODY] [/TBODY]
 
  • Нравится
Реакции: ufdhbi

AnWu

Guardian of Order
Всефорумный модератор
4,683
5,130
не будет, на разных серверах могут быть разные id текстдравов и разный текст текстдрава, так что лучше искать просто N/Y
Не забывай что N и Y могут быть частью слов. Ложные срабатывания.
 
  • Нравится
Реакции: inf и ufdhbi

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,317
я оказывается боян позапозавчера сделал, ну лан. варик с хуком не прокнет. сразу говорю. ибо там нужный текстдрав может не меняясь висеть долгодолго.
что касается универсальности. циклить все текстдравы и сравнивать с них текст? хзхз. сомнительный костыль. что касается нажатий без виртуальных клавиш, то тут в принципе можно хитро выкрутиться, но зачем.
 
  • Нравится
Реакции: AnWu

AnWu

Guardian of Order
Всефорумный модератор
4,683
5,130
а активация на что? Пришел на работу - включил автонажатие, закончил работать - выключил
а если банально в названии сервера есть буква? и тд с названием. уневирсальности не добиться)