레벨업 질문입니다. > 그누4 질문답변

그누4 질문답변

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

레벨업 질문입니다. 정보

레벨업 질문입니다.

본문

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

//레벨 구하기
function level($mb_id) {

global $g4;

//관리자라면 모든것을 생략하고 최고 레벨을 준다.
$is_admin = is_admin($mb_id);
if($is_admin == "super") {

$sql = mysql_query(" select level from $g4[level_table] where mb_id = '$mb_id' ");
$row = mysql_fetch_array($sql);
if(!$row[level]) {

//레벨을 100로 준다.
$level = 100;
mysql_query(" insert into $g4[level_table] set
level = '$level',
mb_id = '$mb_id',
memo = '관리자님은 최고레벨입니다.',
datetime = '$g4[time_ymdhis]'
");
}

//일반 회원이라면
} else {

$sql = mysql_query(" select level, point from $g4[level_table] where mb_id = '$mb_id' ");
$row = mysql_fetch_array($sql);

if(!$row) {

//레벨이 없으면 레벨을 1로 준다.
$level = 1;
mysql_query(" insert into $g4[level_table] set
level = '$level',
mb_id = '$mb_id',
memo = '레벨 1이 되셨습니다.',
datetime = '$g4[time_ymdhis]'
");
//alert(" 레벨 1이 되셨습니다. 경험치를 획득하시면 레벨업이 됩니다.");

}else{

//경험치를 구한다. 경험치는 레벨 * (20 * 레벨) 입니다.
//즉, 1렙의 경험치는 20이 필요하고 2렙의 경험치는 총80, 즉 60이 필요합니다.
$exp = $row[level] * (20 * $row[level]);

//내가 가진 점수가 필요한 경험치보다 많거나 같으면 레벨업을 한다.
if($row[point] >= $exp) {

//레벨을 100으로 한정한다.
if($row[level] < 100) {
//레벨업
$level =$row[level] + 1;
mysql_query( "update $g4[level_table] set level = $row[level] + 1, memo = '레벨 $row[level]  에서 $level 로 레벨업 하셨습니다.', datetime = '$g4[time_ymdhis]'  where mb_id = '$mb_id' ");
//alert(" 축하합니다. $level 이 되셨습니다. 앞으로도 많은 활동 부탁드립니다." );
}
}
}


}

}

//레벨 표시하기
function level_exp($mb_id, $option=1) {

global $g4, $template;

$sql = mysql_query(" select level, point from $g4[level_table] where mb_id = '$mb_id' ");
$row = mysql_fetch_array($sql);

$point = $row[point];
//경험치를 구한다.
$p_exp = $row[level] * (20 * $row[level]);
$exp =  $p_exp - $point;
//관리자 경험치는 0으로
$is_admin = is_admin($mb_id);
if($is_admin == "super") $exp = 0;

//경험치량 정수로 계산
        @$percent = intval(($point/$p_exp)*100);

$is_admin = is_admin($mb_id);
//관리자는 경험치를 0으로
if($is_admin == "super") { $point = 0; $p_exp = 0; } else {}

if($option == 1){
echo "<div style='width:100%;padding-top:5px;padding-bottom:3px;font-size:9px;font-family:dotum;'><span style='color:#333;text-align:left;font-weight:bold;'>LEVEL $row[level]</span><span style=''>&nbsp;&nbsp;$percent%&nbsp;&nbsp;$point/$p_exp</span></div>";
echo "<div style='padding:0px; width:90px; height:3px; background:#ddd; float:left;'><div style='width:$percent%;height:3px;background:#ff3333;float:left;'></div></div>";
//echo "<div style='padding-top:5px;font-size:11px;font-family:dotum;color:#777;'>다음 레벨업에 필요한 점수 : $exp P</div>";
}else if($option == 2){
echo "<div style='width:60px; padding-top:5px; text-align:left;'><span style='font-size:9px; font-family:dotum; color:#555;'>Lv. $row[level]</span><span style='font-size:9px; color:#777;'>&nbsp;/&nbsp;$percent%</span></div>";
echo "<div style='padding:0px; width:60px; height:3px; background:#ddd;'><div style='width:$percent%;height:3px;background:#ee9977;float:left;'></div></div>";
}

}

?>



레벨업 코드인데요. 레벨4이상만 레벨업 적용을 하며
1-3까지는 이 코드 적용을 하고 싶지 않으려면 어느쪽에 함수를 수정하고 넣어줘야하나요.
몇시간쨰 ㅠ.ㅠ삽질하네요 꼭 좀 도와주세요!
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로