最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

關于羅技的隨機延遲

2023-08-10 16:28 作者:Nautaluder  | 我要投稿


總共講四個問題:1種固定延遲 + 3種隨機延遲

(正態(tài)分布隨機數部分參考https://github.com/Github-Afool4U)

(延遲不準部分參考https://github.com/Github-CHN-FengGe)


不講廢話,用得到羅技里面隨機數的,大多出現在需要連點的情況,比如:

這樣是以固定10ms的延遲進行連點,這樣就引出第一個問題

Sleep()函數其實并不準確

Win10 1909系統(tǒng)以前,Sleep(1) = 1ms,之后的Sleep(1) = 15.6 ms

所以你調好的參數,會因為不同系統(tǒng)對Sleep()函數反饋不同,從而導致效果不同

解決方案:利用GetRunningTime() 解決

GetRunningTime() 獲取腳本運行時間,本身就是精確到毫秒的,兩者相減,如果小于我們所需的延遲,那么什么都不干,就相當于延遲??梢员WC沒有上面提到的 1 : 15.6 的差距。


下面說第一種隨機延遲

這樣就引出第二個問題

math.random(m,n)真的是隨機數嗎


如圖,不用過多解釋,腳本運行兩次,單次里面確實都是隨機數,但是第二次與第一次隨機的完全重合


如何解決這個問題,就引出第三個問題

math.randomseed()隨機數種子

可以看到,隨機數種子math.randomseed(1) 與 math.randomseed(50),種子不同,得到的隨機數也不同,

但我們不可能每運行一次,就手動更改一次種子,所以

GetDate() ,獲取當前日期時間,"%H%M%S,輸出成時分秒格式,比如現在是下午三點三十分三十秒,輸出153030,

這樣可以保證每次種子都不同,但是只有秒在變化,153030與153031差別是在太小,所以

:reverse() 逆序,153030,153031 變成了 030351,130351,這樣差別就很大了

運行兩次,不用手動修改種子,隨機數完全不同


第四個問題

隨機數是以怎樣的概率分布的

隨機分布的,比如math.random(1,10),1ms ~ 10ms 這10個數中,每個數出現的概率是相同的,

如果畫一張圖,x軸代表數字,y軸代表改數字出現的次數

大致長這個樣子,而人手點出來,一定不是這個樣子。

比如人類穩(wěn)定發(fā)揮可以每5ms點擊一次,

偶爾發(fā)揮失常會大于5ms,鵝偶爾發(fā)揮超長會小于5ms,大部分都在5ms左右:


應當符合正態(tài)分布,所以應該如何實現呢?

解決方案:


定義一個random()來代替羅技自帶的math.random(),使得輸出的隨機數概率符合正態(tài)分布,更像人手點擊,不容易被檢測,前提是你的隨機數范圍是人類能點擊的區(qū)間。

感謝閱讀


關于羅技的隨機延遲的評論 (共 條)

分享到微博請遵守國家法律
保山市| 清新县| 南丹县| 宿松县| 琼结县| 禄丰县| 宁化县| 石屏县| 天峨县| 汤原县| 武宁县| 吉水县| 红原县| 喀喇沁旗| 永平县| 德惠市| 库尔勒市| 肥东县| 启东市| 衡阳县| 上高县| 乌拉特后旗| 德化县| 梁平县| 余江县| 金平| 英超| 肥乡县| 明星| 尚志市| 泾川县| 皋兰县| 肥城市| 枞阳县| 吴堡县| 乃东县| 葵青区| 三河市| 彝良县| 高邮市| 德格县|