1.63 경험치 관련입니다. 49레벨부터..
컨텐츠 정보
- 603 조회
- 15 댓글
- 0 추천
- 0 비추천
- 목록
본문
안녕하세요~
1.63 짬짬이 공부도좀하고 놀면서 해봤더니 어느덧 49레벨에 달성했는데요
49레벨부터 너무 경험치가 안올라서 지금 애먹고있는데..
그러자고 콘프에서 경험치 배율올리면 1레벨부터 49레벨 구간 가는거까지는 엄청빨르고 재미없더라고요
제가 생각하고있는 테이블은 두개인데요 이거 조정해도 안되던데 어떻게 방법없을까요? (두번째껀 안해봄..)
1. exp 테이블가서 49레벨부터 54레벨까지 반으로 줄여봤습니다.(exp만따로도해보고 bouns도 따로해보고.. 둘다같이해보기도했습니다.)
2. 콘프파일가서는 건들게 없다고생각해서.. 안해봤습니다.
만약 위 2개가아니면 소스에서 수정하려면 어디쪽 봐야할까요?
-
등록일 2025.03.24
-
등록일 2025.03.232.0 보스 멍타는 현상~댓글 2
-
등록일 2025.03.21
-
등록일 2025.03.09케릭터 사망시 팅현상은..댓글 2
관련자료
댓글 15

린느님의 댓글
정확하진않으나...... 도움이 될?지도
1.exp테이블에서 이전레벨bonus값+다음레벨exp 값을얻어야~ 일겁니다
예) 49 36065092 55810945
50 36065092 91876037
55810945 에서 36065092 를더한 91876037값이되어야한다는뜻인데
앞에 exp부분이 얻어야할경험치 라고보시면될겁니다
그숫자를건드리실경우 이후 뒤에꺼 다 건드셔야할..겁니다
테스트는 50레벨 0.00퍼센트 캐릭터 생성하신후에
캐릭터테이블에서 exp값을 참고하신후 조정하시면 도움이되실듯하네요
2.exp배율 이라고기재되어있으나 패널티 로 생각하시면됩니다
1=1/1 100%흭득
2=1/2 50% 흭득 로 생각하시면되고
---서버셋팅 경험치 1배기준---
예) 해골의경험치가 10인경우 10흭득
패널티 1 = 10=10
패널티 2 = 10/2 = 5 이렇게 흭득한다고보시면됩니다
나비켓에서 exp테이블은 서버를 리붓하시면 적용되고
conf의경우 저장후 리로드명령어사용 or 리붓후 적용됩니다
1.exp테이블에서 이전레벨bonus값+다음레벨exp 값을얻어야~ 일겁니다
예) 49 36065092 55810945
50 36065092 91876037
55810945 에서 36065092 를더한 91876037값이되어야한다는뜻인데
앞에 exp부분이 얻어야할경험치 라고보시면될겁니다
그숫자를건드리실경우 이후 뒤에꺼 다 건드셔야할..겁니다
테스트는 50레벨 0.00퍼센트 캐릭터 생성하신후에
캐릭터테이블에서 exp값을 참고하신후 조정하시면 도움이되실듯하네요
2.exp배율 이라고기재되어있으나 패널티 로 생각하시면됩니다
1=1/1 100%흭득
2=1/2 50% 흭득 로 생각하시면되고
---서버셋팅 경험치 1배기준---
예) 해골의경험치가 10인경우 10흭득
패널티 1 = 10=10
패널티 2 = 10/2 = 5 이렇게 흭득한다고보시면됩니다
나비켓에서 exp테이블은 서버를 리붓하시면 적용되고
conf의경우 저장후 리로드명령어사용 or 리붓후 적용됩니다

