사이트 로그인
2016.05.20 06:28
스레드통합은 그리어렵지않답니다.
여러분들이 팩을 뒤져보시다보면 pc인스턴스.java npc인스턴스.java 와 같이
인스턴스 폴더안에있는 인스턴스파일들이 보이실겁니다.
이 인스턴스파일들은 각각의 pc.npc.monster의 속성? 이라고보시면됩니다.
pc 5명이접속해있다면 pc인스턴스.java의 내용을 고대로 복사해서 5명이쓰고있다고생각하면됩니다.
그러면 pc인스턴스에서 private int AABBCC = 1; 이렇게 선언하시면
5명은 AABBCC라는 정수형변수와 그변수에 1이라는 결과를 가지고있는거나다름없답니다.
그러면 이걸이용해서 멀티방식이라고해야돼나?
타이머같은걸 쟤시면됩니다.
AABBCC를 다른걸로 선언해서
private int _MPTime = 60;
public int getMPTime(){
return _MPTime;
}
public void setMPTime(int Time){
_MPTime = Time;
}
이렇게선언해서 MP는 60초마다 찬다고 선언을 해두고
이걸 스레드를 이용해서
public class MpRegenTimer implement Runnable {
public void run(){
try{
while(true){ // 계속 true이기때문에 무한으로 돌리기위해
thread.sleep(1000); // 1초마다
for(L1PcInstance pc : L1World.getInstance().AllPlayers()){
if(앱솔이아닐떄같은 조건들넣고 엠피가안차는현상일때는 안에내용실행안되게 조건짜세요){
if(pc.getMPTime > 0){
pc.setMPTime(pc.getMPTime()-1):
}else{
pc.setMPTime(60);
pc.currentMP(pc.getMP()+15); //메소드를 정확히모르지만 하여간 엠피 15채워준다고생각해주셈
}
}
}
}
}catch(Excetion e){
System.out.println("엠틱스레드 에러발생 End");
}
}
이렇게 짜서 자바파일하나로 만든후
서버가 켜질때 이스레드를 돌려줘야되니까
Gameserver.java에서
제너럴 스레드로 넣어서 돌려주면된답니다. 그럼 무한으로 안죽고 계속돌겟죠?
뭐 이런겁니다 그러면
저60이 1씩깍이면서 0이되면 엠피가 차는거죠
여기선 단순하게 15만 차게했지만 저기에 따로 계산하는 메소드를 짜서 엠틱계산시킨후 하면된답니다. ㅇㅅㅇ
스레드통합은 이처럼 간단하게가능합니다만 계산을 어떻게짜야되고 서로연결해야될메소드들도많기때문에 어려워들하시는것같습니다.
구조만이해한다면 상당히 쉽답니다 ㅇㅅㅇ
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | 소스자료는 직접 올려주세요 | 게임존 | 2017.06.06 | 550 |
» | 통합 쓰레드(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 |
128 |
잊섬 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 |