게임강의
리니지 분류

SP팩기반sp7final 1.63 서버창에 기능넣기 Guimain.java 수정하기[옆동네 펌]

컨텐츠 정보

본문

서버창의 기능 넣는겁니다.

기존 소스가 조금 통일되지 못한 관계로 규칙을 넣어 통일시켰습니다.

 

서버창의 맨위의 메뉴들은

menu_1_system  //서버온오프

menu_2_system  //이벤트 명령어 리로드

menu_3_system  //실행

menu_4_system  //도움말

 

맨위의 메뉴들의 스크롤 바는 _bar 만 붙였습니다

menu_1_system_bar  //서버온오프

menu_2_system_bar  //이벤트 명령어 리로드

menu_3_system_bar  //실행

menu_4_system_bar  //도움말

 

맨위의 메뉴들의 서브메뉴들은

menu_1_system_sub_1  //맨위첫메뉴의 첫번째 서브메뉴

menu_1_system_sub_2  //맨위첫메뉴의 두번째 서브메뉴

menu_1_system_sub_3

menu_2_system_sub_1  //맨위두번째메뉴의 첫번째 서브메뉴

menu_2_system_sub_2

menu_2_system_sub_3

 

서브메뉴에 하위메뉴가 또 있어 스크롤바가 필요하면

menu_2_system_sub_1_bar //맨위두번째메뉴의 첫번째 서브메뉴 바

menu_2_system_sub_2_bar

menu_2_system_sub_3_bar

 

서브메뉴의 하위메뉴는 sub대신 이름붙임

menu_2_system_sub_1_command_1 //올버프

menu_2_system_sub_1_command_2 //청소

menu_2_system_sub_1_command_3 //캐릭터 저장

menu_2_system_sub_2_event_1; // 변신 이벤트

menu_2_system_sub_2_event_2; // 자동버프 이벤트

menu_2_system_sub_2_event_3; // 환상 이벤트

menu_2_system_sub_1_reload_1 // lineage_conf 리로드

menu_2_system_sub_1_reload_2 //notice.txt 리로드

menu_2_system_sub_1_reload_3

 

===========================통째로 복사하시고 연동안되는부분만 주석처리하세요====================================

 

이미 주석처리된 부분은 나중에 연동시킬예정이라 넣어놨습니다.

 

lineage.gui.GuiMain.java

 

 

 

 

package lineage.gui;

import lineage.Main;
//import lineage.database.FishListDatabase;
import lineage.database.ItemBundleDatabase;
//import lineage.database.ItemChanceBundleDatabase;
import lineage.database.ItemDatabase;
import lineage.database.ItemSkillDatabase;
import lineage.database.MonsterBossSpawnlistDatabase;
import lineage.database.MonsterDatabase;
import lineage.database.MonsterDropDatabase;
import lineage.database.MonsterSkillDatabase;
import lineage.database.NpcDatabase;
import lineage.database.NpcShopDatabase;
import lineage.database.PolyDatabase;
import lineage.database.ServerNoticeDatabase;
import lineage.database.SpriteFrameDatabase;
import lineage.database.SummonListDatabase;
//import lineage.database.TeamBattleDatabase;
//import lineage.database.TimeDungeonDatabase;
import lineage.gui.composite.ConsoleComposite;
import lineage.gui.composite.ViewComposite;
import lineage.share.Lineage;
import lineage.util.Shutdown;
import lineage.util.Util;
import lineage.world.World;
import lineage.world.controller.CommandController;
import lineage.world.controller.EventController;
import lineage.world.controller.KingdomController;
import lineage.world.controller.NoticeController;
import lineage.world.object.instance.MonsterInstance;
import lineage.world.object.instance.PcInstance;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;

import com.swtdesigner.SWTResourceManager;

//import all_night.Lineage_Balance;
//import all_night.Npc_promotion;
//import all_night.util.Monster_Drop_sql;
//import all_night.util.Monster_spawnlist_sql;
//import all_night.util.Spr_Action_sql;

public final class GuiMain {

