경험치 중복 떨구기 및 문지방적용시 잊섬에서 경험치 적용안되는부분 수정.txt
CalcExp에 문지방 추가 하셨어도 그대로 두셔도 됩니다.
다만 소스가 중복이 된다는거.. 상관은 없어요..
이소스를 적용 시키면 기존에 케릭터가 죽었다면 Dmg = 0; 이거 삭제 해도 될듯하네요.
L1케릭터
public void set_currentHp(int currentHp){
_currentHp = currentHp;
if (_currentHp >= get_temphp()){
stopHpRegeneration();
_currentHp = get_temphp();
}else if(_currentHp <= 0){
hpCK = false;
stopHpRegeneration();
stopMpRegeneration();
_currentHp = 0;
if(this instanceof L1PcInstance){
L1PcInstance cha = (L1PcInstance)this;
//-- 나에게 보내기
cha.sendPackets(cha.get_netConnection().bph().get_CharAction().S_DoAction(cha.get_objectId(), 8), true, true);
cha.set_status(8);
cha.set_isdead(true);
cha.set_food(0);
버프세팅(cha);
if(cha.get_level()>10)
{
CalcExp.getInstance().penal_exp(cha);
cha.sendPackets(cha.get_netConnection().bph().get_ocs().S_OwnCharStatus(cha), true);
}
여기까지 기존 소스를 아래로 바꺼 주시면됩니다.
public void set_currentHp(int currentHp){
_currentHp = currentHp;
if (_currentHp >= get_temphp()){
stopHpRegeneration();
_currentHp = get_temphp();
}else if(_currentHp <= 0){
hpCK = false;
stopHpRegeneration();
stopMpRegeneration();
_currentHp = 0;
if(this instanceof L1PcInstance){
L1PcInstance cha = (L1PcInstance)this;
//-- 나에게 보내기
cha.sendPackets(cha.get_netConnection().bph().get_CharAction().S_DoAction(cha.get_objectId(), 8), true, true);
cha.set_status(8);
// cha.set_isdead(true); //이부분 삭제
cha.set_food(0);
버프세팅(cha);
if(!cha.is_isdead()){ //죽지 않았다면
if(cha.get_map() == 70) // 잊섬이라면
{
CalcExp.getInstance().penal_exp(cha); //패널티 적용
}
else if(cha.get_level()>10 && (cha.get_wmp()>=0)&&(cha.get_wmp()<=15)) // 케릭랩10이상이고 노말존이라면
{
CalcExp.getInstance().penal_exp(cha); //패널티 적용
}
cha.sendPackets(cha.get_netConnection().bph().get_ocs().S_OwnCharStatus(cha), true);
}
cha.set_isdead(true); //디진거 추가
-출저-노력님
[출처] 경험치 중복 떨구기 및 문지방적용시 잊섬에서 경험치 적용안되는부분 수정.txt (비공개 카페)

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