파이터치킨님의 댓글의 댓글
추적좀 해봤는데 이부분이 메모장하고 연동되는 외부화쪽 같은데요
아래에서 private static final "int" 이부분을 double로 하면 소수점될까요?
private static final int _expPenalty[] = { GameSetting.LV49_EXP, GameSetting.LV50_EXP,
GameSetting.LV51_EXP, GameSetting.LV52_EXP, GameSetting.LV53_EXP, GameSetting.LV54_EXP,
GameSetting.LV55_EXP, GameSetting.LV56_EXP, GameSetting.LV57_EXP, GameSetting.LV58_EXP,
GameSetting.LV59_EXP, GameSetting.LV60_EXP, GameSetting.LV61_EXP, GameSetting.LV62_EXP,
GameSetting.LV63_EXP, GameSetting.LV64_EXP, GameSetting.LV65_EXP, GameSetting.LV66_EXP,
GameSetting.LV67_EXP, GameSetting.LV68_EXP, GameSetting.LV69_EXP, GameSetting.LV70_EXP,
GameSetting.LV71_EXP, GameSetting.LV72_EXP, GameSetting.LV73_EXP, GameSetting.LV74_EXP,
GameSetting.LV75_EXP, GameSetting.LV76_EXP, GameSetting.LV77_EXP, GameSetting.LV78_EXP,
GameSetting.LV79_EXP, GameSetting.LV80_EXP, GameSetting.LV81_EXP, GameSetting.LV82_EXP,
GameSetting.LV83_EXP, GameSetting.LV84_EXP, GameSetting.LV85_EXP, GameSetting.LV86_EXP,
GameSetting.LV87_EXP, GameSetting.LV88_EXP, GameSetting.LV89_EXP, GameSetting.LV90_EXP,
GameSetting.LV91_EXP, GameSetting.LV92_EXP, GameSetting.LV93_EXP, GameSetting.LV94_EXP,
GameSetting.LV95_EXP, GameSetting.LV96_EXP, GameSetting.LV97_EXP, GameSetting.LV98_EXP,
GameSetting.LV99_EXP };
아래에서 private static final "int" 이부분을 double로 하면 소수점될까요?
private static final int _expPenalty[] = { GameSetting.LV49_EXP, GameSetting.LV50_EXP,
GameSetting.LV51_EXP, GameSetting.LV52_EXP, GameSetting.LV53_EXP, GameSetting.LV54_EXP,
GameSetting.LV55_EXP, GameSetting.LV56_EXP, GameSetting.LV57_EXP, GameSetting.LV58_EXP,
GameSetting.LV59_EXP, GameSetting.LV60_EXP, GameSetting.LV61_EXP, GameSetting.LV62_EXP,
GameSetting.LV63_EXP, GameSetting.LV64_EXP, GameSetting.LV65_EXP, GameSetting.LV66_EXP,
GameSetting.LV67_EXP, GameSetting.LV68_EXP, GameSetting.LV69_EXP, GameSetting.LV70_EXP,
GameSetting.LV71_EXP, GameSetting.LV72_EXP, GameSetting.LV73_EXP, GameSetting.LV74_EXP,
GameSetting.LV75_EXP, GameSetting.LV76_EXP, GameSetting.LV77_EXP, GameSetting.LV78_EXP,
GameSetting.LV79_EXP, GameSetting.LV80_EXP, GameSetting.LV81_EXP, GameSetting.LV82_EXP,
GameSetting.LV83_EXP, GameSetting.LV84_EXP, GameSetting.LV85_EXP, GameSetting.LV86_EXP,
GameSetting.LV87_EXP, GameSetting.LV88_EXP, GameSetting.LV89_EXP, GameSetting.LV90_EXP,
GameSetting.LV91_EXP, GameSetting.LV92_EXP, GameSetting.LV93_EXP, GameSetting.LV94_EXP,
GameSetting.LV95_EXP, GameSetting.LV96_EXP, GameSetting.LV97_EXP, GameSetting.LV98_EXP,
GameSetting.LV99_EXP };

