查看: 712|回復: 7

[問題] 請版主移除

[複製鏈接]

50

主題

453

帖子

3742

金錢

暗殺軍王.史雷佛

Rank: 8Rank: 8

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
45
積分
4195
在線時間
214 小時
相冊
1
日誌
0
好友
6
發表於 2024-5-16 23:37 | 顯示全部樓層 |閱讀模式
大幅數位科技
本帖最後由 新手上路 於 2024-5-20 16:05 編輯

請版主移除




上一篇︰黑盒子錯誤問題 想請大神幫忙~~~
下一篇︰有沒有人分享一下這個~~

50

主題

453

帖子

3742

金錢

暗殺軍王.史雷佛

Rank: 8Rank: 8

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
45
積分
4195
在線時間
214 小時
相冊
1
日誌
0
好友
6
 樓主| 發表於 2024-5-17 06:34 | 顯示全部樓層
懇請前輩

回復

使用道具 舉報

1

主題

945

帖子

3萬

金錢

安塔瑞斯

Rank: 11Rank: 11Rank: 11Rank: 11

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
65
積分
32455
在線時間
598 小時
相冊
0
日誌
0
好友
0
發表於 2024-5-17 08:59 | 顯示全部樓層
你的語法來源 沒附

你的錯誤截圖 沒貼

沒有人知道你把語法貼哪

沒有人看得到你語法錯哪

傷害顯示 圖檔的部分

傷害破千 就會有四組0~9
傷害破萬 就會有五組0~9
以此類推

假設打出來傷害是123

那就是個位數3 顯示第一組0~9中的3
那就是十位數2 顯示第二組0~9中的2
那就是百位數1 顯示第三組0~9中的1

只要了解原理 應該就很好新增了

先找到你版本傷害 寫在哪邊 叫什麼名

假設你版本傷害 叫做 a

那你就是把 a 拆成 個位數 十位數 百位數 ...以此類推

然後分別顯示對應圖檔 在攻擊對象身上

這樣就完成了

點評

優質  發表於 2024-5-17 16:54
紅茶
聯絡方式
LINE: lineageapp
回復 支持 反對

使用道具 舉報

50

主題

453

帖子

3742

金錢

暗殺軍王.史雷佛

Rank: 8Rank: 8

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
45
積分
4195
在線時間
214 小時
相冊
1
日誌
0
好友
6
 樓主| 發表於 2024-5-17 09:18 | 顯示全部樓層
本帖最後由 新手上路 於 2024-5-17 09:29 編輯
yasioukon 發表於 2024-5-17 08:59
你的語法來源 沒附

你的錯誤截圖 沒貼

前輩你好,
我是看這篇文章
https://lineage45.com/forum.php? ... 5001&highlight=傷害

他教學是這樣