    // gui 컴포넌트들.
    static public Display display;
    static public Shell shell;
    static private ViewComposite viewComposite;
    static private ConsoleComposite consoleComposite;
    static private MenuItem menu_1_system_sub_1; // 서버가동
    static private MenuItem menu_1_system_sub_2; // 서버종료
    static private MenuItem menu_1_system_sub_3; // 서버바로종료
    static private MenuItem menu_2_system_sub_1; // 명령어
    static private MenuItem menu_2_system_sub_2; // 이벤트
    static private MenuItem menu_2_system_sub_3; // 리로드
    static private MenuItem menu_2_system_sub_2_event_1; // 변신 이벤트
    static private MenuItem menu_2_system_sub_2_event_2; // 자동버프 이벤트
    static private MenuItem menu_2_system_sub_2_event_3; // 환상 이벤트
    static private MenuItem menu_2_system_sub_2_event_4; // 크리스마스 이벤트
    static private MenuItem menu_2_system_sub_2_event_5; // 할로윈 이벤트
    static private MenuItem menu_2_system_sub_2_event_6; // 토템 이벤트

    // 서버팩 버전
    static public final String SERVER_VERSION = " Ver 1.0";
    // 클라이언트 접속 최대치값.
    static public int CLIENT_MAX = 300;

    /**
    * Open the window.
    *
    * @wbp.parser.entryPoint
    */
    static public void open() {
        display = Display.getDefault();
        shell = new Shell();
        shell.setSize(900, 600);
        shell.setText(String.format("서버 %s", SERVER_VERSION));
        shell.setImage(SWTResourceManager.getImage("images/icon.ico"));
        GridLayout gl_shell = new GridLayout(2, false);
        gl_shell.verticalSpacing = 0;
        gl_shell.horizontalSpacing = 0;
        gl_shell.marginHeight = 0;
        gl_shell.marginWidth = 0;
        shell.setLayout(gl_shell);

        Menu menu = new Menu(shell, SWT.BAR);
        shell.setMenuBar(menu);
       
        //첫번째 메뉴 서버ON/OFF
        MenuItem menu_1_system = new MenuItem(menu, SWT.CASCADE);
        menu_1_system.setText("서버ON/OFF");
        //첫번째 메뉴 바
        Menu menu_1_system_bar = new Menu(menu_1_system);
        menu_1_system.setMenu(menu_1_system_bar);
        //첫번째 메뉴 서브메뉴1
        menu_1_system_sub_1 = new MenuItem(menu_1_system_bar, SWT.NONE);
        menu_1_system_sub_1.setText("서버 ON");
        //첫번째 메뉴 서브메뉴2
        menu_1_system_sub_2 = new MenuItem(menu_1_system_bar, SWT.NONE);
        menu_1_system_sub_2.setText("서버 OFF");
        menu_1_system_sub_2.setEnabled(false);
       
        //첫번째 메뉴 바 줄       
        new MenuItem(menu_1_system_bar, SWT.SEPARATOR);
        //첫번째 메뉴 서브메뉴3       
        menu_1_system_sub_3 = new MenuItem(menu_1_system_bar, SWT.NONE);
        menu_1_system_sub_3.setText("서버 바로 종료");
        menu_1_system_sub_3.setEnabled(false);
       
        //첫번째 메뉴 바 줄
        new MenuItem(menu_1_system_bar, SWT.SEPARATOR);
       
        //첫번째 메뉴 서브메뉴4
        MenuItem menu_1_system_sub_4 = new MenuItem(menu_1_system_bar, SWT.NONE);
        menu_1_system_sub_4.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                final Tray tray = display.getSystemTray();
                if (tray != null) {
                    // 현재 윈도우 감추기.
                    shell.setVisible(false);
                    // 트레이 활성화.
                    final TrayItem item = new TrayItem(tray, SWT.NONE);
                    item.setToolTipText(String.format("%s : %d", SERVER_VERSION, Lineage.server_version));
                    item.setImage(SWTResourceManager.getImage("images/icon.ico"));
                    // 이벤트 등록.
                    item.addSelectionListener(new SelectionAdapter() {
                        @Override
                        public void widgetSelected(SelectionEvent e) {
                            item.dispose();
                            shell.setVisible(true);
                            shell.setFocus();
                        }
                    });
                }
            }
        });
        menu_1_system_sub_4.setText("최소 창모드");
       
        //두번째 메뉴 명령어|이벤트|리로드
        MenuItem menu_2_system = new MenuItem(menu, SWT.CASCADE);
        menu_2_system.setText("명령어|이벤트|리로드");

        Menu menu_2_system_bar = new Menu(menu_2_system);
        menu_2_system.setMenu(menu_2_system_bar);

        menu_2_system_sub_1 = new MenuItem(menu_2_system_bar, SWT.CASCADE);
        menu_2_system_sub_1.setEnabled(false);
        menu_2_system_sub_1.setText("명령어");

        Menu menu_2_system_sub_1_bar = new Menu(menu_2_system_sub_1);
        menu_2_system_sub_1.setMenu(menu_2_system_sub_1_bar);

