首先 請先準備好3樣法寶
1. JCreator LE
2. JDK
3. Notepad++
以上三樣請上Google找...
JDK & Note++ 應該是一鍵安裝到底
JCreator LE 安裝後續 請搜尋 "JCreator LE 環境變數" 完成設定
解釋:
由於實在看不懂eclipse的操作
所以選擇"對我來說"較簡單的 JCreator LE
當作純粹執行"編譯"的工具
使用Notepad++是因為記事本在不同語言設定的win執行下
會有字碼錯亂的情形 Notepad++可以處理編碼混亂的功能
達到JCreator LE開啟.java檔減少字碼錯誤的Bug
再一次向大家說明 (必看)
模擬器 (就是你下載回來 不管是太陽神系列還是RevOOXX)
必須要有『src』資料夾才可以作核心修改
(src內附有l1j &META-INF這2個資料夾)
你可以看看裡面有什麼檔案 若有一堆『.java檔』
表示這個版本的模擬器可以修改
因為src內所有的.java檔案=原碼
(版上大大都解釋為"源碼" 可是我習慣稱呼"原碼"=原始程式碼)
l1jserver.jar=黑盒子執行時的對照檔 也就是所謂的『核心』
修改『核心』必須從『原碼』轉編譯進去 這樣你應該懂了
而沒有src資料夾的 你可以關掉此網頁另尋高手..
因為只有核心沒有原碼就沒得改!!
就算要反編譯回去 依照小弟的痛苦歷程
勸你還是花時間找有原碼的版本
另外 有原碼版本 也是要注意『l1jserver.jar』
這個檔案有沒有被人加過殼(加密鎖死)
如果被加殼 那你還是關掉此網頁另尋高手...
不然就是想辦法找個有原碼又沒加過殼的模擬器
==接下來就是心得教學==
在數據資料的新增部份
先將DB內Mapids、Area設定好 (座標、地圖編號總是要有吧?)
我們以大陸地圖為主角
(DB Mapids編號=4 假想新增設定編號為6500)
然後打開天堂主程式 尋找MAP資料夾
將檔名為「4」的資料夾複製貼上後改名為6500
注意!
在MAP資料夾內有4.ini & 4.MAP 同樣複製貼上改檔名6500
(若不是以大陸地圖當新增地圖 可以忽略此動作 有些地圖會有關連的設定檔存在 要多注意)
完成天堂主程式的地圖複製之後
再來就是打開模擬器裡面的maps資料夾
將4號地圖.txt複製貼上改檔名6500
然後再到模擬器的data資料夾內的mapcache資料夾
一樣將4號地圖複製貼上改檔名為6500
(以前我習慣將mapcache內所有檔案刪除 靠黑盒子重開執行讀圖動作 但是後來發現有些版本會死當 所以就按照這樣的模式 避免死當的命運)
ok 到這裡 複製地圖檔的前置作業已經完成
接下來就是大家常常混亂的核心修改
我們需要修改2個檔案
(這是原碼不是核心、這是原碼不是核心、這是原碼不是核心)
1.TextMapReader.java (src\l1j\server 內)
2.L1World.java (src\l1j\server\server\model 內)
(請將這2個檔案 連同你模擬器的l1jserver.jar都丟在桌面的一個空資料夾)
這2個檔案 大家可以用記事本打開來看看裡面有什麼
每個人的模擬器版本不同 但是可以確認的是
有些人的中日文段落會變成亂碼 數字部份可能還好好的
但也不要慌 Notepad++ 一定幫的上忙!
『TextMapReader.java』= 地圖原碼
網路上教學 新增地圖座標編號 一定要輸入在最下面
但是我不想這樣教
因為一定他X的會有人不知道在最後一項是不用打 , 點的!
常常就有人死在這裡...
{ 9997, 32640, 32959, 32576, 32895 },//TODO 台版地圖 - 隱藏之谷 (倒數第二項
{ 9998, 32640, 32959, 32576, 32895 }//TODO 台版地圖 - 隱藏之谷 (最後一項
地圖編號,X座標,X座標,Y座標,Y座標 //自行註記 (不影響核心執行 但一定要加「//」才有用
所以 請不要把地圖編號編太大
6500當新增地圖系列的開頭不錯用
因為從DB的Mapsid看 6500~6800編號是空檔
而我們將新增地圖的編號按照順序插入就好
這樣就可以避免置入在最下一行 又常忘記修改該死的 , 號...
那麼我們要利用什麼程式將新座標輸入進去? 記事本嗎?
不! 要是你不想讓你的JCreator LE編譯出現錯誤
你還是乖乖打開Notepad++幫你的忙
打開Notepad++ 將『TextMapReader.java』丟進去
這時候該將你新增地圖的座標 編號給打進去
記得地圖編號順序要排列兼對正啊!
然後在上方的工作列 選編碼→編碼UTF-8 檔首無BOOM
這樣就完成記事本無法處理的字碼錯亂的部份
(就算全中日文無亂碼也是一樣 有按有保佑)
接下來是『L1World.java』的部份
一樣丟進Notepad++
然後尋找 「private static final int MAX_MAP_ID =」
看到MAX_MAP_ID了沒?
這就是在說核心能讀取多大的地圖編號
我們將後面的數字改成30000
(你高興改多大都行 黑盒子死當了我不負責XD)
改完之後一樣要經過「編碼UTF-8 檔首無BOOM」處理
就可以存檔將Notepad++關閉
接著打開你的JCreator LE
(有出現環境設定 給他點Finish就對了)
開啟JC後 選Configure→options
左列頁面選擇 JDK Pro
然後點2下JDK ver ...1.6(1.7)
按Edit 選Add→Add Archive
再選擇桌面資料夾內的l1jsever.jar 之後一路點ok
若無顯示JDK ver... 1.6(1.7)
按NEW
選擇路徑C:\Program Files (x86)\Java\jdk1.7.0_05
(你安裝JDK的路徑)
路徑選擇好後 按Edit 選Add→Add Archive
再選擇桌面資料夾內的l1jsever.jar 之後一路點ok
然後在左上角工作列點Open
開啟桌面資料夾內剛改好的TextMapReader & L1World.java檔
(java檔轉class檔的程序 但是請一個一個來...)
選工作列Build→Build File 開始編譯
正常編譯無誤的情況下會出現
----Configuration: <Default>----
Process completed.
編譯完後請將JC關掉
同時在你桌面的資料夾內會出現
TextMapReader.class & L1World.class還有l1j資料夾
開啟桌面資料夾內的l1jsever.jar (請用RAR程式打開)
回到桌面資料夾裡面有個l1j資料夾 找到編譯完成的.class檔
依照TextMapReader跟L1World在src內的路徑
將檔案丟進用RAR打開的l1jsever.jar
完成將.class檔丟進l1jsever.jar後
再將桌面資料夾的l1jsever.jar複製
貼上覆蓋模擬器內的l1jsever.jar
然後開啟黑盒子讀取 即大功告成
1. JCreator LE
2. JDK
3. Notepad++
以上三樣請上Google找...
JDK & Note++ 應該是一鍵安裝到底
JCreator LE 安裝後續 請搜尋 "JCreator LE 環境變數" 完成設定
解釋:
由於實在看不懂eclipse的操作
所以選擇"對我來說"較簡單的 JCreator LE
當作純粹執行"編譯"的工具
使用Notepad++是因為記事本在不同語言設定的win執行下
會有字碼錯亂的情形 Notepad++可以處理編碼混亂的功能
達到JCreator LE開啟.java檔減少字碼錯誤的Bug
再一次向大家說明 (必看)
模擬器 (就是你下載回來 不管是太陽神系列還是RevOOXX)
必須要有『src』資料夾才可以作核心修改
(src內附有l1j &META-INF這2個資料夾)
你可以看看裡面有什麼檔案 若有一堆『.java檔』
表示這個版本的模擬器可以修改
因為src內所有的.java檔案=原碼
(版上大大都解釋為"源碼" 可是我習慣稱呼"原碼"=原始程式碼)
l1jserver.jar=黑盒子執行時的對照檔 也就是所謂的『核心』
修改『核心』必須從『原碼』轉編譯進去 這樣你應該懂了
而沒有src資料夾的 你可以關掉此網頁另尋高手..
因為只有核心沒有原碼就沒得改!!
就算要反編譯回去 依照小弟的痛苦歷程
勸你還是花時間找有原碼的版本
另外 有原碼版本 也是要注意『l1jserver.jar』
這個檔案有沒有被人加過殼(加密鎖死)
如果被加殼 那你還是關掉此網頁另尋高手...
不然就是想辦法找個有原碼又沒加過殼的模擬器
==接下來就是心得教學==
在數據資料的新增部份
先將DB內Mapids、Area設定好 (座標、地圖編號總是要有吧?)
我們以大陸地圖為主角
(DB Mapids編號=4 假想新增設定編號為6500)
然後打開天堂主程式 尋找MAP資料夾
將檔名為「4」的資料夾複製貼上後改名為6500
注意!
在MAP資料夾內有4.ini & 4.MAP 同樣複製貼上改檔名6500
(若不是以大陸地圖當新增地圖 可以忽略此動作 有些地圖會有關連的設定檔存在 要多注意)
完成天堂主程式的地圖複製之後
再來就是打開模擬器裡面的maps資料夾
將4號地圖.txt複製貼上改檔名6500
然後再到模擬器的data資料夾內的mapcache資料夾
一樣將4號地圖複製貼上改檔名為6500
(以前我習慣將mapcache內所有檔案刪除 靠黑盒子重開執行讀圖動作 但是後來發現有些版本會死當 所以就按照這樣的模式 避免死當的命運)
ok 到這裡 複製地圖檔的前置作業已經完成
接下來就是大家常常混亂的核心修改
我們需要修改2個檔案
(這是原碼不是核心、這是原碼不是核心、這是原碼不是核心)
1.TextMapReader.java (src\l1j\server 內)
2.L1World.java (src\l1j\server\server\model 內)
(請將這2個檔案 連同你模擬器的l1jserver.jar都丟在桌面的一個空資料夾)
這2個檔案 大家可以用記事本打開來看看裡面有什麼
每個人的模擬器版本不同 但是可以確認的是
有些人的中日文段落會變成亂碼 數字部份可能還好好的
但也不要慌 Notepad++ 一定幫的上忙!
『TextMapReader.java』= 地圖原碼
網路上教學 新增地圖座標編號 一定要輸入在最下面
但是我不想這樣教
因為一定他X的會有人不知道在最後一項是不用打 , 點的!
常常就有人死在這裡...
{ 9997, 32640, 32959, 32576, 32895 },//TODO 台版地圖 - 隱藏之谷 (倒數第二項
{ 9998, 32640, 32959, 32576, 32895 }//TODO 台版地圖 - 隱藏之谷 (最後一項
地圖編號,X座標,X座標,Y座標,Y座標 //自行註記 (不影響核心執行 但一定要加「//」才有用
所以 請不要把地圖編號編太大
6500當新增地圖系列的開頭不錯用
因為從DB的Mapsid看 6500~6800編號是空檔
而我們將新增地圖的編號按照順序插入就好
這樣就可以避免置入在最下一行 又常忘記修改該死的 , 號...
那麼我們要利用什麼程式將新座標輸入進去? 記事本嗎?
不! 要是你不想讓你的JCreator LE編譯出現錯誤
你還是乖乖打開Notepad++幫你的忙
打開Notepad++ 將『TextMapReader.java』丟進去
這時候該將你新增地圖的座標 編號給打進去
記得地圖編號順序要排列兼對正啊!
然後在上方的工作列 選編碼→編碼UTF-8 檔首無BOOM
這樣就完成記事本無法處理的字碼錯亂的部份
(就算全中日文無亂碼也是一樣 有按有保佑)
接下來是『L1World.java』的部份
一樣丟進Notepad++
然後尋找 「private static final int MAX_MAP_ID =」
看到MAX_MAP_ID了沒?
這就是在說核心能讀取多大的地圖編號
我們將後面的數字改成30000
(你高興改多大都行 黑盒子死當了我不負責XD)
改完之後一樣要經過「編碼UTF-8 檔首無BOOM」處理
就可以存檔將Notepad++關閉
接著打開你的JCreator LE
(有出現環境設定 給他點Finish就對了)
開啟JC後 選Configure→options
左列頁面選擇 JDK Pro
然後點2下JDK ver ...1.6(1.7)
按Edit 選Add→Add Archive
再選擇桌面資料夾內的l1jsever.jar 之後一路點ok
若無顯示JDK ver... 1.6(1.7)
按NEW
選擇路徑C:\Program Files (x86)\Java\jdk1.7.0_05
(你安裝JDK的路徑)
路徑選擇好後 按Edit 選Add→Add Archive
再選擇桌面資料夾內的l1jsever.jar 之後一路點ok
然後在左上角工作列點Open
開啟桌面資料夾內剛改好的TextMapReader & L1World.java檔
(java檔轉class檔的程序 但是請一個一個來...)
選工作列Build→Build File 開始編譯
正常編譯無誤的情況下會出現
----Configuration: <Default>----
Process completed.
編譯完後請將JC關掉
同時在你桌面的資料夾內會出現
TextMapReader.class & L1World.class還有l1j資料夾
開啟桌面資料夾內的l1jsever.jar (請用RAR程式打開)
回到桌面資料夾裡面有個l1j資料夾 找到編譯完成的.class檔
依照TextMapReader跟L1World在src內的路徑
將檔案丟進用RAR打開的l1jsever.jar
完成將.class檔丟進l1jsever.jar後
再將桌面資料夾的l1jsever.jar複製
貼上覆蓋模擬器內的l1jsever.jar
然後開啟黑盒子讀取 即大功告成
完全按照步驟走..蓋回去開啟黑盒子報錯QQ 反覆確認了N次..
回覆刪除