kkwei 發表於 2025-7-29 07:06
請問你是下載我這版嗎 我沒看到
我不清楚其他版本的狀況
感謝妳的回覆,我來研究看看好了
kinkikidsw 發表於 2025-1-30 17:24
可以了感謝大大幫忙
你好大大,怎么解决卡登录的问题
本帖最後由 kkwei 於 2025-7-29 13:07 編輯
天堂明 發表於 2025-7-29 11:21
你好大大,怎么解决卡登录的问题
請問相容性跟port有修正嗎
可以爬一下討論串的文 卡登很大問題是一些小地方沒注意到
另外時間軸要自行修復 請看一下本文章唷
感謝分享:)
本帖最後由 天堂明 於 2025-7-29 17:29 編輯
kkwei 發表於 2025-7-29 13:05
請問相容性跟port有修正嗎
可以爬一下討論串的文 卡登很大問題是一些小地方沒注意到
时间轴我重新导入class了,没有出现盒子闪退问题
端口设置检查了,就是架设后,登录器不亮灯,输入账号界面,黑盒子也没有连接提示
感謝分享
可以請問妳們使用的三寶版本嗎
kkwei 發表於 2025-7-29 07:53
想請教 龍之鑰匙 有解嗎 點了不會召喚龍門有點無頭緒
看他的寫法應該是打算只用一個道具就能選擇召喚哪個龍門
但是出現的對話框卻沒有正確的連結到各自的NPC
看起來這功能還沒寫完整
我有另一個寫法不會出現龍門選單
47010改為:龍門鑰匙(地龍),classname欄位設定為extra.DragonKey 70932
增加47011為:龍門鑰匙(水龍), classname欄位設定為extra.DragonKey 70937
再增加47012為:龍門鑰匙(風龍), classname欄位設定為extra.DragonKey 70934
點擊鑰匙後能召出龍門並正確連到龍門對話檔
能夠正常進入副本地圖
====================以下為寫法===============================
package com.lineage.data.item_etcitem.extra;
import com.lineage.config.ConfigAlt;
import com.lineage.data.executor.ItemExecutor;
import com.lineage.server.model.Instance.L1ItemInstance;
import com.lineage.server.model.Instance.L1PcInstance;
import com.lineage.server.model.L1CastleLocation;
import com.lineage.server.serverpackets.S_ServerMessage;
import com.lineage.server.serverpackets.S_SystemMessage;
import com.lineage.server.utils.L1SpawnUtil;
import com.lineage.server.world.World;
public class DragonKey
extends ItemExecutor {
private int _npcId;
private int _time;
private DragonKey() {
}
public static ItemExecutor get() {
return new DragonKey();
}
public void execute(int[] data, L1PcInstance pc, L1ItemInstance item) {
if (pc.getMapId() == 16384 || pc.getMapId() == 16896 || pc.getMapId() == 17408 || pc.getMapId() == 17920 || pc.getMapId() == 18432 || pc.getMapId() == 18944 || pc.getMapId() == 19968 || pc.getMapId() == 19456 || pc.getMapId() == 20480 || pc.getMapId() == 20992 || pc.getMapId() == 21504 || pc.getMapId() == 22016 || pc.getMapId() == 22528 || pc.getMapId() == 23040 || pc.getMapId() == 23552 || pc.getMapId() == 24064 || pc.getMapId() == 24576 || pc.getMapId() == 25088 || L1CastleLocation.checkInAllWarArea(pc.getLocation())) {
pc.sendPackets(new S_ServerMessage(79));
return;
}
boolean isChecked = false;
for (int mapid : ConfigAlt.DRAGON_KEY_MAP_LIST) {
if (mapid != pc.getMapId()) continue;
isChecked = true;
break;
}
if (!isChecked) {
pc.sendPackets(new S_ServerMessage(1892));
return;
}
if (this._npcId == 0) {
pc.sendPackets(new S_SystemMessage("龍門編號設定錯誤,請通知線上GM"));
return;
}
pc.getInventory().deleteItem(item);
int timeDragon = this._time;
L1SpawnUtil.spawn(pc, this._npcId, 0, timeDragon);
World.get().broadcastPacketToAll(new S_ServerMessage(2921));
}
public void set_set(String[] set) {
try {
this._npcId = Integer.parseInt(set);
this._time = Integer.parseInt(set);
}
catch (Exception exception) {
}
}
}
野性覺醒 發表於 2025-7-30 00:01
看他的寫法應該是打算只用一個道具就能選擇召喚哪個龍門
但是出現的對話框卻沒有正確的連結到各自的NPC
這要有源始碼才能改吧?
努力蹭錢買模擬器
目前這版玩得很開心 每玩幾天就發現有什麼沒看到的東西
但有滿多東西隱藏要自己去挖掘出來
比如轉生系統? 也搞不清楚怎麼轉生
還有世界挖掘也不知道哪個是什麼?
炫色又是什麼?
chenteng 發表於 2025-7-30 08:44
這要有源始碼才能改吧?
對啊!
版主發的這版可以自行反編譯出源碼
雖然會有一些錯誤但不影響修改
以後熟了再慢慢將錯誤修正
這樣就有一份完整源碼了
天堂明 發表於 2025-7-29 17:28
时间轴我重新导入class了,没有出现盒子闪退问题
端口设置检查了,就是架设后,登录器不亮灯,输入账号界面 ...
相容性問題可能檢查一下
或是提供圖片一下你的黑盒子與相容性設這截圖
野性覺醒 發表於 2025-7-30 00:01
看他的寫法應該是打算只用一個道具就能選擇召喚哪個龍門
但是出現的對話框卻沒有正確的連結到各自的NPC
謝謝 跟我想要做的想法一樣 用不同道具直接開龍門
但這版龍門後續的怪物設置需要花時間處裡一下:(
alice0225 發表於 2025-7-30 12:24
目前這版玩得很開心 每玩幾天就發現有什麼沒看到的東西
但有滿多東西隱藏要自己去挖掘出來
比如轉生系統?...
是的 很多小東西要慢慢摸
有時搭配源碼會更好理解功能設置
如果你有發現什麼新奇東西或是解決什麼bug
也歡迎發出來一起分享
kkwei 發表於 2025-7-30 13:01
相容性問題可能檢查一下
或是提供圖片一下你的黑盒子與相容性設這截圖
...
好的大大
本帖最後由 kkwei 於 2025-7-30 14:10 編輯
天堂明 發表於 2025-7-30 13:33
好的大大
Login.exe 登入器的相容性你有調整嗎?
這種黑盒子有開 應該就是相容性問題
:):):):):):):):)
天堂明 發表於 2025-7-30 13:33
好的大大
這不是開好了嗎? 我感覺是登入端的ip或是其他沒設定好
野性覺醒 發表於 2025-7-30 00:01
看他的寫法應該是打算只用一個道具就能選擇召喚哪個龍門
但是出現的對話框卻沒有正確的連結到各自的NPC
再次感謝分享其他的解決辦法
經過與AI協作 找出為何龍之鑰匙點了選擇龍門沒反應
一開始是以為核心沒有針對開啟龍門這個封包做處裡 還自己在那寫了開啟龍門的邏輯
請AI寫了一些讀取log的代碼顯示 當點擊那三個選項(除巴拉卡斯未開放)
INFO - 收到封包,OPCODE: 254查閱了254
PacketHandler.put(254, new C_Windows());原來已經有檔案去處理龍門開啟 前面完全就在做白工
case 6:
itemobjid = readD();
selectdoor = readD();
if (pc.getInventory().getItem(itemobjid) == null)
break;
switch (selectdoor) {
case 0:
if (pc.getInventory().consumeItem(47010, 1L))
L1SpawnUtil.spawn(pc, 70932, 0, 7200);
break;
case 1:
if (pc.getInventory().consumeItem(47010, 1L))
L1SpawnUtil.spawn(pc, 70937, 0, 7200);
break;
case 2:
if (pc.getInventory().consumeItem(47010, 1L))
L1SpawnUtil.spawn(pc, 70934, 0, 7200);
break;
case 3:
pc.sendPackets((ServerBasePacket)new S_SystemMessage("));
break;
}
return;這段就是處裡龍門招喚的代碼 直接餵AI請他修正
case 6:// 龍門選擇
itemobjid = readD();
selectdoor = readD();
L1ItemInstance item = pc.getInventory().getItem(itemobjid);
if (item == null) {
_log.warn("找不到物品: " + itemobjid);
break;
}
_log.info("處理龍門選擇 - 玩家: " + pc.getName() +
", 物品ID: " + itemobjid +
", 選擇的龍門類型: " + selectdoor);
int npcId = 0;
switch (selectdoor) {
case 0:
npcId = 70932;// 龍門1
break;
case 1:
npcId = 70937;// 龍門2
break;
case 2:
npcId = 70934;// 龍門3
break;
default:
_log.warn("無效的龍門類型: " + selectdoor);
return;
}
_log.info("準備生成龍門 NPC ID: " + npcId);
// 使用 L1SpawnUtil 生成龍門
L1SpawnUtil.spawn(pc, npcId, 0, 7200);
_log.info("龍門生成成功");
// 刪除鑰匙
pc.getInventory().removeItem(item, 1);
_log.info("已刪除鑰匙");
// 廣播訊息
World.get().broadcastPacketToAll(new S_ServerMessage(2921)); // 2921 是龍門生成的系統訊息
_log.info("已廣播系統訊息");
break;補一些缺少的import
問題解決
目前這版DB有缺少風龍門NPC需要自行增加以及任務怪也都缺失也要花時間增加