파이터치킨님의 댓글의 댓글
아 위에 문구는 또 이렇게되있던데..
위에껀 필요가없겟지요..? ㅠㅜ
깊게까지는 잘 모르겠네욥 `ㅡ`;;
* 레벨에 해당하는 경험치 정보 클레스 리턴.
*/
static public Exp find(final int level){
for( Exp e : list ){
if(e.getLevel() == level)
return e;
}
return null;
}
static public Exp getPool(){
Exp e = null;
synchronized (pool) {
if(Lineage.memory_recycle && pool.size()>0) {
e = pool.get(pool.size()-1);
pool.remove(pool.size()-1);
} else
e = new Exp();
}
return e;
}
static public void setPool(Exp e){
e.close();
if(!Lineage.memory_recycle)
return;
synchronized (pool) {
if(!pool.contains(e))
pool.add(e);
}
}
static public int getSize(){
return list.size();
}
static public int getPoolSize(){
return pool.size();
}
/**
* 현재의 레벨로부터, 경험치의 페널티 레이트를 요구한다
*
* @param level
* 현재의 레벨
* @return 요구된 경험치의 페널티 레이트
*/
public static double getPenaltyRate(int level) {
if (level < 49) {
return 1.0;
}
double expPenalty = 1.0;
expPenalty = 1.0 / _expPenalty[level - 49];
return expPenalty;
}
위에껀 필요가없겟지요..? ㅠㅜ
깊게까지는 잘 모르겠네욥 `ㅡ`;;
* 레벨에 해당하는 경험치 정보 클레스 리턴.
*/
static public Exp find(final int level){
for( Exp e : list ){
if(e.getLevel() == level)
return e;
}
return null;
}
static public Exp getPool(){
Exp e = null;
synchronized (pool) {
if(Lineage.memory_recycle && pool.size()>0) {
e = pool.get(pool.size()-1);
pool.remove(pool.size()-1);
} else
e = new Exp();
}
return e;
}
static public void setPool(Exp e){
e.close();
if(!Lineage.memory_recycle)
return;
synchronized (pool) {
if(!pool.contains(e))
pool.add(e);
}
}
static public int getSize(){
return list.size();
}
static public int getPoolSize(){
return pool.size();
}
/**
* 현재의 레벨로부터, 경험치의 페널티 레이트를 요구한다
*
* @param level
* 현재의 레벨
* @return 요구된 경험치의 페널티 레이트
*/
public static double getPenaltyRate(int level) {
if (level < 49) {
return 1.0;
}
double expPenalty = 1.0;
expPenalty = 1.0 / _expPenalty[level - 49];
return expPenalty;
}

jjodax님의 댓글
/**
* 현재의 레벨로부터, 경험치의 페널티 레이트를 요구한다
*
* @param level
* 현재의 레벨
* @return 요구된 경험치의 페널티 레이트
*/
public static double getPenaltyRate(int level) {
if (level < 49) {
return 1.0;
}
double expPenalty = 1.0;
expPenalty = 1.0 / _expPenalty[level - 49];
return expPenalty;
}
이렇게 레벨 49부터는 페널티가 있는가보네요. _expPenalty 이게 위에 메모장으로 써있는 그 값들이 들어가있는데 전부 1로 되어있으면
값은 항시 1로 될테니 페널티는 없을 것 같네요.
* 현재의 레벨로부터, 경험치의 페널티 레이트를 요구한다
*
* @param level
* 현재의 레벨
* @return 요구된 경험치의 페널티 레이트
*/
public static double getPenaltyRate(int level) {
if (level < 49) {
return 1.0;
}
double expPenalty = 1.0;
expPenalty = 1.0 / _expPenalty[level - 49];
return expPenalty;
}
이렇게 레벨 49부터는 페널티가 있는가보네요. _expPenalty 이게 위에 메모장으로 써있는 그 값들이 들어가있는데 전부 1로 되어있으면
값은 항시 1로 될테니 페널티는 없을 것 같네요.