本文主要介紹雷蛇標準版壓槍宏(雷蛇鼠標宏怎么設置吃雞壓槍腳本),下面一起看看雷蛇標準版壓槍宏(雷蛇鼠標宏怎么設置吃雞壓槍腳本)相關資訊。
我們的鼠標最近十年發展很快。隨著性能的提升和方案的多樣化,鼠標在完成自身功能的前提下,可以提供更多的按鍵和定制功能。
如果你是fps玩家,你一定聽說過一個叫宏的東西,可以讓ak和m4像外掛軟件一樣穩定。那么,宏是不是一個插件,宏離得很遠呢?想寫一個宏應該怎么做?這一次,我將談論什么是宏以及它是如何實現的。
它是如何工作的?
什么是宏
什么是宏?目前我們說的宏,其實就是一個腳本,一個執行器。百度百科上說,計算機科學中的宏是一種抽象,按照一系列預定義的規則,替換一定的文本模式。那么這句話是什么意思呢?粗略地說,
舉個例子,今天我把短語“向上4”定義為鼠標向上移動4個像素,那么如果我在文檔中寫這句話,程序在文檔中讀這句話的時候,會向上移動鼠標 4個像素。
此刻寫的文字是腳本,這里的腳本是宏。它們的意思是一樣的,就像菠蘿和鳳梨(閩南話發音為菠蘿)。
宏是如何實現的?
宏的實現離不開軟件的支持。鼠標驅動程序實際上符合usb協議。例如,hid設備(如鼠標鍵盤搖桿)在當前和以前的usb下是免驅動的。
控制軟件可以通過鼠標鍵盤與驅動程序配合,實現我們需要的各種功能。
剛才說了鼠標鍵盤的宏的實現無非是軟件,控制軟件通過間接調用驅動程序就可以達到目的,比如前段提到的指針移動4個像素,因為設備性能的提升,
我們可以讓鼠標執行腳本,腳本也可以保存到鼠標。畢竟現在把這些字符存放在鼠標的存儲空間是很容易的。
當然也可能有編譯或者文本壓縮,類似偽代碼。
總的來說,我個人認為有幾種形式。一種是控制軟件本身鏈接到驅動程序,另一種是控制軟件本身只與鼠標通信,由其代為執行,由驅動程序軟件實現。
實鼠標宏呢?
鼠標宏實際上看起來像程序代碼,但它是偽代碼和腳本。比如羅技全線g系列,控制軟件支持lua script,這是一種經常在rpg等游戲中使用的腳本語言。
我從網上找了一個羅技鼠標槍宏,作為這個例子。因為它使用xml格式,所以我們可以簡單地打開它。這部分圖主要是鼠標配置文件。
向下拖動,則會看到腳本的部分,密密麻麻的并不容易查看,因為這部分是交由控制軟件讀取所以就沒有前面部分有依有據的樣子
總的來說,羅技的配置文件在我看來是以三部分組成,按鍵名稱定義,鼠標配置c包括各檔位的dpi,燈的亮度顏色,型號,然后才是腳本
如何寫鼠標宏
鼠標宏,可能很多玩家在被惡心過后,就覺得這東西臭不可聞,不過技術是技術,用在哪里歸咎于人,自定義按鍵最開始的宣傳點是mmorpg中所用的,比如wow中技能釋放,
可以通過按鍵記錄的方式,一鍵觸發出來,而宏則提供了更高級的形式,釋放后角色自動位移,并且因為是驅動層級所以不會被檢測為外掛,咳咳。
這邊我以g9x設備為例,考慮到軟件成熟度,不選用羅技g hub控制軟件,使用早期9.0版本的logitech 游戲軟件。
正常記錄宏是這樣的,可以實現鍵盤按鍵記錄,可以完成一系列功能,比如輸入密碼,比如一鍵打開瀏覽器,等等等,這里模式是板載存儲模式
如果是用lua腳本的宏,就可以實現更復雜的功能,也讓人覺得'這才是宏',下面舉例一段宏,我也會盡量讓所有人理解
functiononevent(event,arg)
if(event=='profile_activated')then
--profilehasbeenactivated
end
end
上面的這一段宏,是在配置文件激活的時候運行,當然這一段什么功能也沒有執行,他是空的,你如果要執行什么我們必須要添加一些東西到里面。
我們來認識一下,常用的一些'事情',在宏文件中是event
g_pressed 按下g系列的按鍵,g系列自定義鍵在羅技的鍵盤上有挺多
g_released g按鍵釋放
m_pressed 按下m系列的按鍵
m_released m系列按鍵釋放
mouse_button_ pressed 按下鼠標按鈕
mouse_button_released 松開鼠標按鈕,也就是你手指抬起的時候
現在我們來寫一個簡單的宏,打開txt文本編輯器,當然我更建議你使用windows10自帶的代碼編輯器,把這些復制進去。
function onevent(event,arg)
if(event=='mouse_button_pressed' and arg==2) then
outputlogmessage('鼠標按鍵2按下了');
end
end
然后保存文件,做的非常好,你現在已經掌握了如何寫和保存宏了!這可是一大進步
現在,可以打開控制軟件,為了開啟強大的功能我們必須設置為使用pc端控制軟件來實現功能的模式
進入宏編輯界面,新建一個配置文件,因為是實驗所以就先只在記事本.exe里面生效
保存后界面如下,我們可以試試把宏導入進去,當然現在還沒到時候
在配置文件圖標處右鍵,第七項,編寫腳本
彈出如下窗口,可以在這里編輯我們的宏
剛剛不是保存了文本文件嗎,復制過來看看吧
ctrl+s保存宏然后就可以在記事本窗口下實驗了,按動鼠標右鍵,下方會有提示我們設置好的語句。都是問號是正常的因為沒有字庫,我寫的只是為了方便理解
當然到這你應該明白了,事件要再加上arg這個數值才等于指定的按鈕,比如鼠標事件+按鈕對應的數值,才等于具體是哪個按鈕,鍵盤g按鍵什么的也是一樣的,
鼠標左鍵是1,右鍵是2,中按鍵是3,其他鼠標也是,至于自定義按鍵嘛,這個請自行嘗試了
然后我們可以寫點激動人心的東西,比如來理解下用鼠標宏要怎么壓槍
使用鼠標宏壓槍
其實,為了保護操作,左鍵是不能綁定腳本的,鼠標必須有一個按鍵必須被設置為左鍵,在剛剛寫腳本的界面你應該也會發現不能讓左鍵被識別。也因此,我們得重新設置一下鼠標
側面的按鍵設置一個按鈕,作為鼠標的左鍵
鼠標左鍵,就隨意設置為其他按鍵了
另外為了方便演示,設置畫圖也就是mspaint.exe作為宏應用程序,這個軟件簡直和記事本一樣經典,
它的位置在c:\programdata\microsoft\windows\start menu\programs\accessories
再然后,要讓左鍵識別,我們要在腳本觸發的時候加上一句
enableprimarymousebuttonevents(true)
接下來要了解幾段話,下面這一段話是在鼠標當前坐標下相對進行移動的,x是橫向移動,y就是豎向移動
movemouserelative(x,y)
1,我們可以寫一個這樣的宏,每次點擊鼠標左鍵就可以讓鼠標的坐標向下移動一段距離,下面這一段復制到編輯器里面可以直接看到效果
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
movemouserelative(0, 4) 每次點擊左鍵向下移動4單位
end
end
2,擴展一下,按住鼠標左鍵的時候,坐標會自動向下,松開左鍵的時候,停止,這樣一個簡單的壓槍宏就完成了
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 --按下的時候,翻轉一下,false變true
ak --這是壓槍的函數
end
if (event=='mouse_button_released' and arg==1) then
isonclick=false
outputlogmessage('release')
end
end
function ak
repeat
if (ismousebuttonpressed(1)) then --如果鼠標左鍵按下了,就執行向下移動2.5個位置的語句
movemouserelative(0, 2.5)
sleep(30)
end
until(not isonclick) 按鍵沒按下,退出
end
隨便加的圖
3,再擴展一下,隨著按下時間的變化,移動坐標的幅度也變化,我想你們也不會去看,直接復制然后試試就行了
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 --用于記錄鼠標按下
ak
end
if (event=='mouse_button_released' and arg==1) then
isonclick=false --松開按鍵的時候,讓向下移動的宏失效
outputlogmessage('release')
end
end
function ak
shottime=0 --這里是左鍵一直按著的時間
repeat
if (ismousebuttonpressed(1)) then
if shottime 480 then --時間小于480個單位的時候,向下移動2.5個位置
movemouserelative(0, 2.5)
elseif shottime 2400 then --如果大于480單位,但是小于2400單位的時候,移動4.5個位置,增大幅度
movemouserelative(0, 4.5)
else --其他時候,比如時間大于2400單位就移動5.5個位置
movemouserelative(0, 5.5)
end
end
shottime=shottime + 30
sleep(30)
until(not isonclick)
end
如果要開關,也就是說,有時候要用有時候不要用壓槍宏,那我們就設置一個側面的按鍵用于解決這個問題,它就用來啟用或者禁用宏
function onevent(event, arg)
if (event=='profile_activated') then
enableprimarymousebuttonevents(true)
macrostate=false --用于開關壓槍宏
elseif event=='profile_deactivated' then
isonclick=false
end
if(event=='mouse_button_pressed' and arg==1) then
isonclick=not isonclick --用于記錄鼠標按下
ak
end
if (event=='mouse_button_released' and arg==1) then
isonclick=false --松開按鍵的時候,讓向下移動的宏失效
end
if (event=='mouse_button_pressed' and arg==5) then
--當你按下側邊按鍵時候,切換宏啟用的開關,從而控制壓槍的啟動的停用
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 --這里是左鍵一直按著的時間
repeat
if (ismousebuttonpressed(1) and macrostate) then --如果按鍵按下了,并且壓槍宏開關是開的時候則執行
if shottime 480 then --時間小于480個單位的時候,向下移動2.5個位置
movemouserelative(0, 2.5)
elseif shottime 2400 then --如果大于480單位,但是小于2400單位的時候,移動4.5個位置,增大幅度
movemouserelative(0, 4.5)
else --其他時候,比如時間大于2400單位就移動5.5個位置
movemouserelative(0, 5.5)
end
end
shottime=shottime + 30 --左鍵按下的持續時間在這變化,這要依據暫停時間進行修改
sleep(30)
until(not isonclick) --鼠標已經抬起了,退出
end
如何切換槍械,對應不同的槍?這個融會貫通一下就行了吧,我就不寫了
總結羅技宏用的是lua腳本,本身編寫難度和可讀性我個人是覺得還不錯,當然了,如果你從未接觸過代碼和腳本,那是有很大難度的,至少從第一句開始就會頭疼,這很正常,如果你看了后理解了,
那恭喜你,你在我的想法中應該是屬于2%的人群,是的,我覺得能看懂的只有2%
可能你到這里還有一些疑問,比如這里的這種宏是不是外掛,宏當然是外掛,宏本來就屬于在執行外部程序,當然這比那些純軟件的比如d3d覆蓋ui繪制透視框的,還有讀取內存地址的非內存掛來說,可能更高級一點,
它一定程度來說是硬件外掛,是通過驅動程序執行的。
vivo手機怎么傳送文件到電腦(vivo手機資料如何傳到電腦)
聯想手機的恢復出廠設置密碼(聯想手機恢復出廠設置方法)
安裝系統怎么安裝,電腦怎么裝系統啊
win7打印機脫機狀態怎么解除(win7打印機脫機怎么重新連接)
游戲電腦用于辦公(玩游戲的電腦適合辦公嗎)
雷蛇標準版壓槍宏(雷蛇鼠標宏怎么設置吃雞壓槍腳本)
抖音里的回關是什么意思啊(抖音里的回關是什么意思呀)
2400g核顯(amd2400g核顯相當于什么顯卡)
beats耳機丟了有追蹤嗎怎么找回(beats耳機丟了有定位嗎)
小米note4怎么隱藏應用,小米11怎么隱藏應用
如何裝雙硬盤雙系統,雙硬盤雙系統如何安裝需詳細安裝過程
電腦硬盤合并分區后數據全部丟失,電腦拆下來的硬盤怎么合并分區
蘋果7電池壞了怎么辦,iphone電池壞了怎么辦
兩塊機械硬盤怎么連到電腦上,一臺電腦怎么用兩個機械硬盤
魅族pro5怎么設置指紋支付
qq里字體怎么改字體大小(qq怎么修改字體大小)
三星手機G6000怎么卡刷,三星g6000手機參數
蘋果4airplay怎么操作,蘋果AIRPLAY怎么弄軟件還是什么看游戲里說用這個能在電視上玩
iphone13電池容量多大(蘋果13手機電池容量多少)
三星s5660怎么刷機,S5660如何刷機啊