댓글 등록시 랜덤 포인트 주기 정보
댓글 등록시 랜덤 포인트 주기
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
검색하다가 이걸 알게되었는데요.
보니까 밑에 소스는 무조건인듯 싶어요.
제가 원하는것은 레벨별로 확률을 정해서 포인트를 랜덤하게 주고 싶습니다.
예를 들어 2레벨은 댓글 입력시 0.5% 확률로 1~100중의 포인트를 주는걸로요.
레벨이 높을수록 포인트를 획득할수 있는 확률만 올라가게햇으면 좋겠습니다. 랜덤 포인트는 동일하게요.
마지막으로 랜덤포인트 취득시 메세지창으로 "몇점의 랜덤 포인트를 획득했습니다." 란 메세지도 나오면 더 좋겟네요 ...
$rand = rand(1, 100); // 1부터 100중에서 줄경우
insert_point($mb_id, $rand, "글쓰기 랜덤포인트", '', '', '');
오류 주소 :
검색하다가 이걸 알게되었는데요.
보니까 밑에 소스는 무조건인듯 싶어요.
제가 원하는것은 레벨별로 확률을 정해서 포인트를 랜덤하게 주고 싶습니다.
예를 들어 2레벨은 댓글 입력시 0.5% 확률로 1~100중의 포인트를 주는걸로요.
레벨이 높을수록 포인트를 획득할수 있는 확률만 올라가게햇으면 좋겠습니다. 랜덤 포인트는 동일하게요.
마지막으로 랜덤포인트 취득시 메세지창으로 "몇점의 랜덤 포인트를 획득했습니다." 란 메세지도 나오면 더 좋겟네요 ...
$rand = rand(1, 100); // 1부터 100중에서 줄경우
insert_point($mb_id, $rand, "글쓰기 랜덤포인트", '', '', '');
댓글 전체
$chance=rand(1,100)
if($chance>50)
{$rand = rand(70, 100);}
else
{$rand = rand(1,100);}
확률변수를 만들어서 한번더 돌리면 됩니다.
50%확률로 70~100 포인트 획득, 50%확률로 1~100포인트 획득
물론 저 함수를 앞뒤로 특정레벨일때 라고 if문 둘러주시면 되구요.
<?php
echo "<script>alert(\"창띄우기\");</script>";
?>
[출처] php alert|작성자 LET
포인트획득했다는부분은 위 함수를 참조해서 만드시면 됩니다.
if($chance>50)
{$rand = rand(70, 100);}
else
{$rand = rand(1,100);}
확률변수를 만들어서 한번더 돌리면 됩니다.
50%확률로 70~100 포인트 획득, 50%확률로 1~100포인트 획득
물론 저 함수를 앞뒤로 특정레벨일때 라고 if문 둘러주시면 되구요.
<?php
echo "<script>alert(\"창띄우기\");</script>";
?>
[출처] php alert|작성자 LET
포인트획득했다는부분은 위 함수를 참조해서 만드시면 됩니다.

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점의 랜덤 포인트를 획득하셨습니다.");
}
이렇게 만들면 될까요?;;;;;;;;;;;;;;;
$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점의 랜덤 포인트를 획득하셨습니다.");
}
이렇게 만들면 될까요?;;;;;;;;;;;;;;;
제시하신 방법대로라면 레벨높은유저가 확률이 올라가는게 아니라 단순히 받는 포인트 자체를 올리는 것이라서 기획의도와 약간 다르다고 볼수있습니다.

어디가 잘못된건가요?
f($member[mb_level]==3){
$rand_p=(int)($chance*1.1); //0.01부분을 원하시는 비율로 수정하시면 됩니다. 0.01은 1%, 0.1은 10%와 같습니다.
이부분이 잘못됬죠.
엄밀히 말하면 알고리즘 자체가 잘못되었습니다.
레벨에 3인분은 1~100 포인트 사이에서 1.1 곱해서 1.1~110 사이 포인트를 받고
9레벨은 1.7~170 사이에서 받는거죠.
그래서 잘못된 알고리즘입니다.
$rand_p=(int)($chance*1.1); //0.01부분을 원하시는 비율로 수정하시면 됩니다. 0.01은 1%, 0.1은 10%와 같습니다.
이부분이 잘못됬죠.
엄밀히 말하면 알고리즘 자체가 잘못되었습니다.
레벨에 3인분은 1~100 포인트 사이에서 1.1 곱해서 1.1~110 사이 포인트를 받고
9레벨은 1.7~170 사이에서 받는거죠.
그래서 잘못된 알고리즘입니다.

$chance= rand(1, 100); // 1부터 100중에서 줄경우
if($member[mb_level]==3){
if($chance>1) {$rand = rand(1, 100);}
}else if($member[mb_level]==4){
if($chance>2) {$rand = rand(1, 100);}
}else if($member[mb_level]==5){
if($chance>3) {$rand = rand(1, 100);}
}else if($member[mb_level]==6){
if($chance>4) {$rand = rand(1, 100);}
}else if($member[mb_level]==7){
if($chance>5) {$rand = rand(1, 100);}
}else if($member[mb_level]==8){
if($chance>6) {$rand = rand(1, 100);}
}else if($member[mb_level]==9){
if($chance>7) {$rand = rand(1, 100);}
}
if ($rand) {
insert_point($mb_id, $rand, "코멘트쓰기 랜덤포인트", '', '', '');
alert("$rand점의 랜덤 포인트를 획득하셨습니다.");
}
그럼 이렇게인가요?
if($member[mb_level]==3){
if($chance>1) {$rand = rand(1, 100);}
}else if($member[mb_level]==4){
if($chance>2) {$rand = rand(1, 100);}
}else if($member[mb_level]==5){
if($chance>3) {$rand = rand(1, 100);}
}else if($member[mb_level]==6){
if($chance>4) {$rand = rand(1, 100);}
}else if($member[mb_level]==7){
if($chance>5) {$rand = rand(1, 100);}
}else if($member[mb_level]==8){
if($chance>6) {$rand = rand(1, 100);}
}else if($member[mb_level]==9){
if($chance>7) {$rand = rand(1, 100);}
}
if ($rand) {
insert_point($mb_id, $rand, "코멘트쓰기 랜덤포인트", '', '', '');
alert("$rand점의 랜덤 포인트를 획득하셨습니다.");
}
그럼 이렇게인가요?