minecraft:如何做外掛釣魚機(基礎編程教程

2021-01-15 txrx的控制終端

釣魚一直是人們生活中的一部分,在任何有評論功能的網站中都不可避免的出現,可悲的發布者以獲得關注,浪費他人時間為目的,變著花樣編寫著評論。


不過今天講的不是上面那種釣魚,我只是忍不住。

「釣魚」操作作為一種獲取資源的方式,在很多遊戲裡都有,《饑荒》、《未轉變者》和《我的世界》裡甚至可以作為一種主要的遊戲方式(當然也可以完全不這麼做)。特點是無聊,大體上投入的時間是不值的。

(其實1.15之後刷鐵機非常香,在此推薦一下)


多人遊戲的時候可以使用教程中的掛機器,假裝自己努力釣魚,獲得一堆附魔弓,獲得一堆附魔書,吃不完的食物,說不定還有做腳手架的材料。

(自己單人玩的時候這麼搞還不如直接用「/give」。


釣魚很重要,所以自動釣魚也很重要,為何不用紅石呢?因為紅石釣魚機需要鐵和紅石材料搭建,這是在遊戲初期沒有的資源。紅石結構會遮擋水面,根據遊戲機制而降低釣魚效率,而外掛的程序就不會有影響。

(結合刷鐵機和村民交易,其實甚至不需要下礦,基礎世界可以玩成空島生存)

(1.17能出現了能聽聲音的紅石模塊,感覺拿來做釣魚機會非常好,不過如上優點仍然是有效的)



首先找一格水,去完成一整套釣魚流程,注意屏幕上的差異:

拋竿:

釣魚中:

看到魚:

收竿:


它們的變化釣魚時有氣泡,浮漂浮動,在魚咬鉤之前會看到由遠及近的水花。

(而且物品欄會有魚竿狀態的顯示

(成功釣魚會獲得經驗,有右下角也可以有聲音字幕(在設置裡頭開


最明顯的判斷應該是在能釣到魚時,浮漂會下降到水面以下。也就是說在釣魚的時候,如果魚沒有咬鉤,浮漂會在水面以上,此時不收竿;如果魚咬了鉤,浮漂就會下降,此時收竿釣魚。然後再點一下滑鼠重新拋竿,構成一整個循環。


也就是說,在水面上看到浮漂,就點兩下,如果看不到,就不點。


而「看到浮漂」的位置只有水面上那一塊區域。那就只截圖那塊區域用於判斷。而且如果保證那塊區域唯一出現紅色的情況就是圖標,就可以只使用顏色進行判斷。

                  

(↑這一小塊區域已經足夠區分是否需要收竿


把它們處理為黑白的以更簡便的進行編程(實際上是劇情需要[1]

                  


程序非常簡單:

截圖中如果有亮度大於一定值的區域,且該區域足夠大,就判斷浮漂在水面上,那麼就執行收拋竿操作。


試幾次之後成功了,看起來沒啥問題,那麼就可以試著掛機了。


。。。


二十分鐘之後,魚竿沒了,而且程序還一直在狂點右鍵。


首先,會發現它沒能力判斷魚竿是否在被拋出,如果伺服器中延遲過高,會導致它拋竿後一段時間沒有效果(即使是0.1秒,它已經截了兩三次圖了)。有些時候網絡環境特別差,一段時間內任何操作都沒有反應。。


然後在拋竿後,因為遊戲對上一個點擊操作沒有反應,導致屏幕上沒有浮漂,就和原先的設想不一樣了。


這是非常嚴重的問題(大概),這使這整個過程有概率完全崩潰,電腦耗著掛了一天機,才發現釣到幾條魚,好不容易搞到的附魔魚竿也沒了。


接下來畫一張程序邏輯圖,來更清晰的解釋整個過程(久違的打開ppt


以馬爾科夫鏈的格式來講:(狀態會轉移到不同的狀態。

之前的想法是:

其實是:

(↑如果運氣不好,它就會卡在右下角的循環裡,被連續的收放竿操作浪費掉所有魚竿耐久度


需要在執行操作之後再進行邏輯判斷,查看自身的狀態:

(註:循環在某些程式語言中是「跳轉」的意思


其實可以發現兩個邏輯判斷的內容是重複的,不如:


(做到這一步,代碼量變少了但是可讀性變差了很多,可以說是十分不python的,如果熟讀python的PEP,就知道儘量不要這麼做,以保證其它看代碼的人能更好的看懂。這裡只以教學目的告知可以這麼簡化。

(↑就像數學課本裡經常會有這種無聊的簡化,而且考試還會考)



另一個問題是天氣和外界光照的變化,這裡因為我太懶了不想截圖就只用文字講:

天黑時反覆收竿,下雨天不收竿。

分別對應False postive和True negative。

這是進行分類時很常見的問題,一般可以增加判斷信息量(維度數量)、精度的方式解決。但是在這個「釣魚掛機器中」,最簡單的方法是增加照明,釣魚點後面放深色且顏色統一的方塊,使用合理的光影或者不使用光影,通過改變遊戲內容環境來解決問題。


下雨天不收竿的原因是因為雨的藍色與浮漂的顏色相混淆,導致如果區域中始終有雨,就會讓程序以為浮漂始終在區域中,就不會有收竿操作。

(嘗試伏筆回收[1]

(其實可以通過去沙漠自然地形釣魚以避免這個問題,然而下雨時釣魚效率倍增,所以解決這個問題比避免這個問題益處大很多)

這個問題可以通過更換顏色通道甚至是HSV轉換的方式解決。


(其實遊戲在線時間長了有可能遇到掉線的情況,這時候就要做自動登錄,不過其實思想也是一樣的,就不在這裡多說了。


想一想:

如果想要妨礙一個這樣掛機的人,應該怎麼做?那掛機的人有如何預判別人的預判呢?那如何預判預判預判預判預判預判預判預判預判預判呢?

(我想的妨礙方法就是放個把自己也釋放個釣竿,使浮漂重合於掛機者的浮漂



你以為這就結束了嘛?在1.16的版本更新中,minecraft更改了釣魚機制,除了之前的水上有遮擋物會大大降低效率,還需要大片的,露天的水域,這導致連續的掛機會被幻翼乾死。


(我其實用神經網絡圖像識別做出來了自動打怪和自動睡覺的操作,但是它有點難度,不算基礎,可能以後會講。


可以把門側放來妨礙殭屍入侵(如果怕殭屍破門則需要鐵門),然後在門後拋竿。然後在周圍照明並圍起來,防止溺屍下去,被魚竿釣到自己身上。


之後記得砍很多樹,搞很多箱子和漏鬥,你會發現大概掛機一小時左右就能放滿大箱子,即使結合物品分類器,最終還是會大量的往末端輸出空瓶子、書、弓和釣魚竿。


(提示:享受掛機樂趣的同時可能會降低遊戲樂趣,請謹慎使用


(嗯,教程就先到這裡


引用:

        將圖像轉換為灰度時導致的顏色失真問題其實是一種很常見問題,且對於初見者來說很難發現,在openai的強化學習實踐中,玩Atari的某個遊戲時程序因灰度轉換無法發現玩家位置,導致效果下降。

[1]https://openai.com/blog/openai-baselines-dqn/





相關焦點

  • Minecraft中的Python編程,Hello Minecraft World!
    下面這個下載地址的包,是已配置好插件的Bukkit,www點wiley點com/go/adventuresinminecraft2.Python編程環境因插件對應的是2.Minecraft中的Python編程
  • 用模塊化編程去實現魔法?Minecraft趣味模組Psi基礎內容介紹
    除了需要一把完整的術式輔助演算機,玩家還需要準備一些子彈,當在術式編程臺上完成編寫之後,需要退出界面用子彈右鍵復刻內容,然後在CAD裝配臺左上角的位置將子彈裝入演算機進行使用,子彈可以多次使用,但是會取代之前復刻的數據。
  • 我的世界minecraft教程公眾號內容介紹
    遊戲本身的下載安裝與調試其中有對MC的幾種下載源的介紹其中包含MC官網(minecraft.net),MC中國版(mc.163.com),MCBBS,第三方啟動器等等,教程將會介紹這些網站/軟體的使用和各個方式的優缺點。
  • 編程0基礎,適合新手學習編程的網站
    對於剛接觸編程的新手來說,往往會無從下手,不知道怎麼學。買了有關方面的書,不是看不懂,就是沒有時間看。現在的快節奏生活下,時間越來越碎片化。這裡推薦幾個適合新手學習編程的網站,大家可以隨時學習。首先選擇一門適合自己的程式語言。
  • 零基礎看得懂的C語言入門教程
    一、前言 距離上一次編寫C語言的教程是5年前了(2015年),由於自己是從初一時開始學習編程,深知學習編程的痛苦。當時正在念大學的我想著分享自己自學編程的經驗,搭建了一個社區(社區之後自己維護太懶,維護了一年不到關閉了)第一次編寫了C語言教程,分享自己的學習經驗。社區關閉後,於2017年上傳至了CSDN留存至今。 現在回過頭查看當時自己編寫的教程,由於當時技術的淺薄,編寫的教程還是存在很多的不足,故有了一個重新編寫C語言教程的想法。
  • 8歲學編程已經晚了?6個網站讓你在家教孩子學編程
    這樣的情況引來了不少的人的質疑,是否所有的小孩都要去學編程?幾歲開始學才是合適的年齡?  今年二月,央視財經做過一個少兒編程的專題調查。  其中接受採訪的Botball機器人競賽項目負責人郝帆說:「實際上編程這個東西還是比較適合反應比較快的孩子,適合邏輯思維能力這方面比較強的孩子,學生想真正在少兒編程領域獲得成績,除了天賦以外還需要大量的時間上課,訓練,一直到競賽。
  • 【開團】Minecraft我的世界編程課——披著遊戲外衣的教學神器,孩子學編程居然學得停不下來!
    無論你是0基礎小白還是初高中正在學習代碼程式語言,或是打算參加信息學競賽的高手,都可以在我的世界教育版當中用自己熟悉的程式語言設計創造,成為遊戲的設計者。下圖是一位同學在我的世界中做的Makecode程序和JavaScript的轉換▼
  • Minecraft模組Psi教程任務詳細內容攻略以及編程模塊內容介紹
    廢話不多說開始今天的介紹:01總述Psi模組的教程一共是27個任務,這邊龍魂大體按照遊戲內容分為1到4級任務(共4個~)為基礎任務,5到6級任務(共5個~)為初級任務,10到19級任務(共10個~)為進階任務,20到24級任務(共8個)為高級任務。
  • 我的世界:教大家做一個釣魚機,不用靠近水源,就能釣到好東西
    雖然往期內容中說到過很多,但有一個製作卻始終未能提及,那便是Minecraft中釣魚機的製作。這期教給大家的釣魚機很簡單,不用刻意的靠近水源,就能夠釣到好東西。最有效的擊殺方式站在原地一動不動的攻擊怪物,從遊戲操作的角度上來看並沒有什麼錯,可以省時省力地達到最終的目的。
  • 學習編程需要有什麼基礎
    學習編程一直是一個非常熱門的話題,很多人都想進入這個行業,但是由於沒有編程基礎,很多人不知道應該如何學習。如果沒有編程基礎最重要的就是入門,入門需要有一個好的方法和思路,打下基礎,這樣對後續的編程有很大的好處。那麼學習編程需要有什麼基礎呢?
  • 絕地求生:如何正確的避免遇到外掛,應該如何操作「詳細教學」
    外掛可以說是對於都是大家非常頭疼的事情,特別是槍戰類遊戲一個透視就可以說沒法玩了,絕地求生裡面有一些輔助外掛更是演不演一下,讓人也是非常惱火,而且玩一把遇到一把,讓人瞬間就想棄遊,外掛毀了多少款遊戲如APEX英雄、H1Z1、逃離塔科夫等等小編就不一一說了,遊戲公司外掛檢查做得再好,
  • 零基礎如何入門學習電腦編程?
    零基礎如何入門學習電腦編程?有哪些好的方法呢?現在帶著疑問一起去了解一下吧。1、了解編程歷史的意義了解一些編程的實質遠比知道如何編程更有意義,不要在編程是怎麼回事的情況下就去學習編程,這樣對你的學習是十分不利的,作為一個編程愛好者,知道計算機的工作原理,這應該是一件再正常不過的事。
  • 新手如何開始C語言基礎學習?
    因此,對於剛剛入門編程的新手來講,從C語言開始你的編程生涯無疑是最好的選擇。那麼,新手如何開始C語言基礎學習呢?下面我們來一起看一看。在學習之前,我們首先要知道為什麼學習C語言。眾所周知,C語言是一門簡單、底層、較早的程式語言,後來的很多語言在語法上都和C語言類似,比如Java、PHP等程式語言都是從C語言衍生出來的,因此掌握C語言將為學習其他程式語言打下更好的基礎。但同時大家也要知道,只會C語言的話,想要找工作還是很困難的。總的來講,C語言的基礎學習不過是冰山一角,要想成為一名優秀的程式設計師,需要學習的東西還有很多。
  • 最新手把手教程,Minecraft基巖版(手機版、PE版)開服指南
    目前在網絡上,面向手機玩家的伺服器搭建教程並不多。於是,小編就研究了相關內容,寫了這篇《我的世界》手機版開服教程。所以這篇教程,介紹的還是官方開服器。如果你只想要開服,不需要做自定義設置,那麼只要雙擊運行「bedrock_server.exe」即可運行伺服器。接下來,會有一個黑色終端出現。如果出現類似下圖的畫面,並沒有報錯,那麼PE版伺服器就啟動好了。
  • 學編程需要什麼基礎?
    學編程需要什麼基礎? 1、數學基礎 從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是由數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,初學者有高中水平就差不多了。
  • Minecraft:怎麼安裝JAVA版Minecraft的光影呢?一起來看看吧
    大家的JAVA版Minecraft光影可能都是通過網易盒子裝的,而不是原版Minecraft,話不多說,接下來讓我們立刻開始教程吧首先,在網上搜索:我的世界光影 全版本通用 ,就可以下載自己喜歡的光影了,切記低配電腦不要裝高配光影,有可能FPS暴跌,你的電腦也有可能BOOM!!!如何找到瀏覽器的下載目錄?
  • 我的世界刷怪籠怎麼做 刷怪籠代碼指令教程
    我的世界刷怪籠怎麼做刷怪籠代碼指令教程。我的世界遊戲中的指令設定是非常實用的,玩家可以通過各種指令實現想要實現的功能,但是這些方面也是針對代碼比較熟悉的玩家而言。下面是用setblock刷怪籠的方法。
  • 從零基礎能學會編程嗎?
    能夠讀懂0和1,就已經學會了編程首先聲明,我不是託也不是為XX培訓機構做廣告,我會從我自己的一個經歷告訴那些想學習編程的人,零基礎能否會學編程。我只有高中畢業,畢業後做了2年的模具學徒,然後參加了軟體研發的培訓機構學習編程。在這之前,我的電腦基礎就是高中的學習到的TT,然後做學徒時,見過的autocad軟體,玩遊戲的經驗吧。一定要講一下為什麼要去學習軟體編程,因為模具學不會,經常被說,臉皮比較薄。
  • 時隔半年,我終於嗅到《我的世界》Minecraft編程的落地了!(附資源下載)
    需要提前跟大家說:以《我的世界》為主題來拓展的編程課程,算是比較高階的課程,像哥哥班裡的同學一樣,從少兒編程開始學,然後循序漸進過渡到中高階編程,才能更好掌握這些代碼語言。不過我今天分享的10節動畫入門課是全動畫的,所以不需要孩子做任何的操作,作為開眼界、了解到底在《我的世界》類的像素沙盒世界裡可以怎麼和編程融合在一起,也是很不錯的。
  • pokemon go外掛怎麼舉報?外掛舉報教程及地址介紹
    pokemon go外掛怎麼舉報?有不少玩家在遊戲過程中遇到過外掛玩家,下面為大家介紹的是遊戲中的外掛舉報教程攻略,一起來看看吧。    3.道場卡死掛,這個掛很多飛機黨在用,他們站了一個道館之後,打開這個外掛,別人只要一進入道館戰鬥界面就會卡死,這個也好判斷,當你手機信號4G滿格時,一打道館就卡死,並且重啟手機再進入也是卡死,第二天再來,打道館還是卡死,基本上可以肯定這個就是外掛了,建議舉報這個道館等級最高的人。