사이트 로그인
2016.05.17 08:59
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);
}
}
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 소스자료는 직접 올려주세요 | 게임존 | 2017.06.06 | 550 |
159 | 통합 쓰레드(Thread) 소스!! 알고리즘? | 김닉넴 | 2016.05.20 | 102 |
158 | 보스몹 멘트 띄우기 | 김닉넴 | 2016.05.19 | 120 |
157 | 로또복권 | 김닉넴 | 2016.05.19 | 80 |
156 | 불량 채팅 검출 | 김닉넴 | 2016.05.19 | 51 |
155 | 실시간 레벨제한 | 김닉넴 | 2016.05.19 | 59 |
154 | 여관 들어가기 | 김닉넴 | 2016.05.19 | 46 |
153 | 영자들끼리 대화 | 김닉넴 | 2016.05.19 | 96 |
152 | 영자 명령어 경치 복구 | 김닉넴 | 2016.05.19 | 39 |
151 | 오토루팅 | 김닉넴 | 2016.05.19 | 244 |
150 | 퀘스트템 자동 지급 소스 | 김닉넴 | 2016.05.19 | 115 |
149 | 초반 말하는 두루마리 지급 부분 본섭화 | 김닉넴 | 2016.05.19 | 59 |
148 | l1skilluse.handlecommands - null point 에러 | 야호 | 2016.05.19 | 47 |
147 | 기억창 소스 | 김닉넴 | 2016.05.18 | 127 |
146 | gm명령 메모리솔류션 | 김닉넴 | 2016.05.18 | 102 |
145 | 오림시스템 | 김닉넴 | 2016.05.18 | 80 |
144 | 너스핵쓰냐?잡아본다 [2] | 김닉넴 | 2016.05.18 | 202 |
143 | 마을경비 입구가져오는몹 죽이는법 | 김닉넴 | 2016.05.18 | 58 |
142 | 던전 타이머 소스 | 김닉넴 | 2016.05.18 | 102 |
141 | 낚시터 드랍경로 [1] | 김닉넴 | 2016.05.18 | 88 |
140 | 허수아비렙제 | 김닉넴 | 2016.05.18 | 99 |
139 | 운영자 명령어 [혈전시작] 추가방법 | 김닉넴 | 2016.05.18 | 71 |
138 | 같은혈 용병로봇들이 상대방혈의 로봇들 치게 하는방법.[초코님 점팩 기준] | 김닉넴 | 2016.05.18 | 285 |
137 | 파티원 수 늘리기 | 김닉넴 | 2016.05.18 | 36 |
136 | [아이서버] 공성주기 변경 | 김닉넴 | 2016.05.18 | 60 |
135 | 환영의 체인소드 | 김닉넴 | 2016.05.18 | 29 |
134 | 커멘드로 영자권한 주기입니다 | 김닉넴 | 2016.05.18 | 97 |
133 | 특정아이템 획득시 전체공지 | 김닉넴 | 2016.05.18 | 105 |
132 | [아이서버] 혈전종료 명령어 | 김닉넴 | 2016.05.18 | 41 |
131 | linall 유저가접하면 알아서 인사하고~ 성주가 접하면 알아서 성주인사를~합니다~ | 김닉넴 | 2016.05.18 | 139 |
130 | 축아이템 만들기 [1] | 김닉넴 | 2016.05.18 | 182 |
129 | 1억수표 | 김닉넴 | 2016.05.18 | 102 |
» |
잊섬 2시간 텀으로 열리게 컴파일 요청합니다
![]() | 아오이와소라 | 2016.05.17 | 186 |
127 | mr에 의한 데미지 경감 소스 [1] | LoseF | 2016.05.10 | 157 |
126 | 몬스터 피틱 and 엠틱 간단하게 쓰레드 최소화? | 로스트사가 | 2016.05.05 | 84 |
125 |
매니저창 구버전 하시는분들한테 좋을거 같아서 올립니다.
![]() | 로스트사가 | 2016.05.05 | 683 |
124 | 귓말 글자수 늘려보자 | 로스트사가 | 2016.05.04 | 41 |
123 | 에메랄드 아이콘 패킷 | 로스트사가 | 2016.05.03 | 88 |
122 | 마법 방어 인첸트 적용 | 로스트사가 | 2016.05.03 | 85 |
121 |
족보&나이
[1] ![]() | 로스트사가 | 2016.05.03 | 143 |
120 |
펫관련 본섭화와 밸런스
![]() | 로스트사가 | 2016.05.03 | 198 |
119 | [본섭화]수호탑근처가면투명해제 | 로스트사가 | 2016.05.03 | 46 |
118 | 변신 레벨에따른 공속변화 | 로스트사가 | 2016.04.30 | 495 |
117 | 5분마다 자도옹지 띄우기 | 이드1 | 2016.04.27 | 103 |
116 | 공성 먹자 군주 방지 [1] | 이드1 | 2016.04.27 | 124 |
115 | 몬스터잡은만큼 버프주기 | 이드1 | 2016.04.26 | 113 |
114 | [중복] 자세히 클래스변경물약 | 이드1 | 2016.04.26 | 85 |
113 | 유저커멘드 인벤템 보여주기 | 이드1 | 2016.04.26 | 125 |
112 | 인첸별 이펙 | 이드1 | 2016.04.26 | 157 |
111 | 특정맵 경험치증가 | 이드1 | 2016.04.26 | 95 |
110 | 특정아이템 뮨효과 | 이드1 | 2016.04.26 | 135 |