코멘트 등록시 랜덤 포인트주기 > 그누4 질문답변

그누4 질문답변

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

코멘트 등록시 랜덤 포인트주기 정보

코멘트 등록시 랜덤 포인트주기

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :


아래 코드는 회원이 코멘트를 등록할때 몇프로의 확률로 랜덤 포인트를 부여하는 코드입니다.
포인트를 획득할 확률은 회원의 레벨에 따라 다르며
레벨이 높을수록 포인트 획득 확률이 높습니다.

쉽게 말해 3레벨인 회원이 코멘트를 등록하면 0.1%의 확률로 코멘트 등록 추가 포인트를 획득하는데
해당 추가 포인트는 1~100점까지 랜덤으로 주어지게 되는거지요.

위 의도데로 코드가 짜여진건가요?
짜집기한거라 잘 모릅니다.......지적좀 부탁해요......



write_comment_update.skin.php


$chance= rand(1, 100); // 1부터 100중에서 줄경우

if($member[mb_level]==3){
$rand_p=(int)($chance*1.1); //0.01부분을 원하시는 비율로 수정하시면 됩니다. 0.01은 1%, 0.1은 10%와 같습니다.
}else if($member[mb_level]==4){
$rand_p=(int)($chance*1.2);
}else if($member[mb_level]==5){
$rand_p=(int)($chance*1.3);
}else if($member[mb_level]==6){
$rand_p=(int)($chance*1.4);
}else if($member[mb_level]==7){
$rand_p=(int)($chance*1.5);
}else if($member[mb_level]==8){
$rand_p=(int)($chance*1.6);
}else if($member[mb_level]==9){
$rand_p=(int)($chance*1.7);
}

if ($rand_p) {
insert_point($mb_id, $rand_p, "코멘트쓰기 랜덤포인트", '', '', '');
alert("$rand_p점의 랜덤 포인트를 획득하셨습니다.");
}
  • 복사

댓글 전체

아.. 제가 문제이해를 잘못했네요.
질문자분의 의도 : 3레벨은 0.01% 확률로 1~100 포인트 획득... 9레벨은 0.7 확률로 1~100포인트 획둑
제가이해한 의도 : 3레벨은 1% 확률로 1~100 포인트 획득... 9레벨도 1% 확률로 1~100 포인트 획득 이지만 높은 포인트 걸릴 확률이 더높게
이렇게 이해했습니다.
아무쪼록 질문자님의 의도를 다시파악해서 소스를 짠다면 아래와 같습니다.
$PointChance= rand(1, 100); // 포인트찬스 - 1~100 포인트 얻을 확률


if($member[mb_level]==3){    // 만약 레벨이 3이라면
 $LevelChance= rand(1, 100); // (레벨찬스 - 1~100 사이에서 1이 걸릴 확률, 즉 1%)
 if($LevelChance==1)        // 1%의 확률로
  {
    $rand_p=$PointChance;    // 1~100 사이의 포인트를 획득한다.
  }
}

if($member[mb_level]==4){    // 만약 레벨이 4이라면
 $LevelChance= rand(1, 70); // (레벨찬스 - 1~70 사이에서 1이 걸릴 확률, 즉 1.4%)
 if($LevelChance==1)        // 1.4%의 확률로
  {
    $rand_p=$PointChance;    // 1~100 사이의 포인트를 획득한다.
  }
}

.
.
.

if($member[mb_level]==9){    // 만약 레벨이 4이라면
 $LevelChance= rand(1, 10); // (레벨찬스 - 1~10 사이에서 1이 걸릴 확률, 즉 10%)
 if($LevelChance==1)        // 10%의 확률로
  {
    $rand_p=$PointChance;    // 1~100 사이의 포인트를 획득한다.
  }
}
레벨찬스와 포인트찬스를 따로 변수로 줘야됩니다.
포인트찬스는 말그대로 1~100사이 포인트 확률이고
레벨찬스는 레벨에 따른 당첨 확률이기 때문입니다.
© SIRSOFT
현재 페이지 제일 처음으로