/**        MenuItem menu_2_system_sub_1_command_1 = new MenuItem(menu_2_system_sub_1_bar, SWT.CHECK);
        menu_2_system_sub_1_command_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.serverOpenWait();
                menu_2_system_sub_1_command_1.setSelection(true);
            }
        });
        menu_2_system_sub_1_command_1.setText("서버 오픈대기");

        MenuItem menu_2_system_sub_1_command_2 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.serverOpen();
                menu_2_system_sub_1_command_1.setSelection(false);
            }
        });
        menu_2_system_sub_1_command_2.setText("서버 오픈");
*/
        MenuItem menu_2_system_sub_1_command_3 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_3.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.toBuffAll(null);
            }
        });
        menu_2_system_sub_1_command_3.setText("올버프");

        MenuItem menu_2_system_sub_1_command_4 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_4.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.toWorldItemClear(null);
            }
        });
        menu_2_system_sub_1_command_4.setText("월드맵 청소");

        MenuItem menu_2_system_sub_1_command_5 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_5.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                for (PcInstance pc : World.getPcList())
                    pc.toCharacterSave();

                lineage.share.System.println("캐릭터 정보 저장 완료");
            }
        });
        menu_2_system_sub_1_command_5.setText("캐릭터 저장");

        MenuItem menu_2_system_sub_1_command_6 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_6.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.toBanAllRemove(null);
            }
        });
        menu_2_system_sub_1_command_6.setText("전체 벤 해제");

/**        MenuItem menu_2_system_sub_1_command_7 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_7.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                RobotController.reloadPcRobot(false);
            }
        });
        menu_2_system_sub_1_command_7.setText("로봇 전체 사용");
       
        MenuItem menu_2_system_sub_1_command_8 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_8.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                RobotController.reloadPcRobot(true);
            }
        });       
        menu_2_system_sub_1_command_8.setText("로봇 전체 사용 안함");
*/       
/**        MenuItem menu_2_system_sub_1_command_9 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_9.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Spr_Action_sql.writeSql();
            }
        });
        menu_2_system_sub_1_command_9.setText("spr_action.sql 생성");
*/
/**        MenuItem menu_2_system_sub_1_command_10 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_10.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Monster_Drop_sql.writeSql();
            }
        });
        menu_2_system_sub_1_command_10.setText("monster_drop.sql 생성");
*/
/**        MenuItem menu_2_system_sub_1_command_11 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_11.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Monster_spawnlist_sql.writeSql();
            }
        });
        menu_2_system_sub_1_command_11.setText("monster_spawnlist.sql 생성");
*/
/**        MenuItem menu_2_system_sub_1_command_12 = new MenuItem(menu_2_system_sub_1_bar, SWT.NONE);
        menu_2_system_sub_1_command_12.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.setKingdomWar();
            }
        });
        menu_2_system_sub_1_command_12.setText("공성전");
*/
        menu_2_system_sub_2 = new MenuItem(menu_2_system_bar, SWT.CASCADE);
        menu_2_system_sub_2.setEnabled(false);
        menu_2_system_sub_2.setText("이벤트");

        Menu menu_2_system_sub_2_bar = new Menu(menu_2_system_sub_2);
        menu_2_system_sub_2.setMenu(menu_2_system_sub_2_bar);

        menu_2_system_sub_2_event_1 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toPoly(menu_2_system_sub_2_event_1.getSelection());
            }
        });
        menu_2_system_sub_2_event_1.setText("변신 이벤트");
       
        menu_2_system_sub_2_event_2 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toBuff(menu_2_system_sub_2_event_2.getSelection());
            }
        });
        menu_2_system_sub_2_event_2.setText("자동버프 이벤트");
       
        menu_2_system_sub_2_event_1 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toIllusion(menu_2_system_sub_2_event_1.getSelection());
            }
        });
        menu_2_system_sub_2_event_1.setText("환상 이벤트");
       
        menu_2_system_sub_2_event_1 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toChristmas(menu_2_system_sub_2_event_1.getSelection());
            }
        });
        menu_2_system_sub_2_event_1.setText("크리스마스 이벤트");
       
        menu_2_system_sub_2_event_1 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toHalloween(menu_2_system_sub_2_event_1.getSelection());
            }
        });
        menu_2_system_sub_2_event_1.setText("할로윈 이벤트");
       
        menu_2_system_sub_2_event_1 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toTotem(menu_2_system_sub_2_event_1.getSelection());
            }
        });
        menu_2_system_sub_2_event_1.setText("토템 이벤트");
