17612745011

關於GMS083的伺服假設/DIY/開服的整體問題

發表於 2026-3-23 22:55:17
17612745011 發表於 2026-3-23 22:55:17 | 顯示全部樓層 |閱讀模式
這是我第一次在發帖,也是第一次正式開服。
幾乎可以説是從零開始,2月中旬的時候,在一個私服裏跟一個島友一拍即合,覺得這個服的服主怎麽這麽弱智,抱著我上我也行的態度走上了這條不歸路。

前言
關於版本的選擇,我們當時喜歡玩復古,所以在選擇版本上花了非常多的精力,現在回頭看,其實版本也許不是那麽重要,重要的是你想做到什麽程度。
擧個例子,我打算做復古,而我又希望加入高版本的部分内容,例如套裝屬性?星力系統?怪物卡包?那你完全可以把一個高版本改成復古,這樣你會得到一個上限極高的版本。
它可以讓你隨意DIY,而不是在某個節點上讓你束手無策。比如説我現在想加入套裝系統,或者怪物卡包,那我就需要解決很多很多問題。
而你我的朋友,你只需要把功能拿出來即可。這裏需要多説一句,陸服也好,臺服也好,美版也好,重要的還是源碼的完整性。

第一個難題
關於游戲内容修復、新增、特色DIY,本質上都是一次對你綜合能力素質的考研。
這裏需要你有極强的學習能力,極强的主觀能動性,極强的耐心,如果這些你都不具備,那我建議你要麽花錢解決,要麽還是老實當一個玩家就好了。
關於學習能力,2月中旬的時候,我只是一個小白,對脚本、程序、以及任何語言都不懂得小白。
儅決定開服之後,我學會了使用wz修改,認識裝備、物品、技能、寵物、地圖、UI等一系列節點的作用。
只是學會修改并沒有什麽太大的用處,因爲這只是門檻,你還會遇到修改后,替換至游戲内出現的莫名其妙的報錯、不生效、閃退等一系列問題。
此時你又會回到原點,然後問自己,到底是爲什麽,哪裏出現了問題?

第二個難題
到了這裏,問題就會變得開始複雜起來,不再是簡單的1+1=2的事情,而是更複雜的查錯,糾錯。
如果你能看到這裏,那麽恭喜你,你已經通過了第一個考驗,那我們可以繼續第二個,也就是極强的主觀能動性的體現。
假如你新增了一個高版本的物品,例如特效名片戒指,如果是你只是用wz簡單的改了一下版本就導入進來,那麽你可能會遇到兩個問題。
第一,進入游戲后,使用命令刷出了該物品,但是物品并沒有正確顯示出來,而是出現了位移?或是連物品的icon都無法看到,鼠標只要一移動上去,游戲就會閃退。
第二,進入游戲后,使用命令物品無法被刷出,而是提示沒有該物品的ID?又或是使用指令刷出物品后,沒有任何提示,既沒有報錯,也沒有顯示不存在的ID,更不會閃退,但物品就是刷不出來?
那麽恭喜你,一個好用的wz和一個不太好用的wz就會導致你以上的問題出現。
正常來説,使用指令刷的物品需要結合多個部分才能被正常喚出,但是喚出不代表不會出問題。
依舊拿動態名片舉例,動態名片戒指屬於戒指類,也就是Data\Character\Ring的Ring分類,所有的戒指都在此處。但這裏也只是對應了物品的出處,你還需要保證對該裝備的描述是否正確添加,也就是Data\String文件夾下的Eqp.img是否正確添加了該物品的ID和描述,這將直接影響游戲是否正確識別並刷出該戒指。
那麽好,假設你添加的Ring的ID為100,那麽你需要做兩個3件事,第一,將ID為100.img的IMG文件放到正確的目錄下,然後去String文件夾下的Eqp.img正確添加新的ID為100的Ring節點。注意,這裏會有一個不容易被察覺的問題,也是大部分刷物品時報無效ID的原因,那就是關於裝備ID識別範圍的問題。
依舊拿ID為100的動態戒指舉例,假設你原本的Ring目錄ID的編號範圍是1-100,當你添加到ID為200以上的戒指ID時,你進入游戲后刷出的指令提示無效ID,這不是你的操作問題,而是範圍到達了你所使用的游戲版本的ID上限,你戒指的ID範圍上限是200,所以無法繼續添加了。如果你還想添加,可以將原有1-200範圍的戒指下所有節點刪掉,然後將新版本戒指節點複製粘貼過去,使用它的ID,即可在游戲内被正常刷出。
説回正題,第一件事,你需要找到高版本你需要添加的戒指,然後將版本轉換成你現有的版本,然後將高版本對該戒指描述的Eqp.img同時轉換,然後切回到你的版本,將戒指.img丟入到Data\Character\Ring文件夾内。
第二件事,然後回到String文件夾下,修改現有版本的Eqp.img下的Ring節點,並添加對應的ID和描述。由於本地化的關係,當你在上傳XML到服務器的時候,需要確認wz文件夾内是否存在本地化,即漢化文件夾,如有,則需要優先將String類的描述文件放入到漢化文件夾内方可生效。
第三件事,由於戒指富有外觀,以及外觀特效,那麽在從高版本輸出戒指時,需要讓戒指携帶對應的圖標,以及特效。由於高版本的裝備大多數使用了引用路徑,正常情況下無法直接提取到圖片,只能使用wz的link功能重新relink到原本的icon,以及戒指可能會携帶的effect圖片。但部分戒指、時裝、裝備無法通過此方法找回,切記。當你做完了以上的工作,你是否就覺得完事大吉了?不對,恭喜你,找到了新的難題。
由於新版的effect生效的文件夾、路徑不同,如果你只是移植過來,那你大概率會得到
類似這樣 3162ac9f5820917faf05ef8725d24f96.png
或者是這樣 f4499682a2f6f2c1494ca1758e49befa.png
又或者是 71b750ce4aeea832d3d40c483966ec44.png 的問題

