아웃로그인 경험치바 질문드립니당~ 정보
아웃로그인 경험치바 질문드립니당~본문
<? // 자동레벨업/다운 및 경험치바 적용
$point_level = array(); // 레벨별 포인트값을 저장할 배열변수 선언
##################################################################################################
# 편리한 사용을 위한 설정 모음 #
##################################################################################################
// 최고레벨 설정 (주의 : admin 레벨은 절대 포함하지마세요!)
$max_level = 21;
// 레벨당 획득 경험치가 일정한 경우 true 아닌경우 false
$lv_point = false;
// 1레벨당 최고 포인트 증가량 일정치
$lvup_point = 200;
// 포인트 증가값이 일정치 않을 경우 하단과 같이 따로 설정
// $max_level 에 설정한 갯수 만큼 설정
$point_level[2] = 5000;
$point_level[3] = 100000;
$point_level[4] = 200000;
$point_level[5] = 400000;
$point_level[6] = 600000;
$point_level[7] = 1000000;
$point_level[8] = 1500000;
$point_level[9] = 2000000;
$point_level[10] = 3000000;
$point_level[11] = 5000000;
$point_level[12] = 10000000;
$point_level[13] = 20000000;
$point_level[14] = 30000000;
$point_level[15] = 50000000;
$point_level[16] = 100000000;
$point_level[17] = 200000000;
$point_level[18] = 300000000;
$point_level[19] = 400000000;
$point_level[20] = 500000000;
$point_level[21] = 600000000;
// 경험치량 표시할 소수점 자리수 설정
$decimal = 0;
/*********************************************************/
// 경험치바 색상 설정
$expbar_border = "#737373"; // 테두리색
$expbar_bg = "#edeeef"; // 배경색
$expbar_light = "#bec5ca"; // 경험치바 밝은색
$expbar_dark = "#a5abb0"; // 경험치바 어두운색
/*********************************************************/
##################################################################################################
# 편리한 사용을 위한 설정 모음 끝 #
##################################################################################################
?>
<!-- 레벨업 메세지 -->
<script language="JavaScript">
function level_up(level){
// 레벨 업시 메세지
alert("Lv."+level+"(으)로 레벨업! 축하합니다.");
window.location.reload();
}
function level_down(level){
// 레벨 다운시 메세지
alert("Lv."+level+"(으)로 레벨다운;;");
window.location.reload();
}
</script>
<?
if (!$is_admin){ // 최고관리자는 체크하지 않음
$exp = 0; // 경험치를 저장할 변수 초기화
// 레벨별 최고 경험치 설정
if ($lv_point){
for ($i = 0;$i < $max_level;$i++){
$point_level[$i+1] = $point_level[$i] + $lvup_point; // 1레벨당 lvup_point만큼 point씩 증가
}
}
// 최대 포인트 설정 (최대 포인트 이상 포인트가 넘어갈시 경험치바 오류방지)
$max_point = $point_level[$max_level];
// 현재 point 를 체크하여 자동 레벨업 시킴
/*
자신의 현재레벨 max point와 비교하여 현재 point가 현재레벨 max point 보다 높거나
이전레벨 max point와 비교하여 현재 point가 이전레벨 max point 보다 낮고
최고 레벨이 아닌경우에만 레벨업(다운) 적용
*/
if (($point_level[$member[mb_level]] < $member[mb_9] ||
$point_level[$member[mb_level]-1] > $member[mb_9]) &&
$member[mb_level]!=$max_level){
$now_level = $member[mb_level]; // 현재 포인트에 해당하는 레벨을 저장할 변수 현재 레벨로 초기화
for($i=0;$i < $max_level;$i++){ // 현재 포인트에 해당하는 레벨 구하기
if ($member[mb_9] < $point_level[$i+1]){
$now_level = $i+1;
break;
}
}
if ($member[mb_9] > $point_level[$max_level]){ // 현재 포인트가 max level point 보다 높다면 최고레벨로 지정
$now_level = $max_level;
}
// 회원레벨 업데이트
$sql = " update $g4[member_table] set mb_level = '$now_level' where mb_id = '$member[mb_id]' ";
sql_query($sql);
if ($member[mb_level] < $now_level){ //레벨이 올랐을때
echo "<script language='JavaScript'>level_up(".$now_level.");</script>";
} else { // 레벨이 떨어졌을때
echo "<script language='JavaScript'>level_down(".$now_level.");</script>";
}
}
// 레벨이 존재하지 않을 경우 오류 출력
//if (!$member[mb_level]) alert("정상적으로 접근하여 주시기 바랍니다.");
// 현재 레벨에 얻어야할 max point / 현재까지 획득한 point 계산
if ($member[mb_level]!= "1"){ // 1레벨일경우 이전 레벨이 없기 때문에 현재 포인트로 계산
$max_exp = $point_level[$member[mb_level]]-$point_level[$member[mb_level]-1]; // max point
$acquire_point = $member[mb_9] - $point_level[$member[mb_level]-1]; // 획득 point
} else { // 1레벨일 경우 처리
$max_exp = $point_level[1];
$acquire_point = $member[mb_9];
}
if ($max_point<$member[mb_9]){ //
$max_exp = $max_point;
$acquire_point = $member[mb_9];
}
// 현재 경험치 계산 %(퍼센트)로 계산
$exp = number_format($acquire_point / $max_exp * 100,$decimal);
// 경험치바 크기 조정 (100%가 넘을시에는 %는 그대로 출력 게이지바는 100%로 고정
if($exp>100) $exp_bar = 100;
else $exp_bar = $exp;
}
?>
아웃로그인 경험치바 표시되는 스킨을 쓰구있는데요.
작동은 잘되는데 궁금한건...
저 경험치바를 로그인창이 아닌 게시판 view 페이지 하단에 넣고싶은데요
출력이되긴하나 글작성자가 아닌 글을 보고있는 사람의 경험치로 나오더라구요.
글작성자의 경험치를 보려면 어디를 수정해야하는지 고수님들 좀 도와주시면 감사하겠습니당
ㅜㅜ
$point_level = array(); // 레벨별 포인트값을 저장할 배열변수 선언
##################################################################################################
# 편리한 사용을 위한 설정 모음 #
##################################################################################################
// 최고레벨 설정 (주의 : admin 레벨은 절대 포함하지마세요!)
$max_level = 21;
// 레벨당 획득 경험치가 일정한 경우 true 아닌경우 false
$lv_point = false;
// 1레벨당 최고 포인트 증가량 일정치
$lvup_point = 200;
// 포인트 증가값이 일정치 않을 경우 하단과 같이 따로 설정
// $max_level 에 설정한 갯수 만큼 설정
$point_level[2] = 5000;
$point_level[3] = 100000;
$point_level[4] = 200000;
$point_level[5] = 400000;
$point_level[6] = 600000;
$point_level[7] = 1000000;
$point_level[8] = 1500000;
$point_level[9] = 2000000;
$point_level[10] = 3000000;
$point_level[11] = 5000000;
$point_level[12] = 10000000;
$point_level[13] = 20000000;
$point_level[14] = 30000000;
$point_level[15] = 50000000;
$point_level[16] = 100000000;
$point_level[17] = 200000000;
$point_level[18] = 300000000;
$point_level[19] = 400000000;
$point_level[20] = 500000000;
$point_level[21] = 600000000;
// 경험치량 표시할 소수점 자리수 설정
$decimal = 0;
/*********************************************************/
// 경험치바 색상 설정
$expbar_border = "#737373"; // 테두리색
$expbar_bg = "#edeeef"; // 배경색
$expbar_light = "#bec5ca"; // 경험치바 밝은색
$expbar_dark = "#a5abb0"; // 경험치바 어두운색
/*********************************************************/
##################################################################################################
# 편리한 사용을 위한 설정 모음 끝 #
##################################################################################################
?>
<!-- 레벨업 메세지 -->
<script language="JavaScript">
function level_up(level){
// 레벨 업시 메세지
alert("Lv."+level+"(으)로 레벨업! 축하합니다.");
window.location.reload();
}
function level_down(level){
// 레벨 다운시 메세지
alert("Lv."+level+"(으)로 레벨다운;;");
window.location.reload();
}
</script>
<?
if (!$is_admin){ // 최고관리자는 체크하지 않음
$exp = 0; // 경험치를 저장할 변수 초기화
// 레벨별 최고 경험치 설정
if ($lv_point){
for ($i = 0;$i < $max_level;$i++){
$point_level[$i+1] = $point_level[$i] + $lvup_point; // 1레벨당 lvup_point만큼 point씩 증가
}
}
// 최대 포인트 설정 (최대 포인트 이상 포인트가 넘어갈시 경험치바 오류방지)
$max_point = $point_level[$max_level];
// 현재 point 를 체크하여 자동 레벨업 시킴
/*
자신의 현재레벨 max point와 비교하여 현재 point가 현재레벨 max point 보다 높거나
이전레벨 max point와 비교하여 현재 point가 이전레벨 max point 보다 낮고
최고 레벨이 아닌경우에만 레벨업(다운) 적용
*/
if (($point_level[$member[mb_level]] < $member[mb_9] ||
$point_level[$member[mb_level]-1] > $member[mb_9]) &&
$member[mb_level]!=$max_level){
$now_level = $member[mb_level]; // 현재 포인트에 해당하는 레벨을 저장할 변수 현재 레벨로 초기화
for($i=0;$i < $max_level;$i++){ // 현재 포인트에 해당하는 레벨 구하기
if ($member[mb_9] < $point_level[$i+1]){
$now_level = $i+1;
break;
}
}
if ($member[mb_9] > $point_level[$max_level]){ // 현재 포인트가 max level point 보다 높다면 최고레벨로 지정
$now_level = $max_level;
}
// 회원레벨 업데이트
$sql = " update $g4[member_table] set mb_level = '$now_level' where mb_id = '$member[mb_id]' ";
sql_query($sql);
if ($member[mb_level] < $now_level){ //레벨이 올랐을때
echo "<script language='JavaScript'>level_up(".$now_level.");</script>";
} else { // 레벨이 떨어졌을때
echo "<script language='JavaScript'>level_down(".$now_level.");</script>";
}
}
// 레벨이 존재하지 않을 경우 오류 출력
//if (!$member[mb_level]) alert("정상적으로 접근하여 주시기 바랍니다.");
// 현재 레벨에 얻어야할 max point / 현재까지 획득한 point 계산
if ($member[mb_level]!= "1"){ // 1레벨일경우 이전 레벨이 없기 때문에 현재 포인트로 계산
$max_exp = $point_level[$member[mb_level]]-$point_level[$member[mb_level]-1]; // max point
$acquire_point = $member[mb_9] - $point_level[$member[mb_level]-1]; // 획득 point
} else { // 1레벨일 경우 처리
$max_exp = $point_level[1];
$acquire_point = $member[mb_9];
}
if ($max_point<$member[mb_9]){ //
$max_exp = $max_point;
$acquire_point = $member[mb_9];
}
// 현재 경험치 계산 %(퍼센트)로 계산
$exp = number_format($acquire_point / $max_exp * 100,$decimal);
// 경험치바 크기 조정 (100%가 넘을시에는 %는 그대로 출력 게이지바는 100%로 고정
if($exp>100) $exp_bar = 100;
else $exp_bar = $exp;
}
?>
아웃로그인 경험치바 표시되는 스킨을 쓰구있는데요.
작동은 잘되는데 궁금한건...
저 경험치바를 로그인창이 아닌 게시판 view 페이지 하단에 넣고싶은데요
출력이되긴하나 글작성자가 아닌 글을 보고있는 사람의 경험치로 나오더라구요.
글작성자의 경험치를 보려면 어디를 수정해야하는지 고수님들 좀 도와주시면 감사하겠습니당
ㅜㅜ
댓글 전체
view.skin.php 파일에
$member_info = get_member($view[mb_id]);
echo $member_info[mb_level];
echo $member_info[mb_point];
echo $member_info[mb_9];
위에처럼 get_member 활용해서 경험치바 출력시켜주시면 되겠는데요~
$member_info = get_member($view[mb_id]);
echo $member_info[mb_level];
echo $member_info[mb_point];
echo $member_info[mb_9];
위에처럼 get_member 활용해서 경험치바 출력시켜주시면 되겠는데요~
아래코드를 위 소스 상단에 넣으면 됩니다
$member=get_member($view[mb_id]);
$member=get_member($view[mb_id]);