/**       
        MenuItem menu_2_system_sub_2_event_7 = new MenuItem(menu_2_system_sub_2_bar, SWT.CHECK);
        menu_2_system_sub_2_event_7.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                EventController.toRankPoly(menu_2_system_sub_2_event_7.getSelection());
            }
        });
        menu_2_system_sub_2_event_7.setText("랭킹 변신 이벤트");
*/
/**        MenuItem menu_2_system_sub_2_event_8 = new MenuItem(menu_2_system_sub_2_bar, SWT.NONE);
        menu_2_system_sub_2_event_8.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                TimeDungeonDatabase.resetGiranDungeonTime();
            }
        });
        menu_2_system_sub_2_event_8.setText("기란감옥 이용시간 초기화");
*/
        /**        MenuItem menu_2_system_sub_2_event_9 = new MenuItem(menu_2_system_sub_2_bar, SWT.NONE);
        menu_2_system_sub_2_event_9.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                TimeDungeonDatabase.resetGiranDungeonScrollCount();
            }
        });
        menu_2_system_sub_2_event_9.setText("기란감옥 초기화 주문서 사용횟수 초기화");
*/       
        menu_2_system_sub_3 = new MenuItem(menu_2_system_bar, SWT.CASCADE);
        menu_2_system_sub_3.setEnabled(false);
        menu_2_system_sub_3.setText("리로드");

        Menu menu_2_system_sub_3_bar = new Menu(menu_2_system_sub_3);
        menu_2_system_sub_3.setMenu(menu_2_system_sub_3_bar);

        MenuItem menu_2_system_sub_3_reload_1 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Lineage.init();
            }
        });
        menu_2_system_sub_3_reload_1.setText("lineage.conf 파일 리로드");
/**
        MenuItem menu_2_system_sub_3_reload_2 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Lineage_Balance.init();
            }
        });
        menu_2_system_sub_3_reload_2.setText("lineage_balance.conf 파일 리로드");
*/
        MenuItem menu_2_system_sub_3_reload_3 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_3.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                NoticeController.reload();
            }
        });
        menu_2_system_sub_3_reload_3.setText("notice.txt 파일 리로드");

