사이트 로그인
2016.06.29 10:27
안녕하세요.
천사 입니다.
아래 소스는 공개 팩 에서 추출 하였으며
저도 너무 오래된지라 알수가 없네요..
마방 부분 내려가는 거 확인 하였습니다.
잘쓰세요...
---------------------------------------------------
스킬유즈.자바
case 123: //이레이즈매직
if(cha.get_level() >= 40 || cha.get_type() == 2 )
{
if(Checkitem(cha, skills.getItemConsume(), skills.getItemConsumeCount()))
{//
if(temp instanceof L1PcInstance)
{ // 유저라면
L1PcInstance use = (L1PcInstance)temp;
Random random10 = new Random();
Random random11 = new Random();
int bbb = random10.nextInt(49) + random11.nextInt(49) + 2;
int vvv = bbb / 2;
int qqww = cha.get_level() - use.get_level() ;
if(qqww <= -20)
{
if(vvv < 13)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww <= -15)
{
if(vvv < 16)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww <= -10)
{
if(vvv < 22)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww <= -5)
{
if(vvv < 26)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww >= 20)
{
if(vvv < 48)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww >= 15)
{
if(vvv < 43)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww >= 10)
{
if(vvv < 39)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else if(qqww >= 5)
{
if(vvv < 35)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.set_Buff_Temp이레이즈매직(true);
}
}
}
else
{
if(vvv < 31)
{
if(!use.get_Buff_이레이즈매직())
{
use.set_Buff_이레이즈매직(true);
Buff_이레이즈매직 er = new Buff_이레이즈매직(use, skills.getBuffDuration());
//효과주기~~~
er.start();
}
else
{
use.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(use.get_objectId(), skills.getCastGfx()), true , true); // 마법이팩트
}
}
}
else
{
}
break;
-----------------------------------------------------
쓰레드 부분
class Buff_이레이즈매직 extends Thread
{
public L1PcInstance cha;
public int time;
public int temp_time;
public Buff_이레이즈매직(L1PcInstance cha, int time)
{
this.cha = cha;
this.time = time;
this.temp_time = time;
}
public void run()
{
try
{
do
{
sleep(1000); // 1초
--temp_time;
if(cha.get_Buff_Temp이레이즈매직())
{
cha.set_Buff_Temp이레이즈매직(false);
temp_time = time;
}
if(temp_time <= 0)
{
cha.set_Buff_이레이즈매직(false);
}
}while(cha.get_Buff_이레이즈매직());
cha.sendPackets(cha.get_netConnection().bph().get_ocs().S_OwnCharStatus(cha), true);
}
catch (Exception e){}
}
}
여기까지 입니다.
[출처] 요정 이레이즈 매직 소스 입니다 (비공개 카페)