第三個難題
關於極强的耐心。好了,你已經學會了WASD以及攻擊,現在可以去挑戰黑龍了~~~
以上幾個問題都是一個原因導致的,那就是生效的邏輯問題。高版本戒指的特效生效邏輯相對低版本來説很簡單,幾乎都在UI的NameTag節點内完成。而低版本特效戒指的NameTag文件似乎并不會去加載動畫,而是一個單獨的外觀圖片展示的功能。
所以這裏我們就需要吧該戒指的引用的特效節點找到,並拿出來,給到可以讓它生效的節點上。
根據原有的思路,我們找到了低版本自帶的特效動畫戒指,也就是寂寞單身戒指的節點作爲參考,來觀察它究竟是如何生效的。
寂寞單身戒指的特效節點構造很簡單,也是引用節點,但節點的表達跟大部分引用節點的表達不同,它使用了path寫死在了Effect文件夾下的CharacterEff.img裏面,想來也是,物品動畫放在角色特效裏面,河裏!!!!
然後我嘗試使用寂寞單身戒指的節點,寫一了一個新的節點,並使用了path指定了路徑,標好了物品的ID,應該沒問題了吧?應該......吧?只要你上游戲,你就會發現你得到了一個.....


哈哈,事情到這裏,特效是出來了,但是爲什麽這個位置在這裏?而且更詭異的是,戒指的動態特效居然吸附在了人臉上,不管人物走動,跳躍,趴下或是攻擊,都會牢牢的站在頭上。
至此,我認爲是偏移出現問題,所以我在effect的節點下嘗試加入了orgin這個節點控制便宜,但是很可惜并不奏效,可能是因爲orgin節點只生效于底層,也就是PNG層,又宣告了失敗。
這次我把思路放回了UI的NameTag.img下,如果我可以用path指定到CharacterEff.img,那爲什麽不能指定到UI的NameTag.img?説幹就幹,於是我又得到了


好好好,這麽玩是吧,特效都沒了?那行,繼續磕Effect吧,後面看到了特效欄的效果賦予,心想,如果Effect的CharacterEff.img不生效,那麽直接使用itemEffimg的物品特效呢?説幹就幹!!這次參考了itemEff.img的寫入規則,將NameTag.img下聖光羽翼戒指的特效拉了進來,激動人心的時刻到了,讓我們來看看它究竟變成了什麽!!!!


什麽?????!!!!!!!!這又是什麽東西????OK,你牛逼。到了這裏,我几乎都要力竭放棄了,但是後面一想,不對啊,這個藍色的框框好像在哪裏見過??
沒錯!!!就是 图片.png 這三個萬惡的節點。

雖然我到現在都沒弄清楚這三個節點的作用是什麽,但是聰明的你一定想到了,既然他阻擋了我們的戒指特效,把他們改成透明的不就好了嗎?説幹就幹!!!
於是我得到了現在這版 图片.png !!!!!!

至此,你已經看完了很多,相信你在看到我的解題思路后也能對這類修改有了一個比較全面的認知,作爲移植來説,我的這個解題思路不光適用於每個動態戒指,還包括了特效椅子、特效時裝、特性披風、效果等等....
图片.png

最後,我在開發GMS083的内容,如果你也在開發GMS083,我希望和你有更深入的交流,期待和你的溝通!!!!
瀏覽 1490 回復 9

您需要登錄後才可以回帖 登錄 | 註冊會員

返回頂部