piliiori 發表於 2021-8-26 09:45

感謝分享記憶一下

belovrit 發表於 2021-8-26 10:41

treezxc 發表於 2021-8-26 05:26
喔喔喔,了解。

可惜沒幫上,還是再謝一次摟。
哈哈 都是互相討論交流 :handshake

3.X的版本我很久以前架過 不過要找到乾淨有源碼的 可能但不太容易除非找人買或是自己動手把現有的做修改
新的版本的話 我有別論壇(應該在這論壇也有?)分享7.60帶源碼的
但是我自己沒有詳細測試過 只有架起來登入玩幾分鐘測試幾個變身而已

我現在在研究的是一個8.15端反編譯出來的版本 但是bug多到爆炸 (有些施法會斷線、身上物品不會堆疊、怪物發呆等)
而且反編譯的源碼又很亂 有時還要重新修改寫成能讀懂的 :L

treezxc 發表於 2021-8-26 11:38

belovrit 發表於 2021-8-26 10:41
哈哈 都是互相討論交流

3.X的版本我很久以前架過 不過要找到乾淨有源碼的 可能但不太容易除非 ...

嗯嗯,我之前也是找到不少高版本的代碼,但是一樣的問題。
因此現在回頭找這些老的版本相對穩定些,就是要要寫入圖檔(登入器的bin檔似乎沒破解)及新增沒有的遊戲功能...等的問題還沒能完全解決。
有問題再請教大大,或許能幫的上忙︿︿

treezxc 發表於 2021-8-26 22:49

本帖最後由 treezxc 於 2021-8-26 22:57 編輯

您好!
我今天找了一個L1J_TW_3.80c的版本來測試能否添加額外圖檔。
碰到以下的問題,想請教您是否知道我的錯誤有哪些?
1.登入器使用login_380的登入器,變身檔案文件:TW13081901
2.我添加的傷害顯示圖檔編號為:14050-0.spr~14100-0.spr
3.傷害顯示圖檔編碼如下三張圖示:
圖001、002、003
4.TW13081901.txt內增加傷害圖示圖檔相關編碼:
圖004
5.TW13081901.txt最上方文件最大編號修改:
圖005
6.list.spz內增加與TW13081901.txt文件相同編碼,並丟回客戶端text內後吃檔。

以上完成後,也將核心內相關傷害顯示java代碼更新。
此時登入遊戲,在輸入完帳號密碼後的讀條畫面跑一跑後就直接當機閃退。

如果您有興趣直接拿取伺服器及原碼,我也可以直接提供給您,看看您能否在這個版本研究出如何加入傷害顯示的功能。

belovrit 發表於 2021-8-27 00:27

本帖最後由 belovrit 於 2021-8-27 00:30 編輯

閃退一般不外乎這幾種情形:

編碼重複、圖檔缺失、版本不符另外可能還要加上如我這帖子裡面說的資料庫spr_action的問題 (如果核心沒有寫讀取spr_action表格那就可以忽略)

還有個可能就是你的lin.bin裡面的最大編碼已經到頭了,你也可以試試看找中間號碼小的空編碼再試試看

z741104a 發表於 2021-8-27 01:04

感謝分享 超級實用的

p0931284927 發表於 2021-8-27 02:01

感謝分享

asrr7654 發表於 2021-8-27 02:02

感謝無私分享

treezxc 發表於 2021-8-27 09:36

本帖最後由 treezxc 於 2021-8-27 10:17 編輯

belovrit 發表於 2021-8-27 00:27
閃退一般不外乎這幾種情形:

編碼重複、圖檔缺失、版本不符另外可能還要加上如我這帖子裡面說的資料庫spr_a ...
我之前也猜想登入器的bin檔案是不是沒有解除限制。
但後來仔細想想,早期也跑過這幾個版本的遊戲,當時也能隨意添加額外圖檔。
昨天找了另一個j1ltw380的版本來測試,吃入圖檔後也寫入傷害顯示的核心代碼後,確認bin檔案沒有問題。
現在應該是在圖檔或是圖檔編碼這裡有問題。

