자료실

경험치 시스템 모듈

2015.10.01 07:51
7,638
1
자료 유형 모듈
간단한 소개 경험치 시스템을 제공해주는 모듈입니다.
설치 경로 ./modules/experience
코어 지원 범위 XE 1.x
PHP 지원 범위 기타
자료 구분 공개 자료
라이선스 GPL v2
파일명버전날짜용량다운로드 수
experience V0.1.zip 0.1 2015.10.01 33.4KB 522

1.png

 

사이트 활동으로 회원이 경험치를 모을 수 있는 모듈입니다. 경험치는 포인트와 다른 회원점수 입니다. 

 

가입, 로그인, (댓)글 작성, 추천을 했을때에만 포인트와 똑같이 동시에 적립되며,

(댓)글 삭제이외에는 절대 차감되지않는 것이 경험치의 특징입니다.

 

주로 오래활동을 하는 회원의 레벨을 유지해주고 싶을때,

포인트와 독립적인 다른점수가 필요할때 활용할 수 있습니다.

 

활용예) https://xetown.com/notice/16636

 

 

2.png

포인트 모듈과 연동되는 부분이 있기에 포인트 모듈을 켜놔야 합니다.

 

새로설치하는 경우

경험치 모듈을 새로설치한다면 아래와 같은 메세지가 뜰것입니다.

 

3.png

이것은 포인트 정보를 경험치로 복사해주는 도구입니다.

 

경험치 모듈을 새로 설치하면 당연히 경험치 데이터가 하나도 없을 것입니다. 그래서 초기에 기존의 포인트를 경험치로 복사해서 사용할 수 있도록 해주는 도구입니다. 이 도구는 안정을 위해 최초 한번만 사용할 수 있습니다.

 

그리고 포인트를 이동 해주는 도구가 아닌 포인트 정보를 그냥 복사만 해주는 도구입니다. 즉, 포인트 데이터 손실위험은 없습니다.

 

반드시 이 도구를 실행하지않아도 되지만, 하는 것을 추천합니다.

 

부가기능 - 레벨업 알림

레벨업이 될때마다 해당 회원에게 그 사실을 알리므로써 회원이 레벨에 대해 관심을 갖도록 유도하는 기능입니다.

 

