切換
舊版
前往
大廳
主題

如何動個手指就讓怪物自體爆炸?|PSI 科技魔法|Minecraft 模組介紹

紙片模型 | 2016-05-06 20:20:37 | 巴幣 30 | 人氣 9681

先來張結果圖:


關於 PSI 的基礎教學,版上有一篇文章已經講得很清楚了。 ➔ [1.9] Psi - 魔法科技模組
雖然遊戲內已經有很好的中文教學,但是由於是翻譯過的,我想大家在coding時肯定會遇到一些問題,本篇會專注於實務上的教學,附上相關圖、影片供大家快速入門。

一、基礎介紹:程式中的五種元素

啟動式:整個程式的核心,決定了該程式的能力,例如爆炸、放置、破壞方塊。
運算子:整個程式之中最困難的部分,決定向量、運算加減乘除等。
選擇符:設定對象。
常量:設定爆炸強度、方塊數目...等。
連結子:輔助連結其他元素。

二、開始實作:讓眼前的生物自體爆炸

如果你有看過上面的基礎教學連結,那麼應該會知道一些基礎的名稱,我在這邊簡單用白話文形容一次。

咱們的科技魔法槍(術式輔助演算機),是要透過槍殼(CAD 機體)、核心(CAD 核心)、彈夾(CAD彈夾)所組成,
並且預先寫入程式之後,把子彈(術士子彈)放入槍裏頭。

到時候按右鍵擊發子彈,就會產生程式設定的效果;我們可以撰寫各種不同程式,放入子彈中使用。

今天要教的「讓眼前的生物自體爆炸」,就是一種程式
不過大家也不要看到程式就頭暈,作者很好心的弄成了圖形化介面,配合介紹文應該會比較好入門。

首先,我們必須要有寫程式的環境術式編寫台



打開之後會是空白的一片



在某一格按下右鍵,會出現目前可以使用的元素,(有一些需要高等級之後才會解鎖,所以跟著內建教學練習還是必須的)



這裡把滑鼠移到我們要的「啟動式:爆炸」,並且按下 Shift 查看詳情。



我們程式中的每一個元素都有其輸入輸出值,A給B、B給C、C再給D...,這樣層層連結,就是咱們程式的基本架構。
這裡頭「<-」代表輸出,「->」代表需要輸入的東西。

紅1:None 表示可以不能輸出任何數值,基本上就代表這裡是所有程式碼/元素路徑的終點。
紅2:需要輸入位置,並且限定用 Vector(向量)表示。
紅3:需要輸入強度,並且限定用 Number(常量/常數)表示。

如果你到這裡還是感到疑惑的話,可以想像一下:

從:在「紙片的頭上」,用「10公斤重的力道」,「打下去」
變成:在「某某座標」,用「某某強度」,「爆炸」

那某某座標、某某強度要不是有人告訴他,不然是不會憑空知道的,
如果你還是不能了解的話,可以參考影片,也許可以幫助到你。

接著,點及左鍵,把「啟動式:爆炸」放置到術式編寫台





可以注意到,左下角有白色的箭頭可以按,這箭頭就代表其他輸入值的位置

例如如果我按右的話,「啟動式:爆炸」就會從右邊一格讀取位置



此時我們還沒設定在「啟動式:爆炸」的右邊是什麼嘛,所以滑鼠往右移一格按右鍵,找尋可以用的元素
以等級6可以使用的元素,照字面意思來看,會是「運算子:實體位置」及「運算子:聚焦實體」比較有可能


不過各位還記得嗎?咱們「啟動式:爆炸」所要輸入的位置是 Vector(座標),並非是 Entity(實體),
所以前者「運算子:實體位置」會是個相對正確的選擇。

其實在面對一個不熟悉的程式就是這樣,先選定咱們的目標行為(例如這裡就是爆炸),
然後再透過需要的輸入值和常理去推斷下一步驟是什麼,不要怕弄錯,多試幾次就會熟悉了。

以爆炸為例,基本的邏輯是這樣的:施法者視線眼前的生物的位置會爆炸
加個括號就是:「施法者」「視線眼前的生物」的「位置」會「爆炸」
再倒過來就是:「爆炸」→「位置」→「視線眼前的生物」→「施法者」

當然,以上只是提供一種思考的方式,大家參考看看。

所以到目前為止,咱們的盤面會是這樣:



看一下「運算子:實體位置」的說明:獲取一個實體的位置



如果各位吸收的還不錯,應該就會知道這裡是咱們要讓牠爆炸的生物,苦力怕、綿羊...之類的
而我們前面說過,是要「施法者視線眼前的生物」,所以此時剛好可以使用「運算子:聚焦實體」,輸入/輸出值也合乎邏輯。





運算子:聚焦實體」的說明:獲取指定實體所看的實體

重述前面的邏輯:
「爆炸」→「位置」→「視線眼前的生物」→「施法者」
現在我們已經完成前面三項,所以說明裏頭提到的指定實體,當然指的就是施法者囉!
(事實上,幾乎所有的程式都會把施法者,也就是自己放進去)

這裡用的是「選擇符:施法者」,



放入後:



最後別忘了,「啟動符:爆炸」還需要另一個輸入值,強度
這裡基本上毫無懸念,使用到目前為止的唯一常量「常量:數字」,並且輸入1。
(依照新手的能力,爆炸暫時沒有辦法給超過1的值,這裡不贅述)



最終的盤面:



到這裡也許你會有疑問,為何左上角會有叉叉呢?

其實那個叉叉就是用來檢測你的程式有沒有問題的,當你程式都寫好卻還是顯示叉叉,你可以把鼠標移到上頭,他會告訴你哪裡發生錯誤。

以這裡來說,其實就只是忘記幫程式(魔法式)命名了。





輸入好名稱就完成囉!此時就可以把這些程式讀取到子彈裏頭,施展魔法!

讓我們再看看怪物的慘狀吧XD


除了讓眼前的怪物自體爆炸外,稍微修改一些元素,也可以做到背對怪物開槍,在條件允許的情況下,甚至還可以一次炸死一堆怪呢!

如果你還是看不懂的話,不妨參考一下影片吧!

三、後記

這一次嘗試跳過一坨拉庫的基礎教學,直接開始講我認為初學者最會遇到的問題,不知道各位覺得怎麼樣呢?
喜歡的話,不妨點個GP,留個言。有什麼可以進步的地方,也希望可以告訴我:D

如果你想要知道紙片是怎麼研究模組的話,可以參考我的以小時為單位的研究實況
另外,這個模組也會在我、悟訢、夏克斯三人的《1.8.9 前瞻模組生存》中出現,歡迎收看!


轉貼本文時禁止修改、商業使用,同時請註明作者「紙片模型」以及原文連接:如何動個手指就讓怪物自體爆炸?|PSI 科技魔法|Minecraft 模組介紹

創作回應

相關創作

更多創作