/**        MenuItem menu_2_system_sub_3_reload_4 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_4.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                FishListDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_4.setText("fishing_item_list 테이블 리로드");
*/
        MenuItem menu_2_system_sub_3_reload_5 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_5.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ItemDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_5.setText("item 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_6 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_6.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ItemBundleDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_6.setText("item_bundle 테이블 리로드");
/**
        MenuItem menu_2_system_sub_3_reload_7 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_7.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ItemChanceBundleDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_7.setText("item_chance_bundle 테이블 리로드");
*/
        MenuItem menu_2_system_sub_3_reload_8 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_8.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ItemSkillDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_8.setText("item_skill 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_9 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_9.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                MonsterDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_9.setText("monster 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_10 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_10.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Lineage.init();
                MonsterDropDatabase.reload();

                for (MonsterInstance mon : World.getMonsterList())
                    mon.readDrop();
            }
        });
        menu_2_system_sub_3_reload_10.setText("monster_drop 테이블 리로드");
       
        MenuItem menu_2_system_sub_3_reload_11 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_11.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                MonsterBossSpawnlistDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_11.setText("monster_spawnlist_boss 테이블 리로드");
       
        MenuItem menu_2_system_sub_3_reload_12 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_12.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                MonsterBossSpawnlistDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_12.setText("monster_spawnlist_boss 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_13 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_13.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                MonsterSkillDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_13.setText("monster_skill 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_14 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_14.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                NpcDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_14.setText("npc 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_15 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_15.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                NpcShopDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_15.setText("npc_shop 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_16 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_16.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                PolyDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_16.setText("poly 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_17 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_17.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.serverMagicReload();
            }
        });
        menu_2_system_sub_3_reload_17.setText("skill 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_18 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_18.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                SpriteFrameDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_18.setText("spr_frame 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_19 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_19.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                SummonListDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_19.setText("summon_list 테이블 리로드");

        MenuItem menu_2_system_sub_3_reload_20 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_20.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                ServerNoticeDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_20.setText("server_notice 테이블 리로드");

/**        MenuItem menu_2_system_sub_3_reload_21 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_21.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                CommandController.serverReload();
            }
        });
        menu_2_system_sub_3_reload_21.setText("server_reload 테이블 리로드");
*/
/**        MenuItem menu_2_system_sub_3_reload_22 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_22.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                TeamBattleDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_22.setText("team_battle_item 테이블 리로드");
*/
/**        MenuItem menu_2_system_sub_3_reload_23 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_23.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                BackgroundDatabase.reload();
            }
        });
        menu_2_system_sub_3_reload_23.setText("background_spawnlist 테이블 리로드");
*/
        /**
        MenuItem menu_2_system_sub_3_reload_24 = new MenuItem(menu_2_system_sub_3_bar, SWT.NONE);
        menu_2_system_sub_3_reload_24.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                KingdomController.reload();
            }
        });
        menu_2_system_sub_3_reload_24.setText("kingdom 테이블 리로드");
*/       
        MenuItem menu_3_system = new MenuItem(menu, SWT.CASCADE);
        menu_3_system.setText("실행");

        Menu menu_3_system_bar = new Menu(menu_3_system);
        menu_3_system.setMenu(menu_3_system_bar);

        MenuItem menu_3_system_sub_1 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/WINDOWS/system32/notepad.exe " + System.getProperty("user.dir") + "/lineage.conf");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_1.setText("lineage.conf 실행");
       
        MenuItem menu_3_system_sub_2 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/WINDOWS/system32/notepad.exe " + System.getProperty("user.dir") + "/mysql.conf");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_2.setText("mysql.conf 실행");
       
        MenuItem menu_3_system_sub_3 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_3.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/WINDOWS/system32/notepad.exe " + System.getProperty("user.dir") + "/socket.conf");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_3.setText("socket.conf 실행");
       
        MenuItem menu_3_system_sub_4 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_4.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/WINDOWS/system32/notepad.exe " + System.getProperty("user.dir") + "/web.conf");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_4.setText("web.conf 실행");
       
        MenuItem menu_3_system_sub_5 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_5.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/WINDOWS/system32/notepad.exe " + System.getProperty("user.dir") + "/log.conf");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_5.setText("log.conf 실행");
       
        MenuItem menu_3_system_sub_6 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_6.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/WINDOWS/system32/notepad.exe " + System.getProperty("user.dir") + "/notice.txt");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_6.setText("notice.txt 실행");
       
        MenuItem menu_3_system_sub_7 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_7.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/Program Files (x86)/PremiumSoft/Navicat Premium 8.2/navicat.exe");
                } catch (Exception e2) {
                }
                try {
                    Runtime.getRuntime().exec("C:/Program Files (x86)/PremiumSoft/Navicat Premium 8.0/navicat.exe");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_7.setText("나비켓 실행");
       
        MenuItem menu_3_system_sub_8 = new MenuItem(menu_3_system_bar, SWT.NONE);
        menu_3_system_sub_8.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime().exec("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe");
                } catch (Exception e2) {
                }
            }
        });
        menu_3_system_sub_8.setText("구글 크롬 실행");
       
        MenuItem menu_4_system = new MenuItem(menu, SWT.CASCADE);
        menu_4_system.setText("도움말");

        Menu menu_4_system_bar = new Menu(menu_4_system);
        menu_4_system.setMenu(menu_4_system_bar);

        MenuItem menu_4_system_sub_1 = new MenuItem(menu_4_system_bar, SWT.NONE);
        menu_4_system_sub_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                try {
                    Runtime.getRuntime()
                        .exec("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe " + "https://gamedori.xyz/");
                } catch (Exception e2) {
                }
            }
        });
        menu_4_system_sub_1.setText("사이트: https://gamedori.xyz/");

        MenuItem menu_4_system_sub_2 = new MenuItem(menu_4_system_bar, SWT.NONE);
        menu_4_system_sub_2.setText("이메일: psjump@psjump.com");

        MenuItem menu_4_system_sub_3 = new MenuItem(menu_4_system_bar, SWT.NONE);
        menu_4_system_sub_3.setText("네이트온: psjump@psjump.com");

        viewComposite = new ViewComposite(shell, SWT.NONE);
        viewComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));

        consoleComposite = new ConsoleComposite(shell, SWT.NONE);
        GridData gd_consoleComposite = new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1);
        gd_consoleComposite.heightHint = 125;
        consoleComposite.setLayoutData(gd_consoleComposite);

        // 이벤트 등록.
        menu_1_system_sub_1.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                // 서버 정보 로드.
                Main.init();
                // 맵뷰어 랜더링 시작.
                viewComposite.getScreenRenderComposite().start();
                // 정보 변경.
                menu_1_system_sub_1.setEnabled(false);
                menu_1_system_sub_2.setEnabled(true);
                menu_1_system_sub_3.setEnabled(true);
            }
        });
        menu_1_system_sub_2.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                new Thread(Shutdown.getInstance()).start();
            }
        });
        menu_1_system_sub_3.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                Main.close();
            }
        });
       
        // 매니저를 윈도우화면 가운데 좌표로 변경.
        shell.setBounds((display.getBounds().width / 2) - (shell.getBounds().width / 2),
                (display.getBounds().height / 2) - (shell.getBounds().height / 2), shell.getBounds().width,
                shell.getBounds().height);

        shell.open();
        shell.layout();
        while (!shell.isDisposed()) {
            try {
                if (!display.readAndDispatch())
                    display.sleep();
            } catch (Exception e) {
            }
        }

        Main.close();
    }

    static public ViewComposite getViewComposite() {
        return viewComposite;
    }

    static public ConsoleComposite getConsoleComposite() {
        return consoleComposite;
    }

    static public void toTimer(long time) {
        // 뷰어 처리.
        viewComposite.toTimer(time);
        // 초기화 안된 상태.
        if (!menu_2_system_sub_2.isEnabled()) {
            // 메뉴 활성화.
            menu_2_system_sub_2.setEnabled(true);
            menu_2_system_sub_1.setEnabled(true);
            menu_2_system_sub_3.setEnabled(true);
            // Lineage 설정 정보 갱신
            menu_2_system_sub_2_event_1.setSelection(Lineage.event_poly);
            menu_2_system_sub_2_event_2.setSelection(Lineage.event_buff);
            menu_2_system_sub_2_event_3.setSelection(Lineage.event_illusion);
            menu_2_system_sub_2_event_4.setSelection(Lineage.event_christmas);
            menu_2_system_sub_2_event_5.setSelection(Lineage.event_halloween);
            menu_2_system_sub_2_event_6.setSelection(Lineage.event_lyra);
        }
    }

    /**
    * 경고창 띄울때 사용.
    *
    * @param msg
    */
    static public void toMessageBox(final String msg) {
        toMessageBox(SERVER_VERSION, msg);
    }

    static public void toMessageBox(final String title, final String msg) {
        MessageBox messageBox = new MessageBox(shell, SWT.ICON_WARNING);
        messageBox.setText(String.format("경고 :: %s", title));
        messageBox.setMessage(msg);
        messageBox.open();
    }
}

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 422 / 1 페이지
번호
제목
이름

강의실

🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 82,042
2 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,280
3 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 32,591
4 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 23,416
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 22,310
7 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 13,822
8 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 13,500
9 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 13,246
10 no_profile 하늘2쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13,239
알림 0