[펌]혈맹원 50명 이상일 경우 버프
Config.java
public static int CLAN_BUFFTIME; //추가
// rates.properties // 이부분아래 적당한곳
CLAN_BUFFTIME = Integer.parseInt(rateSettings.getProperty("Clan_bufftime", "30")); //추가
BuffTimeController.java // 이거 자바파일 하나 만들어서 src\l1j\server\server 경로에 넣으세요.. 컴파일 필수!
package l1j.server.server;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
import l1j.server.Config;
import l1j.server.SpecialEventHandler;
public class BuffTimeController implements Runnable {
private static BuffTimeController _instance;
public static BuffTimeController getInstance() {
if (_instance == null) {
_instance = new BuffTimeController();
}
return _instance;
}
@Override
public void run() {
try {
while (true) {
checkBuffTime();
Thread.sleep(60000);
}
} catch (Exception e1) {
}
}
private Calendar getRealTime() {
TimeZone _tz = TimeZone.getTimeZone(Config.TIME_ZONE);
Calendar cal = Calendar.getInstance(_tz);
return cal;
}
private void checkBuffTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HHmm");
int nowtime = Integer.valueOf(sdf.format(getRealTime().getTime()));
int BuffTime = Config.CLAN_BUFFTIME;
if (nowtime % BuffTime == 0) {
SpecialEventHandler.getInstance().clanBuff();
}
return;
}
}
GameServer.java
public void initialize() throws Exception { //검색후 밑에다
BuffTimeController buffTimeController = BuffTimeController.getInstance();
GeneralThreadPool.getInstance().execute(buffTimeController); //적당한곳에 추가
SpecialEventHandler.java
public void doAllBuf() { //검색 위에 추가
public void clanBuff() {
int[] allBuffSkill = {LIGHT, DECREASE_WEIGHT, PHYSICAL_ENCHANT_DEX,
PHYSICAL_ENCHANT_STR, BLESS_WEAPON,BERSERKERS,ADVANCE_SPIRIT,
UNCANNY_DODGE,DOUBLE_BRAKE,BURNING_SPIRIT,REDUCTION_ARMOR, DRESS_EVASION}; //버프
L1SkillUse l1skilluse = null;
for (L1PcInstance pc : L1World.getInstance().getAllPlayers()) {
L1Clan clan = L1World.getInstance().getClan(pc.getClanname());
if (clan != null) {
if (clan.getCastleId() == 0 && pc.getClanid() != 0 && clan.getOnlineClanMember().length >= 50) {
if(pc.isPrivateShop()){
continue;
}
l1skilluse = new L1SkillUse();
for (int i = 0; i < allBuffSkill.length ; i++) {
l1skilluse.handleCommands(pc, allBuffSkill[i], pc.getId(), pc.getX(), pc.getY(), null, 0, L1SkillUse.TYPE_GMBUFF);
}
pc.sendPackets(new S_SystemMessage("접속 혈맹원 50명 이상이여서 버프를 받으셨습니다."));
}
}
}
}
config폴더
rates.properties
#클랜버프타임(30 = 30분, 60 = 1시간)
Clan_bufftime = 30
임포트 알아서 추가는 해주시고요..
팝존 공부합시다님 자료 펌

안약 님의 최근 댓글
천화님 두 명이서만 로봇켜고 놀려고 하는데 그래도 i5에 램8GB 정도로 사양 되어야 할까요? 2016 11.13