감자기반 잊섬 텔레포터생성 시간변경
위치 : l1j.server.server.TimeController;
잊섬Controller.java
private static 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;
}
public 잊섬Controller(){
LOOP = 2; >>>>>>>>>>>>>같이 시간 수정
}
@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(33437, 32811, (short) 4, 777018, 0, 3800000, 0);//텔레포터 >> 잊섬 텔레포터가 생기는 위치
/**잊섬시간때만엔피씨생성**/
isGmOpen = false;
/** 오픈 메세지 * */
L1World.getInstance().broadcastServerMessage("\\aH 잊혀진 섬으로가는 문이 열렸습니다.");
L1World.getInstance().broadcastServerMessage("\\aH 잊혀진 섬 : 1시간 사냥가능.");
/** 잊섬 시작* */
set잊섬Start(true);
/** 실행 1시간 시작* */
Thread.sleep(3800000L); // 3800000L 1시간 10분정도 >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);
}
}
중복인지는 모르겠는데 일단 없는거 같아서 올립니다.
그냥 어줍잖은 소스인데..혹시 시간 수정 못하는분 있으실까봐 남깁니다.
악마의영토도 비슷하게 수정하시면 될겁니다.
출처.팝존

jpark33 님의 최근 댓글
겜상 이미지는 클라를 뜯어야하는건지 아직 잘몰라서 대충 테스트 해본거 혹시나 도움이 되시라고 올립니다 dmg_decal="1" slot="3" 다른 장비로 바꿀수있어요 머리라던가 갑옷 악세 부분에 장착 할수있는 아이템 2016 04.08 알것 같은데... 2016 03.24 링크가 안되는것 같아요, 다시 올려주실수 있으신가요? 2016 03.17 파일이 없네요? 2016 03.17