稍微好一點的就是加個飛入的提示,
本次寫法追加,時間倒數5分鐘、3分鐘、2分鐘以及1分鐘的對話欄內提示設定,
並且,追加可直接在模擬器config資料夾內的設定地圖,廢話不多少開始教學
C_ItemUSe
else if ((itemId == 50447) || (itemId == 50448) || (itemId == 50449) || (itemId == 50450) || (itemId == 50451) ||
(itemId == 50452) || (itemId == 50453) || (itemId == 50454) || (itemId == 50455)) { // 30分活動卷
if (pc.getMap().isEscapable() || pc.isGm())
{
L1Teleport.teleport(pc, ((L1EtcItem) l1iteminstance.getItem()).get_locx(), ((L1EtcItem) l1iteminstance.getItem()).get_locy(), ((L1EtcItem) l1iteminstance.getItem()).get_mapid(), 5, true);
pc.sendPackets(new S_SystemMessage("時間開始:30分鐘"));
pc.setSkillEffect(820005, 1800 * 1000);
pc.setSkillEffect(820001, 1500 * 1000); //給予倒數狀態提示
pc.getInventory().removeItem(l1iteminstance, 1);
} else {
pc.sendPackets(new S_ServerMessage(647));
}
cancelAbsoluteBarrier(pc);
}
L1SkillId
public static final int Item_AJ_1_1 = 820001; // 倒數5 活動卷
public static final int Item_AJ_1_2 = 820002; // 倒數3 活動卷
public static final int Item_AJ_1_3 = 820003; // 倒數2 活動卷
public static final int Item_AJ_1_4 = 820004; // 倒數1 活動卷
public static final int Item_AJ_1_5 = 820005; // 活動卷
L1SkillTimer
// 時限地圖
else if (skillId == Item_AJ_1_1) {
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
{
pc.sendPackets(new S_SystemMessage("距離強制離場時間還剩餘 5 分鐘。"));
}
pc.setSkillEffect(Item_AJ_1_2, 120 * 1000);
}
} else if (skillId == Item_AJ_1_2) {
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
{
pc.sendPackets(new S_SystemMessage("距離強制離場時間還剩餘 3 分鐘。"));
}
pc.setSkillEffect(Item_AJ_1_3, 60 * 1000);
}
} else if (skillId == Item_AJ_1_3) {
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
{
pc.sendPackets(new S_SystemMessage("距離強制離場時間還剩餘 2 分鐘。"));
}
pc.setSkillEffect(Item_AJ_1_4, 60 * 1000);
}
} else if (skillId == Item_AJ_1_4) {
if (cha instanceof L1PcInstance) {
L1PcInstance pc = (L1PcInstance) cha;
{
pc.sendPackets(new S_SystemMessage("距離強制離場時間還剩餘 1 分鐘。"));
}
pc.setSkillEffect(Item_AJ_1_5, 60 * 1000);
}
} else if (skillId == Item_AJ_1_5) { // 活動卷-30分
L1PcInstance pc = (L1PcInstance) cha;
if (cha instanceof L1PcInstance)
if ((pc.getMapId() == (Config.maptime1)) || (pc.getMapId() == (Config.maptime2)) || (pc.getMapId() == (Config.maptime3)) || (pc.getMapId() == (Config.maptime4))
|| (pc.getMapId() == (Config.maptime5))
|| (pc.getMapId() == (Config.maptime6)) || (pc.getMapId() == (Config.maptime7)) || (pc.getMapId() == (Config.maptime8)) || (pc.getMapId() == (Config.maptime9)))
if (pc.isDead())
{
pc.sendPackets(new S_Disconnect());
return;
}
else
{
L1Teleport.teleport(pc, 33439, 32825, (short) 4, 5, true);
pc.sendPackets(new S_SystemMessage("你的時間已到,傳送回村莊。"));
}
}
// 時限地圖end
Config
加入1
public static int maptime1;
public static int maptime2;
public static int maptime3;
public static int maptime4;
public static int maptime5;
public static int maptime6;
public static int maptime7;
public static int maptime8;
public static int maptime9;
加入2
maptime1 = Integer.parseInt(altSettings.getProperty("maptime1", "97535"));
maptime2 = Integer.parseInt(altSettings.getProperty("maptime2", "97535"));
maptime3 = Integer.parseInt(altSettings.getProperty("maptime3", "97535"));
maptime4 = Integer.parseInt(altSettings.getProperty("maptime4", "97535"));
maptime5 = Integer.parseInt(altSettings.getProperty("maptime5", "97535"));
maptime6 = Integer.parseInt(altSettings.getProperty("maptime6", "97535"));
maptime7 = Integer.parseInt(altSettings.getProperty("maptime7", "97535"));
maptime8 = Integer.parseInt(altSettings.getProperty("maptime8", "97535"));
maptime9 = Integer.parseInt(altSettings.getProperty("maptime9", "97535"));
模擬器資料夾
config
altsettings
#=================================================================
#30分卷地圖編號需對應 DB道具編號 50447-50455的MAP 依序排列 X Y 座標隨意設定
maptime1 = 7785
maptime2 = 8000
maptime3 = 7006
maptime4 = 7006
maptime5 = 7006
maptime6 = 7006
maptime7 = 7006
maptime8 = 7006
maptime9 = 7006
#=================================================================
以上資源參考網路,並重新分解整理,並非個人創作
採用時,我們要感謝原創者
沒有留言:
張貼留言