테스트 사이트 - 개발 중인 베타 버전입니다

특정레벨부터는 포인트 상관없이 특정권환 부여하고 싶어요 채택완료

오이군 11년 전 조회 4,748
 
위에 소스를 보고 적용했는데
 
되기는 잘 됩니다
 
 
제가 30레벨까지 만들었습니다
 
 
1~19까지는 자동 포인트레벨
 
그 다음 레벨부터는 포인트 상관없이 특정권한을 주려고하는데
 
관리자에서 권한 27로 만들면 자동으로 포인트 때문에 자동으로 떨어지네요
 
고수님들 부탁드립니다
// 최고레벨 설정 (주의 : admin 레벨은 절대 포함하지마세요!) $max_level = 19;
// 레벨당 획득 경험치가 일정한 경우 true 아닌경우 false $lv_point = false;
// 1레벨당 최고 포인트 증가량 일정치 $lvup_point = 200;
// 포인트 증가값이 일정치 않을 경우 하단과 같이 따로 설정 // $max_level 에 설정한 갯수 만큼 설정 $point_level[1] = 49; $point_level[2] = 200; $point_level[3] = 300; $point_level[4] = 400; $point_level[5] = 500; $point_level[6] = 600; $point_level[7] = 700; $point_level[8] = 800; $point_level[9] = 900; $point_level[10] = 1000; $point_level[11] = 1150; $point_level[12] = 1300; $point_level[13] = 1450; $point_level[14] = 1600; $point_level[15] = 1800; $point_level[16] = 2000; $point_level[17] = 2300; $point_level[18] = 2600; $point_level[19] = 3000;
// 경험치량 표시할 소수점 자리수 설정 $decimal = 2;
// 경험치바 색상 설정 $expbar_border = "#2f4f4f"; // 테두리색 $expbar_bg  = "#ccddee"; // 배경색 $expbar_light = "#75a6fe"; // 경험치바 밝은색 $expbar_dark = "#5384dc"; // 경험치바 어두운색
################################################################################################## #                                   편리한 사용을 위한 설정 모음 끝                              # ################################################################################################## ?>
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 를 체크하여 자동 레벨업 시킴    if (($point_level[$member[mb_level]] < $member[mb_point] ||    $point_level[$member[mb_level]-1] > $member[mb_point]) &&    $member[mb_level]!=$max_level){   $now_level = $member[mb_level]; // 현재 포인트에 해당하는 레벨을 저장할 변수 현재 레벨로 초기화
  for($i=0;$i < $max_level;$i++){ // 현재 포인트에 해당하는 레벨 구하기    if ($member[mb_point] < $point_level[$i+1]){     $now_level = $i+1;     break;    }   }
  if ($member[mb_point] > $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 "";   } else { // 레벨이 떨어졌을때    echo "";   }  }
 // 레벨이 존재하지 않을 경우 오류 출력  //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_point] - $point_level[$member[mb_level]-1]; // 획득 point  } else { // 1레벨일 경우 처리   $max_exp = $point_level[1];   $acquire_point = $member[mb_point];  }
 if ($max_point<$member[mb_point]){ //   $max_exp = $max_point;   $acquire_point = $member[mb_point];  }
 // 현재 경험치 계산 %(퍼센트)로 계산  $exp = number_format($acquire_point / $max_exp * 100,$decimal);
 // 경험치바 크기 조정 (100%가 넘을시에는 %는 그대로 출력 게이지바는 100%로 고정  if($exp>100) $exp_bar = 100;  else $exp_bar = $exp; } ?>
 
 
댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
SLOOP
11년 전
if (!$is_admin || $member[mb_level]<20 ){ // 최고관리자와 level 20부터는 체크 하지 않음
ㅈㅅ 이렇게 했어야 하는데
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

SLOOP
11년 전
if (!$is_admin){ // 최고관리자는 체크하지 않음
부분을
if (!$is_admin || $member[mb_level]>=20 ){ // 최고관리자와 level 20부터는 체크 하지 않음
으로 변경하시면 해결되지 않을까요?
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

오이군
11년 전
그렇게 해봤는데도... 포인에 산섭을 받더라구요...ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인