目前這個版本沒有寫入GUI介面,不確定是否能自己添加(努力中)。
但是這個版本有一個我沒有見過的狀況,到啟動伺服器這裡都沒有問題。
到了客戶端登入當下,在存放客戶端的資料夾內會出現如圖1的檔案,而系統程序也沒有類似病毒或是木馬的程序存在。
大大您有碰過這種版本嗎?或是知道這是什麼作用?
因為這個檔案一旦刪除就無法在用客戶端登入(輸入完帳號密碼就閃退或死當),必須要重裝客戶端才能恢復登入遊戲。

count123456 發表於 2021-8-27 10:54

謝謝大分享 來研究一下

hogo5566 發表於 2021-8-27 19:59

感謝分享

家哥 發表於 2021-8-27 22:08

學習學習~~

hui52888 發表於 2021-8-27 23:11

多謝分享新手很需要學習

KeyCats 發表於 2021-8-27 23:15

謝謝 版大的分享 :loveliness:

treezxc 發表於 2021-8-28 20:46

本帖最後由 treezxc 於 2021-8-28 21:13 編輯

請教大大,您對登入器的變身檔文件編輯熟嗎?
以前下載的登入器,變身檔的內容幾乎都一樣。
現在下載到的伺服器內附的登入器變身檔內容都不盡相同。
請問變身檔內應該要使用以下哪一種格式呢?
1.#0      312=3225      prince
      0.walk(1 4,0.0:4<479 0.1:4 0.2:4<478 0.3:4)
      1.attack(1 7,0.0:0 16.0:3 16.1:3 16.2:3 16.3:5[1539 16.4:2! 16.5:4)
      2.damage(1 3,8.0:4 24.0:6[1537[1538 24.1:4)
      3.breath(1 8,8.7:4 8.0:4 8.1:4 8.2:4 8.3:4 8.4:4 8.5:4 8.6:4)
      4.walk onehandsword(1 4,104.0:4<479 104.1:4 104.2:4<478 104.3:4)
      5.attack onehandsword(1 6,104.0:4 120.0:4 120.1:4 120.2:3[248[703[701 120.3:4! 120.4:5)
      6.damage onehandsword(1 3,112.0:4 128.0:6[1537[1538 128.1:4)

2.#0 312=3225
0 1 4 0 0 4<479 0 1 4 0 2 4<478 0 3 4
1 1 7 0 0 0 16 0 3 16 1 3 16 2 3 16 3 5[1539 16 4 2! 16 5 4
2 1 3 8 0 4 24 0 6[1537[1538 24 1 4
3 1 8 8 7 4 8 0 4 8 1 4 8 2 4 8 3 4 8 4 4 8 5 4 8 6 4
4 1 4 104 0 4<479 104 1 4 104 2 4<478 104 3 4

我碰到的問題是,當我使用第一種病身檔格式去編輯內容,會發生調用該號碼的圖檔時,客戶端直接死當(黑盒子沒有任何錯誤顯示)。
當我使用第二種格式去編輯內容,則發生替換某些已有的號碼內容時,遊戲輸入完帳號密碼就卡住,此時就算把變檔內容還原也無解,只能把客戶端刪除重新安裝才能恢復登入遊戲。


另外一個問題,大大您還記得編輯變身檔txt文件時,可以使用dos的bat檔案來完成嗎?我想不起完整的dos指令,現在只能存手動編輯,當做到大量變身檔內容生成時其編號生成太花時間了@@
還是說大大您知道有什麼軟體可以大量生成變身檔的內容呢?

belovrit 發表於 2021-8-29 09:33

本帖最後由 belovrit 於 2021-8-29 17:47 編輯

treezxc 發表於 2021-8-28 20:46
請教大大,您對登入器的變身檔文件編輯熟嗎?
以前下載的登入器,變身檔的內容幾乎都一樣。
現在下載到的伺 ...
這兩個格式目前在我自己研究的8.15端 我的變身檔裡面兩種格式都有 目前沒有發生你說的調用圖檔當機或是跑完條就當的情形 也沒有碰到需要重裝客戶端的情形 (這種可能是吃進去的spr有問題?)
如果list.spz/list.spr也都有配合 那就可能是lin.bin不相容

另外bat的批次應該是可以的 不過我不熟 我自己是用python寫script

我自己現在碰到的一個情形是一個死騎的變身 攻擊到一半偶爾會突然出現男王族走路的圖檔 :L
不知道是不是攻擊帶有一些特殊的effect動畫但是缺檔或是編碼有錯誤 我目前找不到解決辦法

treezxc 發表於 2021-9-1 17:38

本帖最後由 treezxc 於 2021-9-1 17:42 編輯

belovrit 發表於 2021-8-29 09:33
這兩個格式目前在我自己研究的8.15端 我的變身檔裡面兩種格式都有 目前沒有發生你說的調用圖檔當機或是跑 ...
>>>>>我自己現在碰到的一個情形是一個死騎的變身 攻擊到一半偶爾會突然出現男王族走路的圖檔 :L


您這個問題,跟我碰到的其中一個狀況一樣(我在替換原有的變身檔已經存在的號碼內容後,調用該圖檔時也會出現這個顯示其他圖檔的問題)


經我目前這幾天確認,的確是變身檔內有其他”編號”內有調用該”#xxxx”圖檔的結果。
也就是說,假設:
變身檔內已存在#8000 編號內容。
當我修改#8000的編號內容後,如果沒有檢查出變身檔內,其他”#xxxx”編號內是否有宣告”#8000”內容的變動或是”#8000”的引用。
將此變身檔寫成pak後,放入db及客戶端後,只要執行到該圖檔時,就會顯示其他圖檔,但此時遊戲畫面不會有”x”圖示或”紅色圖檔調用的錯誤提示”。

針對上面的問題,我嘗試直接取用我取得的傷害圖示伺服器使用的變身檔txt 跟 pak文件,不去改動傷害圖示已經寫好的圖示編號後,在顯示傷害圖示上面就完全沒有錯誤出現。
但只要核心內改動了傷害圖示的號碼並將圖檔變號一起做改動後,在重新吃入客戶端後,就還是一樣的顯示”x”或是”紅色圖檔調用的錯誤提示”。


我這幾天針對我正在改動的核心下去找問題,雖然還沒有找出正確的錯誤原因,但我感覺目前所有的登入器似乎有內定某些區段的編號是特殊使用。
已我目前在改動的變身檔TW13081901.txt文件及登入器login-380來說。
當我改圖檔編號為12400~12450.spr並吃入客戶端後,遊戲就死當(輸入完帳號密碼就不再顯示其他畫面)
但因為所有的提取軟件,都無法提取出尚未吃檔之前12400~12450這區間的任何圖檔,也就無法再手動還原,此時只能重新安裝客戶端才能正常進入遊戲。

因此您的這個問題>>>>>我自己現在碰到的一個情形是一個死騎的變身 攻擊到一半偶爾會突然出現男王族走路的圖檔 :L
應該能下去搜尋變身檔txt文件內,是否有其他編號有宣告或是調用您改動的圖檔編號。
我無法確定是否一定是這個問題造成,但您可以試試找看看。




我這邊需要請教個問題
您知道遊戲核心內是哪個副程式在宣告技能顯示在畫面上方的狀態圖示嗎?
想改及新增我這個版本沒有設定出現狀態圖示的技能,現在還沒找到是哪個副程式在寫這個@@

belovrit 發表於 2021-9-2 16:48

treezxc 發表於 2021-9-1 17:38
>>>>>我自己現在碰到的一個情形是一個死騎的變身 攻擊到一半偶爾會突然出現男王族走路的圖檔   




我後來排查了 是因為暴擊調用圖檔的關係 因為有些職業沒有暴擊的特效圖檔 所以他return 0 <--王子走路的圖檔 把這裡改成自己想要的爆擊特效就可以了


另外你說的狀態圖示 應該是在S_ActiveSpells或是S_PacketBoxActiveSpells類似這樣的名字
屬於伺服器封包類 但是技能狀態的圖示對應編號我就不知道了

treezxc 發表於 2021-9-3 12:49

本帖最後由 treezxc 於 2021-9-3 13:17 編輯

belovrit 發表於 2021-9-2 16:48
我後來排查了 是因為暴擊調用圖檔的關係 因為有些職業沒有暴擊的特效圖檔 所以他return 0...
嗯嗯,我的版本只有S_ActiveSpells這個副程序,但icon調用也不是來自這個副程序,我有找到其調用的副程序跟語法及參數。但是我的版本核心又很奇怪,這個S_ActiveSpells檔案就算沒有新增我加入的道具相關程式指令,卻也不影響遊戲進行,黑盒子都沒有報錯,看起來我的版本其正確性還很低。

gfxid = 7013;
pc.sendPackets(new S_SkillSound(pc.getId(), gfxid));
pc.sendPackets(new S_ServerMessage(166, "戰鬥藥水 剩餘時間(秒):" + remaining_time * 16));
上面三行是我目前找到能呼叫出使用後顯示於上方狀態列的副程式指令及參數。

外加我的版本以下的副程式指令內容,以下又是無效的寫法,我測試後該指令內容應該是沒有被執行過。
看不出來是這個版本修改者後來自加還是原本日本團隊就還沒寫完。
// 設定不可重複的魔法狀態
public static void deleteRepeatedSkills(L1PcInstance pc, int skillId) {
final int[][] repeatedSkills =

再來我的版本C_LoginToServer這個副程式中,對於道具的調用指令寫法也有個問題。
原本的內容如下:
// 生命之樹果實、商城道具
else if (skillid == STATUS_RIBRAVE || (skillid >= EFFECT_BEGIN && skillid <= EFFECT_END) || skillid == COOKING_WONDER_DRUG) {;
} else {L1SkillUse l1skilluse = new L1SkillUse();
           l1skilluse.handleCommands(clientthread.getActiveChar(),skillid, pc.getId(), pc.getX(), pc.getY(),null, remaining_time, L1SkillUse.TYPE_LOGIN);
        }
break;

理論上這上面已經包含我新增的道具,skillid副程式內也將新增的道具號碼寫在該段落內。
但實際執行後,卻是使用原本的道具沒有報錯,使用我新增的道具就是報錯。
導致我必須額外對於我新增的道具額外在上面寫入一些調用道具的指令行。(case EFFECT_POTION_OF_EXP_450:......等等。)


根據早先其他大大的寫法,應該只要調用下面的副程式及參數即可,但我還無法使用這個指令調出我要狀態顯示。〉〉〉〉〉pc.setSkillEffect(7000,time);    // 增加魔法狀態7000〈〈〈〈〈〈我的版本狀態魔法gfx圖檔也不是7000,是7013。
而7013這個圖檔的調用,也需要寫入變身檔txt文件內,其寫法類似傷害顯示圖檔於變身檔txt文件內的寫法類似(也一樣要搜尋佔用的圖檔編號是否有其他圖檔編號使用或調用)。否則一旦核心調用該指令行,遊戲也是直接死當。

還不是我要的結果,正在搜尋進一步的正確寫法。




wu780401 發表於 2021-9-9 20:04

感謝分享實用資訊
頁: 1 [2] 3 4 5 6 7 8
查看完整版本: 修改list.spz解決spr缺失問題(如同好會版本)