잊섬 2시간 텀으로 열리게 컴파일 요청합니다
package l1j.server.server.TimeController;
import java.util.Calendar;
import java.util.Locale;
import java.text.SimpleDateFormat;
import l1j.server.server.model.L1Teleport;
import l1j.server.server.model.L1World;
import l1j.server.server.model.Instance.L1PcInstance;
import l1j.server.server.serverpackets.S_Disconnect;
import l1j.server.server.serverpackets.S_PacketBox;
import l1j.server.server.serverpackets.S_SystemMessage;
import l1j.server.server.utils.L1SpawnUtil;
public class 잊섬Controller extends Thread {
private static 잊섬Controller _instance;
private boolean _잊섬Start;
public boolean get잊섬Start() {
return _잊섬Start;
}
public void set잊섬Start(boolean 잊섬) {
_잊섬Start = 잊섬;
}
private static long sTime = 0;
public boolean isGmOpen = false; // 추가
private String NowTime = "";
// 시간 간격
private static final int LOOP = 2;
private static final SimpleDateFormat s = new SimpleDateFormat("HH",
Locale.KOREA);
private static final SimpleDateFormat ss = new SimpleDateFormat(
"MM-dd HH:mm", Locale.KOREA);
public static 잊섬Controller getInstance() {
if (_instance == null) {
_instance = new 잊섬Controller();
}
return _instance;
}
@Override
public void run() {
try {
while (true) {
Thread.sleep(1000);
/** 오픈 * */
if (!isOpen() && !isGmOpen)
continue;
if (L1World.getInstance().getAllPlayers().size() <= 0)
continue;
/**잊섬시간때만엔피씨생성**/
L1World.getInstance().broadcastPacketToAll(new S_PacketBox(S_PacketBox.GREEN_MESSAGE, "잊혀진섬이 열렸습니다"));
//L1SpawnUtil.spawn2(33430, 32797, (short) 4, 4100039, 0, 3800000, 0);//법진
L1SpawnUtil.spawn2(33437, 32813, (short) 4, 777018, 0, 3800000, 0);//텔레포터
/**잊섬시간때만엔피씨생성**/
isGmOpen = false;
/** 오픈 메세지 * */
/** 악마왕영토 시작* */
set잊섬Start(true);
/** 실행 1시간 시작* */
Thread.sleep(3800000L); // 3800000L 1시간 10분정도
/** 1시간 후 자동 텔레포트* */
TelePort();
close(); //추가
Thread.sleep(5000L);
TelePort2();
/** 종료 * */
End();
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 오픈 시각을 가져온다
*
* @return (Strind) 오픈 시각(MM-dd HH:mm)
*/
public String OpenTime() {
Calendar c = Calendar.getInstance();
c.setTimeInMillis(sTime);
return ss.format(c.getTime());
}
/**
* 영토가 열려있는지 확인
*
* @return (boolean) 열려있다면 true 닫혀있다면 false
*/
private boolean isOpen() {
NowTime = getTime();
if ((Integer.parseInt(NowTime) % LOOP) == 0)
return true;
return false;
}
/**
* 실제 현재시각을 가져온다
*
* @return (String) 현재 시각(HH:mm)
*/
private String getTime() {
return s.format(Calendar.getInstance().getTime());
}
/** 아덴마을로 팅기게* */
private void TelePort() {
for (L1PcInstance c : L1World.getInstance().getAllPlayers()) {
switch (c.getMap().getId()) {
case 1700:
case 1703:
c.stopHpRegenerationByDoll();
c.stopMpRegenerationByDoll();
L1Teleport.teleport(c, 33430, 32797, (short) 4, 4, true);
c.sendPackets(new S_SystemMessage("잊혀진섬이 닫혔습니다"));
break;
default:
break;
}
}
}
/**캐릭터가 죽었다면 종료시키기**/
private void close() {
for(L1PcInstance pc : L1World.getInstance().getAllPlayers()) {
if (pc.getMap().getId() == 1700 || pc.getMap().getId() == 1703 && pc.isDead()) {
pc.stopHpRegenerationByDoll();
pc.stopMpRegenerationByDoll();
pc.sendPackets(new S_Disconnect());
}
}
}
/** 아덴마을로 팅기게* */
private void TelePort2() {
for (L1PcInstance c : L1World.getInstance().getAllPlayers()) {
switch (c.getMap().getId()) {
case 1700:
case 1703:
c.stopHpRegenerationByDoll();
c.stopMpRegenerationByDoll();
L1Teleport.teleport(c, 33430, 32797, (short) 4, 4, true);
c.sendPackets(new S_SystemMessage("잊혀진섬이 닫혔습니다"));
break;
default:
break;
}
}
}
/** 종료 * */
private void End() {
L1World.getInstance().broadcastServerMessage("잊혀진섬이 사라졌습니다.2시간마다 열립니다.");
set잊섬Start(false);
}
}

아오이와소라 님의 최근 댓글
감사합니다 2016 05.10 감사합니다 2016 05.05 감사합니다 2016 05.05 감사합니다 2016 05.05 감사합니다 2016 05.05