카스파 패밀리
/**
*
*/
package lineage.thread;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
import lineage.database.MonsterDatabase;
import lineage.database.MonsterSpawnlistDatabase;
import lineage.share.Lineage;
import lineage.thread.AiThread;
import lineage.util.Util;
import lineage.world.controller.ChattingController;
import lineage.world.object.instance.MonsterInstance;
/**
* @author Koumei
*
*/
public class CaspaFamily extends Thread{
private static CaspaFamily i;
public static CaspaFamily getInstance(){
if (i == null){
i = new CaspaFamily();
i.start();
}
return i;
}
private int[] make_minuteInt2Array(){
TimeZone jst = TimeZone.getTimeZone ("JST");
Calendar cal = Calendar.getInstance ( jst );
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String fm = formatter.format(cal.getTime());
int[] minuteInt2Array = new int[2];
minuteInt2Array[0] = Integer.parseInt(fm.substring(11,13));
minuteInt2Array[1] = Integer.parseInt(fm.substring(14,16));
return minuteInt2Array;
}
public int M = Util.get_random(30, 59);
public boolean Caspa, Baltuzar, Sema, Merkyor, Braking;
private String[] desc = {"$339", "$340", "$341", "$342"};
private void msg(MonsterInstance m, String s){
try{
ChattingController.toChatting(m, s, Lineage.CHATTING_MODE_SHOUT);
if(!s.equals("$342")) sleep(10000);
}catch(Exception e){}
}
private void Spawn(){
int x = 0, y = 0, map = Util.get_random(9, 10);
switch(Util.getRnd().nextInt(6)){
case 0:
if(map == 9){
x = 32811; y = 32750;
}else{
x = 32759; y = 32791;
}
break;
case 1:
if(map == 9){
x = 32795; y = 32787;
}else{
x = 32768; y = 32757;
}
break;
case 2:
if(map == 9){
x = 32774; y = 32807;
}else{
x = 32777; y = 32800;
}
break;
case 3:
if(map == 9){
x = 32779; y = 32769;
}else{
x = 32779; y = 32737;
}
break;
case 4:
if(map == 9){
x = 32742; y = 32750;
}else{
x = 32739; y = 32740;
}
break;
case 5:
if(map == 9){
x = 32761; y = 32758;
}else{
x = 32739; y = 32773;
}
break;
}
MonsterInstance caspa = MonsterSpawnlistDatabase.newInstance(MonsterDatabase.find("카스파")),
baltuzar = MonsterSpawnlistDatabase.newInstance(MonsterDatabase.find("발터자르")),
sema = MonsterSpawnlistDatabase.newInstance(MonsterDatabase.find("세마")),
merkyor = MonsterSpawnlistDatabase.newInstance(MonsterDatabase.find("메르키오르"));
caspa.setHomeX(x);
caspa.setHomeY(y);
caspa.setHomeMap(map);
caspa.setHeading(0);
caspa.toTeleport(x, y, map, false);
caspa.readDrop();
AiThread.append(caspa);
baltuzar.setHomeX(x);
baltuzar.setHomeY(y);
baltuzar.setHomeMap(map);
baltuzar.setHeading(0);
baltuzar.toTeleport(x, y, map, false);
baltuzar.readDrop();
AiThread.append(baltuzar);
sema.setHomeX(x);
sema.setHomeY(y);
sema.setHomeMap(map);
sema.setHeading(0);
sema.toTeleport(x, y, map, false);
sema.readDrop();
AiThread.append(sema);
merkyor.setHomeX(x);
merkyor.setHomeY(y);
merkyor.setHomeMap(map);
merkyor.setHeading(0);
merkyor.toTeleport(x, y, map, false);
merkyor.readDrop();
AiThread.append(merkyor);
Caspa = Baltuzar = Sema = Merkyor = true;
lineage.share.System.println("카스파 패밀리 스폰 "+ map);
M = Util.get_random(30, 59);
lineage.share.System.println("next regen : "+ M+"분");
Braking = true;
msg(baltuzar, desc[0]);
msg(caspa, desc[1]);
msg(merkyor, desc[2]);
msg(sema, desc[3]);
}
public void run(){
try{
while(true){
int[] time = make_minuteInt2Array();
if(!Caspa && !Baltuzar && !Sema && !Merkyor && !Braking){
if(time[1] == M) Spawn();
}
if(time[1] > 58 && Braking){
Braking = false;
}
sleep(30000);
}
}catch(Exception e){}
}
}
카파패밀리 스폰 입니다. 몹 스폰테이블에 카파패밀리는 제거하고 사용하시면 되겠죠
메인에서 쓰레드가 돌수있게 처리도 해주시공..
다이시에 따로 각이름변수로 체크해주심 되겠죠
잘쓰세여 ~
출처:나
[출처] 카스파 패밀리 (비공개 카페)

준희미니 님의 최근 댓글
rt 2021 05.25 ㄳ 2021 05.11 ㄳ 2021 05.11 rt 2021 05.09 rt 2021 04.25