레벨업 질문입니다. 정보
레벨업 질문입니다.본문
<?
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=''> $percent% $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;'> / $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까지는 이 코드 적용을 하고 싶지 않으려면 어느쪽에 함수를 수정하고 넣어줘야하나요.
몇시간쨰 ㅠ.ㅠ삽질하네요 꼭 좀 도와주세요!
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=''> $percent% $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;'> / $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까지는 이 코드 적용을 하고 싶지 않으려면 어느쪽에 함수를 수정하고 넣어줘야하나요.
몇시간쨰 ㅠ.ㅠ삽질하네요 꼭 좀 도와주세요!
댓글 전체