포인트 자동레벨업 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

포인트 자동레벨업 정보

포인트 자동레벨업

본문

현재 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'");
   //}
        }
  }
}

?>

답변을 해주시면 포인트 추가로 선물드릴게요.

댓글 전체

전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT