프리서버 오픈소스 리니지 무딜,노딜 버그 막기
프리서버 오픈소스 리니지 무딜,노딜 버그 막기
///////엘원캐릭터/////
private boolean Buff_딜레이;
private boolean Buff_Reset딜레이;
///////중략///////
public boolean get_Buff_딜레이() {
return Buff_딜레이;
}public void set_Buff_딜레이(boolean Buff_딜레이) {
this.Buff_딜레이 = Buff_딜레이;
}public boolean get_Buff_Reset딜레이() {
return Buff_Reset딜레이;
}public void set_Buff_Reset딜레이(boolean Buff_Reset딜레이) {
this.Buff_Reset딜레이 = Buff_Reset딜레이;
}
///////////스킬유즈//////////////
예시문 = 앱솔
case 78:// 앱솔루트
if(!cha.get_Buff_앱솔루트()){
cha.set_Buff_앱솔루트(true);
Buff_앱솔루트 ns = new Buff_앱솔루트(cha, skills.getBuffDuration());
ns.start();
}else{
cha.set_Buff_Temp앱솔루트(true);
}
cha.sendPackets(cha.get_netConnection().bph().get_CharAction().S_DoAction(cha.get_objectId(), MagicAction2), false, true);
cha.sendPackets(cha.get_netConnection().bph().get_CharAction().S_Effect(cha, skills.getCastGfx()), true, true);
cha.set_Buff_딜레이(true);
Buff_딜레이 buff = new Buff_딜레이(cha, 7000); // 7000으로 설정시 딜레이 스레드가 7초 돌아갑니다.
buff.start();//이런식으로 마법마다 브레이크 전에 3줄만 추가하시면 됩니다.
break;
////////////중략////////////////
class Buff_딜레이 extends Thread {
public L1PcInstance cha;
public int time;
public int a;
public int temp_time;
public Buff_딜레이(L1PcInstance cha, int a) {
this.cha = cha;
this.time = time;
this.a = a;
this.temp_time = time;
temp_time = time;
}
public void run() {
try{
do{
sleep(a); // 1초
--temp_time;
if(temp_time <= 0){
break;
}
}while(cha.get_Buff_딜레이());
cha.set_Buff_딜레이(false);
}catch(Exception e){
}
}
}
///////////////패킷핸들러///////////////
case Opcodes.C_OPCODE_USESKILL: // 129
if(!cha.get_Buff_딜레이() && !cha.get_Buff_사일런스()){
RequestUseSkill();
}
break;
////////////////////////////////////////
--- 출처: 프리린 ----

아옳옳 님의 최근 댓글
감사합니다. 2018 05.05 감사합니다. 2018 03.20 감사합니다. 2018 03.20 감사합니다. 2018 03.20 감사합니다. 2018 03.20