코멘트 등록시 랜덤 포인트주기 정보
코멘트 등록시 랜덤 포인트주기
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
아래 코드는 회원이 코멘트를 등록할때 몇프로의 확률로 랜덤 포인트를 부여하는 코드입니다.
포인트를 획득할 확률은 회원의 레벨에 따라 다르며
레벨이 높을수록 포인트 획득 확률이 높습니다.
쉽게 말해 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.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 포인트 획득 이지만 높은 포인트 걸릴 확률이 더높게
이렇게 이해했습니다.
질문자분의 의도 : 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 사이의 포인트를 획득한다.
}
}
$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사이 포인트 확률이고
레벨찬스는 레벨에 따른 당첨 확률이기 때문입니다.
포인트찬스는 말그대로 1~100사이 포인트 확률이고
레벨찬스는 레벨에 따른 당첨 확률이기 때문입니다.
끝까지 잘 지도해주셔서 감사합니다......^^