哈比金仔 發表於 2024-7-31 01:49

381高寵 祝福失敗廣播 如何取消

如題 有人知道怎解嗎

yasioukon 發表於 2024-7-31 09:11

基本上你要新增功能 拿掉功能 都是要核心

除非他有拉出來一個開關讓你設定

哈比金仔 發表於 2024-7-31 10:49

yasioukon 發表於 2024-7-31 09:11
基本上你要新增功能 拿掉功能 都是要核心

除非他有拉出來一個開關讓你設定 ...

請問如果有拉出來 DB該如何寫開關

yasioukon 發表於 2024-7-31 12:37

你DB自己拉出來 核心沒寫 不會有功能

哈比金仔 發表於 2024-7-31 13:31

yasioukon 發表於 2024-7-31 12:37
你DB自己拉出來 核心沒寫 不會有功能

package com.lineage.data.item_etcitem;

import com.lineage.data.executor.ItemExecutor;
import com.lineage.server.model.Instance.L1ItemInstance;
import com.lineage.server.model.Instance.L1PcInstance;
import com.lineage.server.serverpackets.S_ItemStatus;
import com.lineage.server.serverpackets.S_PacketBoxGree;
import com.lineage.server.serverpackets.S_ServerMessage;
import com.lineage.server.serverpackets.S_SystemMessage;
import com.lineage.server.serverpackets.ServerBasePacket;
import com.lineage.server.utils.log.PlayerLogUtil;
import com.lineage.server.world.World;
import com.lineage.william.New_BlessItem;
import java.sql.Timestamp;
import java.util.Random;

public class Reel_item_bless_armor extends ItemExecutor {
private int _xianzhi = 0;

private boolean type2 = false;

public static ItemExecutor get() {
    return new Reel_item_bless_armor();
}

public static void 祝福升級成功(String info) {
    PlayerLogUtil.writeLog("[祝福升級成功]", info);
}

public static void 祝福升級失敗(String info) {
    PlayerLogUtil.writeLog("[祝福升級失敗]", info);
}

public void execute(int[ data, L1PcInstance pc, L1ItemInstance item) {
    int itemobj = data[0;
    L1ItemInstance item2 = pc.getInventory().getItem(itemobj);
    if (item2 == null)
      return;
    if (item2.getItem().getUseType() != 2 && item2.getItem().getUseType() != 18 &&
      item2.getItem().getUseType() != 19 && item2.getItem().getUseType() != 20 &&
      item2.getItem().getUseType() != 21 && item2.getItem().getUseType() != 22 &&
      item2.getItem().getUseType() != 25) {
      pc.sendPackets((ServerBasePacket)new S_ServerMessage("該物品不是防具無法祝福"));
      return;
    }
    if (item2.getBless() == 0 || item2.getBless() == 128) {
      pc.sendPackets((ServerBasePacket)new S_ServerMessage("已經是祝福的物品"));
      return;
    }
    if (!item2.getItem().isgivebless()) {
      pc.sendPackets((ServerBasePacket)new S_SystemMessage("該物品無法進行祝福。"));
      return;
    }
    if (item2.getBless() == 2) {
      pc.sendPackets((ServerBasePacket)new S_ServerMessage("該物品是詛咒品,無法祝福"));
      return;
    }
    Random _random = new Random();
    if (_random.nextInt(99) + 1 <= this._xianzhi) {
      New_BlessItem.forIntensifyArmor(pc, item2);
      item2.setBless(0);
      pc.getInventory().updateItem(item2, 576);
      pc.getInventory().saveItem(item2, 576);
      pc.sendPackets((ServerBasePacket)new S_ServerMessage("祝福成功"));
      if (!pc.isGm())
      World.get().broadcastPacketToAll((ServerBasePacket)new S_PacketBoxGree(2, "玩家:" + pc.getName() + " 使用(" + item.getName() + ") 對 (" + item2.getViewName() + ")升級成功"));
      pc.getInventory().removeItem(item, 1L);
      pc.sendPackets((ServerBasePacket)new S_ItemStatus(item2));
      祝福升級成功("玩家 :" + pc.getName() + " 使用(" + item.getName() + ") 對 (" + item2.getViewName() + ")升級成功 ,時間:" +
          new Timestamp(System.currentTimeMillis()) + ")");
    } else {
      pc.getInventory().removeItem(item, 1L);
      pc.sendPackets((ServerBasePacket)new S_SystemMessage("祝福失敗"));
      if (!pc.isGm()) {
      World.get().broadcastPacketToAll((ServerBasePacket)new S_PacketBoxGree(2, "玩家:" + pc.getName() + " 使用(" + item.getName() + ") 對 (" + item2.getViewName() + ")升級失敗"));
      World.get().broadcastPacketToAll((ServerBasePacket)new S_ServerMessage("玩家:" + pc.getName() + " 使用(" + item.getName() + ") 對 (" + item2.getViewName() + ")升級失敗"));
      }
      祝福升級失敗("玩家 :" + pc.getName() + " 使用(" + item.getName() + ") 對 (" + item2.getViewName() + ")升級(失敗) ,時間:" +
          new Timestamp(System.currentTimeMillis()) + ")");
      if (this.type2)
      pc.getInventory().removeItem(item2, 1L);
    }
}

public void set_set(String[ set) {
    try {
      this._xianzhi = Integer.parseInt(set[1);
    } catch (Exception exception) {}
    try {
      this.type2 = Boolean.parseBoolean(set[2);
    } catch (Exception exception) {}
}
}

核心查看是這樣 請問是有可以拉出來設定開關嗎

au03l729 發表於 2024-7-31 16:48

感恩大大無私分享

SJ_娛樂技術 發表於 2024-7-31 16:50

哈比金仔 發表於 2024-7-31 13:31
package com.lineage.data.item_etcitem;

import com.lineage.data.executor.ItemExecutor;


拉出來DB設定開關是,原碼內自寫一段語法串聯到DB欄位上面


可自行爬文寫語法進去,或者不懂的話 花點錢找人幫你寫進去(這樣自己後面也會寫)

如果有要修改或增加功能的話,我也有代寫服務可直接加我LINE:@365ykqms
頁: [1]
查看完整版本: 381高寵 祝福失敗廣播 如何取消