이 기능은 알림센터 모듈( https://xe1.xpressengine.com/index.php?mid=download&package_id=21374711 )을 이용하기 때문에 알림센터가 설치되어있어야 해당기능을 사용할 수 있습니다.

 

본 기능은 알림센터 V2.1.5 버전이상에서 정상적으로 작동됩니다.

아니면 아래링크를 참조하여 수정해야 작동할 수 있습니다.

https://github.com/xe-public/xe-module-ncenterlite/commit/de8298c26b047e2f62a7790e975dabf206e62609

 

1.png

 

기술지원

본 모듈에 대한 문의사항은 호수 공원 -> 질문/답변 에 남겨주세요. 그리고 @CONORY 호출을 해야 빠짐없이 볼 수 있습니다.

 

conory Lv. 7

댓글 174

  • 2019.10.31 08:38 #1285588
    감사합니다. ^^
  • 2019.12.22 05:11 #1307978
    감사합니다. 잘 쓰겠습니다.
  • 2020.01.13 23:39 #1320404
    감사합니다 ^^
  • 2020.03.02 06:40 #1351156
    감사합니다.
  • 2020.03.09 06:09 #1357509
    감사합니다!
  • 2020.03.18 14:14 #1364373
    감사합니다 ^^
  • 2020.03.21 11:16 #1365443
    감사합니다 :)
  • 2020.04.18 15:32 #1381604
    조하요~
  • 2020.04.21 11:10 #1383024
    감사합니다!
  • 2020.04.22 07:45 #1383451
    비추천에 경험치 -5하고 싶은데 act를 어떻게 적용하는지 모르겠습니다.
    포인트는 -5 되는데 경험치는 -5가 안되네요.
  • 2020.07.14 09:35 #1430204
    댓글삭제를 제외한 모든act는 차감이 되지 않는다고 위에 써있네요 ㅎㅎ
  • 2020.07.14 16:03 #1430313
    아 그렇쿤요ㅎ
    답변 감사합니다.
  • 2020.07.13 11:00 #1429627
    언능 구매하고싶습니다 ...
  • 2020.07.31 11:57 #1437045
    감사합니다 :) 잘 쓰겠습니다.
  • 2020.08.25 11:37 #1446714
    포인트가 없어서 다운을 받을 수가 없네요. 출석게시판도 먹통이고 ㅜㅜ
    포인트를 모을 수가 없어요.
    천사같은 분이 공유 좀 해주심 안될까요?
  • 2020.09.16 12:13 #1456777
    좋은자료는 항상 감사합니다.(__)
  • 2020.09.20 15:05 #1459161
    포인트 열심히 모아서 받았습니다. 공유해주셔서 감사합니다.
  • 2020.11.25 03:47 #1484862
    참 좋아요~~~
  • 2020.11.28 23:36 #1486151
    감사합니다!
  • 2021.04.01 05:11 #1548797
    감사합니다.
  • 2024.01.19 22:49 #1805088

    * 코어 2.1.12부터 뜨는 php 8.x 대비 notice 에러 디버깅

    (또 발견되는 게 있으면 이 댓글의 대댓글로 추가합시다.)

     

    - experience.model.php 77행 수정

    if(!$from_db && isset($this->experienceList[$member_srl])) return $this->experienceList[$member_srl];

    - experience.model.php 112행 추가

    if(!isset($level_step[$level])) continue;

  • 2024.08.04 00:42 #1833670

    스크린샷 2024-08-04 09.40.50.png.jpg

     

    설치시 발생한 오류는 알려 주신 대로 수정하니 해결 되었는데 실제 모듈 설정을 들어가니 이런 오류가 뜨네요

     

    설치 환경은 아래와 같습니다.

    [Basic Information] rhymix_version : 2.1.16 date : 2024-08-04 09:17:09 +0900 (2024-08-04 00:17:09 UTC) php : 8.0.30 (64-bit) server : nginx/1.24.0 os : Linux 6.8.0-1006-oracle sapi : fpm-fcgi

  • 2024.08.04 06:31 #1833687
    혹시 몰라서 쳇 gpt로 코드 수정을 해보니 다음과 같은 코드로 수정해 줬습니다.
    <section class="section">
    <?php
    $experience_group = [];
    try {
    if (isset($config->experience_group)) {
    $experience_group = array_flip($config->experience_group);
    } else {
    throw new Exception("experience_group is not set in the config.");
    }
    } catch (Exception $e) {
    // 예외 처리 로직을 여기에 작성하세요. 예를 들어, 로그를 남기거나 기본 값을 설정할 수 있습니다.
    error_log($e->getMessage());
    // 필요에 따라 기본 값 설정
    // $experience_group = [];
    }
    ?>
    <h1><?= htmlspecialchars($lang->level_experience, ENT_QUOTES, 'UTF-8') ?></h1>
    <div class="x_clearfix">
    <p class="x_pull-left"><?= htmlspecialchars($lang->expression, ENT_QUOTES, 'UTF-8') ?></p>
    <span class="x_pull-right x_input-append">
    <input type="text" value="<?= htmlspecialchars($config->expression, ENT_QUOTES, 'UTF-8') ?>" placeholder="Math.pow(i,2) * 90" size="30" class="level_expression" />
    <button type="button" class="x_btn calc_experience"><?= htmlspecialchars($lang->level_experience_calc, ENT_QUOTES, 'UTF-8') ?></button>
    <button type="button" class="x_btn calc_experience _reset"><?= htmlspecialchars($lang->cmd_exp_reset, ENT_QUOTES, 'UTF-8') ?></button>
    </span>
    </div>
    </section>
    일단 위 오류는 없어졌는데 잘 적용 된건지는 아직 모르겠네요. 혹시 코드가 문제가 없을까요?
  • 2024.08.04 06:45 #1833690

    오류 메세지도 없어지고 포인트 모듈 켜니 정상작동하는 것 같은데 신규로 회원가입시
    서버오류라는 메세지가 뜨네요. 포인트 모듈 끄고 신규 회원가입해보니 정상작동하는걸로 봐서 코드에 문제가 있는것 같습니다. 

     

    단순히 new BaseObject 에러 문제였습니다. ai가 짜준 코드로도 일단 정상 작동은 하는것 같습니다.