核心修改
編輯 L1Attack.java

  • 收尋 public void commit() {
  • 將以下程式碼取代原 commit() Function

請依照個人圖檔編碼調整以下程式內容


public void commit() {
        /** 程式說明:
        * 首先取得 _damage(傷害)的個位 十位 百位 ... 數值
        * 假設傷害為171,則以下變數為:
        * i = 1 + 8000 // 8001為個位數"1"特效編號
        * k = 7 + 8010 // 8017為個十數"7"特效編號
        * h = 1 + 8020 // 8021為個百數"1"特效編號
        * s = 0 + 8030
        * m = 0 + 8040
        **/
        if (_isHit) {
                if (_calcType == PC_PC || _calcType == NPC_PC) {
                        commitPc();
                } else if (_calcType == PC_NPC || _calcType == NPC_NPC) {
                        commitNpc();
                }
        }

        // 傷害顯示特效開關
        if (!Config.ALT_ATKMSG) {
                return;
        }

        final String srcatk = _pc.getName();// 攻擊者
        String tgatk = "";// 被攻擊者
        String hitinfo = "";// 資訊
        String dmginfo = "";// 傷害
        String atkinfo = "";// 最終資訊
        int i = (int) ((_damage/Math.pow(10,0)) % 10) + 8000;//個位0-9
        int k = (int) ((_damage/Math.pow(10,1)) % 10) + 8010;//十位0-9
        int h = (int) ((_damage/Math.pow(10,2)) % 10) + 8020;//百位0-9
        int s = (int) ((_damage/Math.pow(10,3)) % 10) + 8030;//千位0-9
        int m = (int) ((_damage/Math.pow(10,4)) % 10) + 8040;//萬位0-9

        switch (this._calcType) {
                case PC_PC:
                        tgatk = _targetPc.getName();
                        hitinfo = " 命中率 " + _hitRate + "% 剩餘 HP" + _targetPc.getCurrentHp();
                        dmginfo = _isHit ? _damage + " 傷害" : "攻擊失敗";
                        atkinfo = srcatk + " > " + tgatk + " " + dmginfo + hitinfo;

                        _pc.sendPackets(new S_ServerMessage(166, atkinfo));

                        if ( _damage <= 0 ){
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , 8050));//Miss數特效
                        }
                        else if ( _damage > 0 && _damage < 10 ){
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , i));//個位數特效
                        }
                        else if ( _damage >= 10 && _damage < 100){
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , k));//十位數特效
                        }
                        else if ( _damage >= 100 && _damage < 1000){
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , k));//十位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , h));//百位數特效
                        }
                        else if ( _damage >= 1000 && _damage < 10000){
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , k));//十位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , h));//百位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , s));//千位數特效
                        }
                        else if ( _damage >= 10000){
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , k));//十位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , h));//百位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , s));//千位數特效
                                _pc.sendPackets(new S_SkillSound(_targetPc.getId() , m));//萬位數特效
                        }
                        break;
                case PC_NPC:
                        tgatk = _targetNpc.getName();
                        hitinfo = " 命中率 " + _hitRate + "% 剩餘 HP " + _targetNpc.getCurrentHp();
                        dmginfo = _isHit ? _damage + " 傷害" : "攻擊失敗";
                        atkinfo = srcatk + " > " + tgatk + " " + dmginfo + hitinfo;

                        _pc.sendPackets(new S_ServerMessage(166, atkinfo));

                        if ( _damage <= 0 ){
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , 8050));//Miss數特效
                        }
                        else if ( _damage > 0 && _damage < 10 ){
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , i));//個位數特效
                        }
                        else if ( _damage >= 10 && _damage < 100){
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , k));//十位數特效
                        }
                        else if ( _damage >= 100 && _damage < 1000){
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , k));//十位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , h));//百位數特效
                        }
                        else if ( _damage >= 1000 && _damage < 10000){
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , k));//十位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , h));//百位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , s));//千位數特效
                        }
                        else if ( _damage >= 10000){
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , i));//個位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , k));//十位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , h));//百位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , s));//千位數特效
                                _pc.sendPackets(new S_SkillSound(_targetNpc.getId() , m));//萬位數特效
                        }
                       break;

        }


}
———————————————
我的L1Attack.java

public void commit() {    if (_isHit) {       if ((_calcType == PC_PC) || (_calcType == NPC_PC)) {          commitPc();       } else if ((_calcType == PC_NPC) || (_calcType == NPC_NPC)) {          commitNpc();       }    }

請問是以上這段覆蓋上面代碼嗎?
還是要在往下延伸呢?

我的傷害數字圖檔編碼都已經改好了。




[發帖際遇]: 新手上路 撿了錢沒交公 金錢 降了 2 . 幸運榜 / 衰神榜
回復 支持 反對

使用道具 舉報

50

主題

453

帖子

3742

金錢

暗殺軍王.史雷佛

Rank: 8Rank: 8

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
45
積分
4195
在線時間
214 小時
相冊
1
日誌
0
好友
6
 樓主| 發表於 2024-5-17 09:34 | 顯示全部樓層
求教學,
小弟完全新手
用380完全底版
源碼核心慢慢學習這,

可能好幾年前的簡單概念
根本如喝水簡單的問題
小弟還是一知半

回復 支持 反對

使用道具 舉報

1

主題

945

帖子

3萬

金錢

安塔瑞斯

Rank: 11Rank: 11Rank: 11Rank: 11

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
65
積分
32455
在線時間
598 小時
相冊
0
日誌
0
好友
0
發表於 2024-5-17 11:22 | 顯示全部樓層
你看的教學 有寫取代喔

紅茶
聯絡方式
LINE: lineageapp
回復 支持 反對

使用道具 舉報

50

主題

453

帖子

3742

金錢

暗殺軍王.史雷佛

Rank: 8Rank: 8

威望
0
精華
0
貢獻
0
鑽石
0
閱讀權限
45
積分
4195
在線時間
214 小時
相冊
1
日誌
0
好友
6
 樓主| 發表於 2024-5-17 17:41 | 顯示全部樓層
...................

回復

使用道具 舉報

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

本版積分規則

天堂私服列表

45客服

Archiver| 45天堂私服論壇   分享到微博! 分享到臉書! 分享到噗浪! 分享到維特! 分享到Google+! 分享到LINE!

45天堂私服發佈站 ©    天堂私服架設教學  提供最新天堂私服最新資訊

流量最高、品質最好、服務最優、玩家首選、最新天堂私服資訊,都在45天堂私服發佈站.    免責聲明

Sitetag
line客服聯繫
掃一掃二碼
Line客服聯繫
24H專人回覆
返回頂部 返回列表