포인트 자동레벨업 정보
포인트 자동레벨업본문
현재 JS빌더 사용중입니다.
아쵸오님의 자동레벨업을 적용하고싶은데
실력이 부족해서요.
도움 부탁드립니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=2009&id_save=1
JS빌더에 Extend 파일에 Exetend.level 건드려야 될거 같은데
파일도 같이 올립니다.
어디를 수정해야 되는지 부탁드립니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
function get_member_level($mb_id,$mb_point) {
global $g4;
$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 5000); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1) $level = 1; // 위 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 59) $level = 59; // 최대 레벨 설정
if($is_admin == 'super') $level = 60; //관리자는 최고 레벨
$no = sprintf("%03d", $level);
return "<img src='http://reapier.cdn1.cafe24.com/l1/{$no}.gif' align=absmiddle hspace=1 title='등급 {$level} / ".number_format($mb_point)."점'>";
}
//포인트 상태바
function exp_bar($mb_id,$mb_point,$option) {
global $g4;
$is_admin = is_admin($mb_id);
$point = $mb_point;
$level = ceil($point / 2500); //반올림을 하여 레벨을 구함.
if($mb_id)if($level <= 1){$level = 1;} // 반올림에서 렙1미만 회원에게 레벨1을 줌, (비회원은 0)
if ($level > 59){$level = 59;} //최대 레벨 설정
if($is_admin == 'super'){$level = 60;} //관리자는 최고 레벨
$no = sprintf("%03d", $level);
$max = $level * 2500;
if(!$level){$max=2500; $a_max=2500; $a_min=0;}else{$a_max = (int)($max / $level);$a_min = (int)($point - (2500 * ($level-1)));} //레벨이 없으면 최대값, 있으면 레벨에 맞는 최대값을 구함
if($is_admin == 'super'){$max=2500; $a_max=2500; $a_min=0;} //관리자는 기본세팅
$bar = (int)($a_min / $a_max * 100);
if($bar > 100) $bar = 0;
$graph = $bar."%"; //등급, 경험치바 표시
if($level == 0){$level = "--";} // 레벨값을 이용해 레벨대신 표시
//if($level == 60){$level = "admin";} // 레벨값을 이용해 레벨대신 표시
if($option == 1){
echo "<table border='0' cellspacing='0' cellpadding='0'><tr><td><table width='62' border='0' cellspacing='0' cellpadding='0' background='$g4[path]/img/exp_bar.gif'><tr height='1'><td colspan='3'></td></tr><tr height='5'><td width='1'></td><td width='60'><img src='$g4[path]/img/exp_in.gif' width='$graph' height='5'></td><td width='1'></td></tr><tr height='1'><td colspan='3'></td></tr></table></td><td> <span style='color:#479b11; font-size:10px; font-family:돋음; vertical-align:1px;'><span style='font-size:11px;font-weight:bold;'>$level</span>-$graph</span><td></tr></table>";
}
}
function level_icon($mb_level) {
global $g4;
if($mb_level == 10)echo "<img src='$g4[path]/img/level_img/level10.gif'> ";
if($mb_level == 9)echo "<img src='$g4[path]/img/level_img/level9.gif'> ";
if($mb_level == 8)echo "<img src='$g4[path]/img/level_img/level8.gif'> ";
if($mb_level == 7)echo "<img src='$g4[path]/img/level_img/level7.gif'> ";
if($mb_level == 6)echo "<img src='$g4[path]/img/level_img/level6.gif'> ";
if($mb_level == 5)echo "<img src='$g4[path]/img/level_img/level5.gif'> ";
if($mb_level == 4)echo "<img src='$g4[path]/img/level_img/level4.gif'> ";
if($mb_level == 3)echo "<img src='$g4[path]/img/level_img/level3.gif'> ";
if($mb_level == 2)echo "<img src='$g4[path]/img/level_img/level0.gif'> ";
//if($mb_level == 1)echo "<img src='$g4[path]/img/level_img/level5.gif'> ";
//if($mb_level == 0)echo "<img src='$g4[path]/img/level_img/level0.gif'> ";
}
//포인트기준 자동레벨업
function levelup_auto($mb_id,$mb_level,$mb_point) {
global $config;
global $g4;
if ($config[cf_use_point] && $mb_id && $mb_level < 9 && $mb_point) {
if($mb_point <= 4999)
{$new_level = 2;}
else if($mb_point <= 9999)
{$new_level = 3;}
else if($mb_point <= 99999)
{$new_level = 4;}
else if($mb_point <= 399999)
{$new_level = 5;}
else if($mb_point <= 999999)
{$new_level = 6;}
else if($mb_point <= 2999999)
{$new_level = 7;}
else if($mb_point >= 5000000)
{$new_level = 8;}
if ($new_level && $mb_level != $new_level) {
/*if($mb_level > $new_level){
if($mb_level == 3){
$w_point = 2999;
}else if($mb_level == 4){
$w_point = 14999;
}else if($mb_level == 5){
$w_point = 29999;
}else if($mb_level == 6){
$w_point = 49999;
}else if($mb_level == 7){
$w_point = 100001;
}else{
$w_point=0;
}
echo "<script>alert('이 메시지는 포인트를 소진하여 레벨에 맞는 포인트보다 적을 경우 나타납니다.\\n\\n나의레벨 $mb_level 나의포인트 $mb_point 필요포인트 $w_point');</script>";
}else{*/
// 레벨변경
mysql_query(" update $g4[member_table] set mb_level='$new_level' where mb_id='$mb_id' ");
// 포인트변경 (필요없으면 주석처리 하세요)
if ($mb_level > $new_level) {
$dw_ment = "레벨다운으로 인한 위로금 100포인트를 지급합니다.";
insert_point($mb_id, 100, "레벨다운으로 인한 포인트 위로금", '', '', '');
}
if ($mb_level < $new_level) {
$dw_ment = "레벨업을 위한 축하포인트 100포인트를 지급합니다.";
insert_point($mb_id, 100, "레벨업으로 인한 포인트 축하금", '', '', '');
}
// 쪽지발송 (필요없으면 주석처리 하세요)
$content ="포인트 {$mb_point}점으로 레벨이 {$mb_level}에서 {$new_level}로 변경되었습니다. $dw_ment";
$tmp_row = mysql_fetch_array(mysql_query("select max(me_id) as max_me_id from $g4[memo_table]"));
$me_ids = $tmp_row[max_me_id] + 1;
mysql_query("insert into $g4[memo_table] (me_id,me_recv_mb_id,me_send_mb_id,me_send_datetime,me_read_datetime,me_memo) values ('$me_ids','$mb_id','$config[cf_admin]','$g4[time_ymdhis]','','$content')");
mysql_query("update $g4[member_table] set mb_memo_call='$config[cf_admin]' where mb_id='$mb_id'");
//}
}
}
}
?>
답변을 해주시면 포인트 추가로 선물드릴게요.
댓글 전체