雷蛇標(biāo)準(zhǔn)版壓槍宏(雷蛇鼠標(biāo)宏怎么設(shè)置吃雞壓槍腳本)

發(fā)布時(shí)間:2023-08-25
本文主要介紹雷蛇標(biāo)準(zhǔn)版壓槍宏(雷蛇鼠標(biāo)宏怎么設(shè)置吃雞壓槍腳本),下面一起看看雷蛇標(biāo)準(zhǔn)版壓槍宏(雷蛇鼠標(biāo)宏怎么設(shè)置吃雞壓槍腳本)相關(guān)資訊。
我們的鼠標(biāo)最近十年發(fā)展很快。隨著性能的提升和方案的多樣化,鼠標(biāo)在完成自身功能的前提下,可以提供更多的按鍵和定制功能。
如果你是fps玩家,你一定聽(tīng)說(shuō)過(guò)一個(gè)叫宏的東西,可以讓ak和m4像外掛軟件一樣穩(wěn)定。那么,宏是不是一個(gè)插件,宏離得很遠(yuǎn)呢?想寫一個(gè)宏應(yīng)該怎么做?這一次,我將談?wù)撌裁词呛暌约八侨绾螌?shí)現(xiàn)的。
它是如何工作的?
什么是宏
什么是宏?目前我們說(shuō)的宏,其實(shí)就是一個(gè)腳本,一個(gè)執(zhí)行器。百度百科上說(shuō),計(jì)算機(jī)科學(xué)中的宏是一種抽象,按照一系列預(yù)定義的規(guī)則,替換一定的文本模式。那么這句話是什么意思呢?粗略地說(shuō),
舉個(gè)例子,今天我把短語(yǔ)“向上4”定義為鼠標(biāo)向上移動(dòng)4個(gè)像素,那么如果我在文檔中寫這句話,程序在文檔中讀這句話的時(shí)候,會(huì)向上移動(dòng)鼠標(biāo) 4個(gè)像素。
此刻寫的文字是腳本,這里的腳本是宏。它們的意思是一樣的,就像菠蘿和鳳梨(閩南話發(fā)音為菠蘿)。
宏是如何實(shí)現(xiàn)的?
宏的實(shí)現(xiàn)離不開(kāi)軟件的支持。鼠標(biāo)驅(qū)動(dòng)程序?qū)嶋H上符合usb協(xié)議。例如,hid設(shè)備(如鼠標(biāo)鍵盤搖桿)在當(dāng)前和以前的usb下是免驅(qū)動(dòng)的。
控制軟件可以通過(guò)鼠標(biāo)鍵盤與驅(qū)動(dòng)程序配合,實(shí)現(xiàn)我們需要的各種功能。
剛才說(shuō)了鼠標(biāo)鍵盤的宏的實(shí)現(xiàn)無(wú)非是軟件,控制軟件通過(guò)間接調(diào)用驅(qū)動(dòng)程序就可以達(dá)到目的,比如前段提到的指針移動(dòng)4個(gè)像素,因?yàn)樵O(shè)備性能的提升,
我們可以讓鼠標(biāo)執(zhí)行腳本,腳本也可以保存到鼠標(biāo)。畢竟現(xiàn)在把這些字符存放在鼠標(biāo)的存儲(chǔ)空間是很容易的。
當(dāng)然也可能有編譯或者文本壓縮,類似偽代碼。
總的來(lái)說(shuō),我個(gè)人認(rèn)為有幾種形式。一種是控制軟件本身鏈接到驅(qū)動(dòng)程序,另一種是控制軟件本身只與鼠標(biāo)通信,由其代為執(zhí)行,由驅(qū)動(dòng)程序軟件實(shí)現(xiàn)。
實(shí)鼠標(biāo)宏呢?
鼠標(biāo)宏實(shí)際上看起來(lái)像程序代碼,但它是偽代碼和腳本。比如羅技全線g系列,控制軟件支持lua script,這是一種經(jīng)常在rpg等游戲中使用的腳本語(yǔ)言。
我從網(wǎng)上找了一個(gè)羅技鼠標(biāo)槍宏,作為這個(gè)例子。因?yàn)樗褂脁ml格式,所以我們可以簡(jiǎn)單地打開(kāi)它。這部分圖主要是鼠標(biāo)配置文件。
向下拖動(dòng),則會(huì)看到腳本的部分,密密麻麻的并不容易查看,因?yàn)檫@部分是交由控制軟件讀取所以就沒(méi)有前面部分有依有據(jù)的樣子
總的來(lái)說(shuō),羅技的配置文件在我看來(lái)是以三部分組成,按鍵名稱定義,鼠標(biāo)配置c包括各檔位的dpi,燈的亮度顏色,型號(hào),然后才是腳本
如何寫鼠標(biāo)宏
鼠標(biāo)宏,可能很多玩家在被惡心過(guò)后,就覺(jué)得這東西臭不可聞,不過(guò)技術(shù)是技術(shù),用在哪里歸咎于人,自定義按鍵最開(kāi)始的宣傳點(diǎn)是mmorpg中所用的,比如wow中技能釋放,
可以通過(guò)按鍵記錄的方式,一鍵觸發(fā)出來(lái),而宏則提供了更高級(jí)的形式,釋放后角色自動(dòng)位移,并且因?yàn)槭球?qū)動(dòng)層級(jí)所以不會(huì)被檢測(cè)為外掛,咳咳。
這邊我以g9x設(shè)備為例,考慮到軟件成熟度,不選用羅技g hub控制軟件,使用早期9.0版本的logitech 游戲軟件。
正常記錄宏是這樣的,可以實(shí)現(xiàn)鍵盤按鍵記錄,可以完成一系列功能,比如輸入密碼,比如一鍵打開(kāi)瀏覽器,等等等,這里模式是板載存儲(chǔ)模式
如果是用lua腳本的宏,就可以實(shí)現(xiàn)更復(fù)雜的功能,也讓人覺(jué)得'這才是宏',下面舉例一段宏,我也會(huì)盡量讓所有人理解
functiononevent(event,arg)
if(event=='profile_activated')then
--profilehasbeenactivated
end
end
上面的這一段宏,是在配置文件激活的時(shí)候運(yùn)行,當(dāng)然這一段什么功能也沒(méi)有執(zhí)行,他是空的,你如果要執(zhí)行什么我們必須要添加一些東西到里面。
我們來(lái)認(rèn)識(shí)一下,常用的一些'事情',在宏文件中是event
g_pressed 按下g系列的按鍵,g系列自定義鍵在羅技的鍵盤上有挺多
g_released g按鍵釋放
m_pressed 按下m系列的按鍵
m_released m系列按鍵釋放
mouse_button_ pressed 按下鼠標(biāo)按鈕
mouse_button_released 松開(kāi)鼠標(biāo)按鈕,也就是你手指抬起的時(shí)候
現(xiàn)在我們來(lái)寫一個(gè)簡(jiǎn)單的宏,打開(kāi)txt文本編輯器,當(dāng)然我更建議你使用windows10自帶的代碼編輯器,把這些復(fù)制進(jìn)去。
function onevent(event,arg)
if(event=='mouse_button_pressed' and arg==2) then
outputlogmessage('鼠標(biāo)按鍵2按下了');
end
end
然后保存文件,做的非常好,你現(xiàn)在已經(jīng)掌握了如何寫和保存宏了!這可是一大進(jìn)步
現(xiàn)在,可以打開(kāi)控制軟件,為了開(kāi)啟強(qiáng)大的功能我們必須設(shè)置為使用pc端控制軟件來(lái)實(shí)現(xiàn)功能的模式
進(jìn)入宏編輯界面,新建一個(gè)配置文件,因?yàn)槭菍?shí)驗(yàn)所以就先只在記事本.exe里面生效
保存后界面如下,我們可以試試把宏導(dǎo)入進(jìn)去,當(dāng)然現(xiàn)在還沒(méi)到時(shí)候
在配置文件圖標(biāo)處右鍵,第七項(xiàng),編寫腳本
彈出如下窗口,可以在這里編輯我們的宏
剛剛不是保存了文本文件嗎,復(fù)制過(guò)來(lái)看看吧
ctrl+s保存宏然后就可以在記事本窗口下實(shí)驗(yàn)了,按動(dòng)鼠標(biāo)右鍵,下方會(huì)有提示我們?cè)O(shè)置好的語(yǔ)句。都是問(wèn)號(hào)是正常的因?yàn)闆](méi)有字庫(kù),我寫的只是為了方便理解
當(dāng)然到這你應(yīng)該明白了,事件要再加上arg這個(gè)數(shù)值才等于指定的按鈕,比如鼠標(biāo)事件+按鈕對(duì)應(yīng)的數(shù)值,才等于具體是哪個(gè)按鈕,鍵盤g按鍵什么的也是一樣的,
鼠標(biāo)左鍵是1,右鍵是2,中按鍵是3,其他鼠標(biāo)也是,至于自定義按鍵嘛,這個(gè)請(qǐng)自行嘗試了
然后我們可以寫點(diǎn)激動(dòng)人心的東西,比如來(lái)理解下用鼠標(biāo)宏要怎么壓槍
使用鼠標(biāo)宏壓槍
其實(shí),為了保護(hù)操作,左鍵是不能綁定腳本的,鼠標(biāo)必須有一個(gè)按鍵必須被設(shè)置為左鍵,在剛剛寫腳本的界面你應(yīng)該也會(huì)發(fā)現(xiàn)不能讓左鍵被識(shí)別。也因此,我們得重新設(shè)置一下鼠標(biāo)
側(cè)面的按鍵設(shè)置一個(gè)按鈕,作為鼠標(biāo)的左鍵
鼠標(biāo)左鍵,就隨意設(shè)置為其他按鍵了
另外為了方便演示,設(shè)置畫(huà)圖也就是mspaint.exe作為宏應(yīng)用程序,這個(gè)軟件簡(jiǎn)直和記事本一樣經(jīng)典,
它的位置在c:\programdata\microsoft\windows\start menu\programs\accessories
再然后,要讓左鍵識(shí)別,我們要在腳本觸發(fā)的時(shí)候加上一句
enableprimarymousebuttonevents(true)
接下來(lái)要了解幾段話,下面這一段話是在鼠標(biāo)當(dāng)前坐標(biāo)下相對(duì)進(jìn)行移動(dòng)的,x是橫向移動(dòng),y就是豎向移動(dòng)
movemouserelative(x,y)
1,我們可以寫一個(gè)這樣的宏,每次點(diǎn)擊鼠標(biāo)左鍵就可以讓鼠標(biāo)的坐標(biāo)向下移動(dòng)一段距離,下面這一段復(fù)制到編輯器里面可以直接看到效果
function onevent(event, arg)
if (event=='profile_activated') then
enableprimarymousebuttonevents(true) --加上這句后,左鍵也可以隨便觸發(fā)腳本
elseif event=='profile_deactivated' then
isonclick=false
end
if(event=='mouse_button_pressed' and arg==1) then
movemouserelative(0, 4) 每次點(diǎn)擊左鍵向下移動(dòng)4單位
end
end
2,擴(kuò)展一下,按住鼠標(biāo)左鍵的時(shí)候,坐標(biāo)會(huì)自動(dòng)向下,松開(kāi)左鍵的時(shí)候,停止,這樣一個(gè)簡(jiǎn)單的壓槍宏就完成了
function onevent(event, arg)
if (event=='profile_activated') then
enableprimarymousebuttonevents(true)
elseif event=='profile_deactivated' then
isonclick=false --這是記錄按鍵按下了沒(méi)有的,一開(kāi)始是沒(méi)有
end
if(event=='mouse_button_pressed' and arg==1) then
isonclick=not isonclick --按下的時(shí)候,翻轉(zhuǎn)一下,false變true
ak --這是壓槍的函數(shù)
end
if (event=='mouse_button_released' and arg==1) then
isonclick=false
outputlogmessage('release')
end
end
function ak
repeat
if (ismousebuttonpressed(1)) then --如果鼠標(biāo)左鍵按下了,就執(zhí)行向下移動(dòng)2.5個(gè)位置的語(yǔ)句
movemouserelative(0, 2.5)
sleep(30)
end
until(not isonclick) 按鍵沒(méi)按下,退出
end
隨便加的圖
3,再擴(kuò)展一下,隨著按下時(shí)間的變化,移動(dòng)坐標(biāo)的幅度也變化,我想你們也不會(huì)去看,直接復(fù)制然后試試就行了
function onevent(event, arg)
if (event=='profile_activated') then
enableprimarymousebuttonevents(true)
elseif event=='profile_deactivated' then
isonclick=false
end
if(event=='mouse_button_pressed' and arg==1) then
isonclick=not isonclick --用于記錄鼠標(biāo)按下
ak
end
if (event=='mouse_button_released' and arg==1) then
isonclick=false --松開(kāi)按鍵的時(shí)候,讓向下移動(dòng)的宏失效
outputlogmessage('release')
end
end
function ak
shottime=0 --這里是左鍵一直按著的時(shí)間
repeat
if (ismousebuttonpressed(1)) then
if shottime 480 then --時(shí)間小于480個(gè)單位的時(shí)候,向下移動(dòng)2.5個(gè)位置
movemouserelative(0, 2.5)
elseif shottime 2400 then --如果大于480單位,但是小于2400單位的時(shí)候,移動(dòng)4.5個(gè)位置,增大幅度
movemouserelative(0, 4.5)
else --其他時(shí)候,比如時(shí)間大于2400單位就移動(dòng)5.5個(gè)位置
movemouserelative(0, 5.5)
end
end
shottime=shottime + 30
sleep(30)
until(not isonclick)
end
如果要開(kāi)關(guān),也就是說(shuō),有時(shí)候要用有時(shí)候不要用壓槍宏,那我們就設(shè)置一個(gè)側(cè)面的按鍵用于解決這個(gè)問(wèn)題,它就用來(lái)啟用或者禁用宏
function onevent(event, arg)
if (event=='profile_activated') then
enableprimarymousebuttonevents(true)
macrostate=false --用于開(kāi)關(guān)壓槍宏
elseif event=='profile_deactivated' then
isonclick=false
end
if(event=='mouse_button_pressed' and arg==1) then
isonclick=not isonclick --用于記錄鼠標(biāo)按下
ak
end
if (event=='mouse_button_released' and arg==1) then
isonclick=false --松開(kāi)按鍵的時(shí)候,讓向下移動(dòng)的宏失效
end
if (event=='mouse_button_pressed' and arg==5) then
--當(dāng)你按下側(cè)邊按鍵時(shí)候,切換宏啟用的開(kāi)關(guān),從而控制壓槍的啟動(dòng)的停用
if not macrostate then
outputlogmessage('switch macro on')
macrostate=not macrostate
else
outputlogmessage('switch macro off')
macrostate=not macrostate
end
end
end
function ak
shottime=0 --這里是左鍵一直按著的時(shí)間
repeat
if (ismousebuttonpressed(1) and macrostate) then --如果按鍵按下了,并且壓槍宏開(kāi)關(guān)是開(kāi)的時(shí)候則執(zhí)行
if shottime 480 then --時(shí)間小于480個(gè)單位的時(shí)候,向下移動(dòng)2.5個(gè)位置
movemouserelative(0, 2.5)
elseif shottime 2400 then --如果大于480單位,但是小于2400單位的時(shí)候,移動(dòng)4.5個(gè)位置,增大幅度
movemouserelative(0, 4.5)
else --其他時(shí)候,比如時(shí)間大于2400單位就移動(dòng)5.5個(gè)位置
movemouserelative(0, 5.5)
end
end
shottime=shottime + 30 --左鍵按下的持續(xù)時(shí)間在這變化,這要依據(jù)暫停時(shí)間進(jìn)行修改
sleep(30)
until(not isonclick) --鼠標(biāo)已經(jīng)抬起了,退出
end
如何切換槍械,對(duì)應(yīng)不同的槍?這個(gè)融會(huì)貫通一下就行了吧,我就不寫了
總結(jié)羅技宏用的是lua腳本,本身編寫難度和可讀性我個(gè)人是覺(jué)得還不錯(cuò),當(dāng)然了,如果你從未接觸過(guò)代碼和腳本,那是有很大難度的,至少?gòu)牡谝痪溟_(kāi)始就會(huì)頭疼,這很正常,如果你看了后理解了,
那恭喜你,你在我的想法中應(yīng)該是屬于2%的人群,是的,我覺(jué)得能看懂的只有2%
可能你到這里還有一些疑問(wèn),比如這里的這種宏是不是外掛,宏當(dāng)然是外掛,宏本來(lái)就屬于在執(zhí)行外部程序,當(dāng)然這比那些純軟件的比如d3d覆蓋ui繪制透視框的,還有讀取內(nèi)存地址的非內(nèi)存掛來(lái)說(shuō),可能更高級(jí)一點(diǎn),
它一定程度來(lái)說(shuō)是硬件外掛,是通過(guò)驅(qū)動(dòng)程序執(zhí)行的。
上一個(gè):oppo手機(jī)電池不耐用怎么辦(華為手機(jī)電池不耐用怎么辦)
下一個(gè):電腦屏幕有點(diǎn)綠色怎么回事(電腦屏發(fā)綠是怎么回事)

如何快速充手機(jī)電量(如何讓手機(jī)快速充電 10秒)
磁盤壞了的特征,硬盤損壞的表現(xiàn)
全球手機(jī)出貨量2021(2020全球手機(jī)市場(chǎng)出貨量)
回填灰土施工時(shí)質(zhì)量控制要點(diǎn)有那些?
建筑工程造價(jià)的影響因素有什么?
dynalco轉(zhuǎn)速表維修
元宵節(jié)也是中國(guó)的情人節(jié)
如何檢測(cè)硬盤是否損壞,怎么判定硬盤是不是壞了
win7如何擴(kuò)展c盤
賽博朋克2077dlc免費(fèi)(賽博朋克免費(fèi))
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos