틀:DB2/설명문서: 두 판 사이의 차이
imported>Hsl0 (→사용법) |
(BANIP의 219124판 편집을 되돌림) 태그: 편집 취소 |
||
(사용자 4명의 중간 판 56개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
<noinclude>{{틀 설명 소개하기}}</noinclude><includeonly>{{틀 설명 연결하기}}</includeonly> | <noinclude>{{틀 설명 소개하기}}</noinclude><includeonly>{{틀 설명 연결하기}}</includeonly> | ||
<!-- 여기에 틀에 대한 설명문서를 작성하세요. --> | <!-- 여기에 틀에 대한 설명문서를 작성하세요. --> | ||
{{복잡}} | |||
{{소도구|DB2}} | |||
문서 생성 없이 게임 데이터를 자유로운 형식으로 저장합니다. 계정 사용자는 서버에 저장되어 다른 기기로 접속해도 이어서 플레이할 수 있습니다. | |||
[[틀:DB|기존 DB 틀]]과 유사한 방식으로 사용할 수 있지만, 서로 호환되지 않습니다. | |||
== 사용법 == | == 사용법 == | ||
9번째 줄: | 12번째 줄: | ||
<pre>{{DB2|...|(링크/레이블)|키=(문자열)|전역키=(문자열)|안넘기기=(부울)}}</pre> | <pre>{{DB2|...|(링크/레이블)|키=(문자열)|전역키=(문자열)|안넘기기=(부울)}}</pre> | ||
* 링크/레이블(선택): 입력한 링크를 누르면 DB 작업을 진행한 뒤 가리키는 곳으로 이동합니다. 일반 텍스트를 입력하면 | * 링크/레이블(선택): 입력한 링크를 누르면 DB 작업을 진행한 뒤 가리키는 곳으로 이동합니다. 일반 텍스트를 입력하면 입력한 텍스트에 링크가 걸리며, 역시 누르면 DB 작업을 진행합니다. 값을 입력하지 않을 경우 페이지가 로드되면 동작이 실행됩니다. 여기에 내용을 입력했을 때는 '링크 모드', 입력하지 않을 때는 '넘겨주기 모드'라고 부릅니다. | ||
* <code>키</code>(선택): 입력한 키에 데이터를 저장하거나 불러옵니다. 여기에 저장된 데이터는 다른 게임과 공유되지 않습니다. 키와 전역키가 모두 지정된 경우, 키를 우선적으로 적용합니다. | * <code>키</code>(선택): 입력한 키에 데이터를 저장하거나 불러옵니다. 여기에 저장된 데이터는 다른 게임과 공유되지 않습니다. 전역키와는 별개로 저장됩니다. 키와 전역키가 모두 지정된 경우, 키를 우선적으로 적용합니다. | ||
* <code>전역키</code>(선택): 입력한 키에 데이터를 저장하거나 불러옵니다. 여기에 저장된 데이터는 다른 게임과 공유됩니다. 잘 알려진 전역키는 [[틀:DB2/전역키]]에서 확인하고 추가할 수 있습니다. | * <code>전역키</code>(선택): 입력한 키에 데이터를 저장하거나 불러옵니다. 여기에 저장된 데이터는 다른 게임과 공유됩니다. 잘 알려진 전역키는 [[틀:DB2/전역키]]에서 확인하고 추가할 수 있습니다. | ||
* <code>안넘기기</code>(선택, 기본값: <code>false</code>, 별칭: <code>clear</code>): 링크를 만들 때(링크/레이블 부분에 링크가 아닌 일반 텍스트를 입력할 때) 현재 urlget 파라미터를 넘기지 않을지 선택합니다. | * <code>안넘기기</code>(선택, 기본값: <code>false</code>, 별칭: <code>clear</code>): 링크를 만들 때(링크/레이블 부분에 링크가 아닌 일반 텍스트를 입력할 때) 현재 urlget 파라미터를 넘기지 않을지 선택합니다. 안넘기기를 활성화하지 않은 경우 [[틀:CGI2|CGI2]]처럼 작동하고, 안넘기기가 활성화되면 기존 [[틀:CGI|CGI]]나 [[틀:linkget|linkget]]처럼 작동합니다. | ||
=== 저장 === | === 저장 === | ||
<pre>{{DB2|저장|...| | <pre>{{DB2|저장|...|생성=(부울)|제목저장=(부울)}}</pre> | ||
* 별칭: <code>save</code> | * 별칭: <code>save</code> | ||
현재 페이지의 모든 urlget 파라미터를 | 현재 페이지의 모든 urlget 파라미터를 JSON 방식으로 저장합니다. | ||
기존 [[틀:DB]]의 동작과 유사합니다. 다만, 기존 DB는 현재 페이지에 있는 파라미터만 바꿔서 기존에 저장되었지만 현재 페이지에 없는 파라미터는 그대로 유지합니다. 하지만 DB2는 모든 데이터를 덮어쓰기 때문에 현재 페이지에 없는 파라미터는 유지하지 않습니다. 따라서 기존에 저장된 데이터와 새로 저장된 데이터가 꼬여서 발생하는 의도치 못한 동작을 예방할 수 있습니다. | |||
* <code> | * <code>생성</code>(선택, 기본값: <code>false</code>, 별칭: <code>create</code>): 새 키를 생성할때만, 지정된 키에 저장된 데이터가 없을 때만 저장합니다. | ||
* <code>제목저장</code>(선택, 기본값: <code>false</code>, 별칭: <code>savetitle</code>): 데이터를 저장할 때 제목(title 파라미터)도 포함합니다. | |||
=== 로드 === | === 로드 === | ||
<pre>{{DB2|로드|...| | <pre>{{DB2|로드|...|보충=(부울)|보호=(부울)}}</pre> | ||
* 별칭: <code>load</code> | * 별칭: <code>load</code> | ||
저장이나 JSON으로 저장한 데이터를 전부 urlget 파라미터로 가져옵니다. 기존 [[틀:DB]]의 동작과 유사합니다. | 저장이나 JSON으로 저장한 데이터를 전부 urlget 파라미터로 가져옵니다. 기존 [[틀:DB]]의 동작과 유사합니다. | ||
* 보호(선택, 기본값: 후술, 별칭: <code>safe</code>): | * <code>보충</code>(선택, 기본값: <code>false</code>, 별칭: <code>fill</code>): 페이지에 없는 urlget 파라미터만 불러옵니다. 이미 존재하는 urlget 파라미터를 덮어쓰지 않습니다. | ||
* <code>보호</code>(선택, 기본값: 후술, 별칭: <code>safe</code>): 페이지에 urlget 파라미터가 있으면 저장된 데이터를 불러오지 않습니다. 링크 모드는 기본적으로 비활성화되고, 넘겨주기 모드에서는 활성화됩니다. | |||
=== 호출 === | === 호출 === | ||
<pre>{{DB2|호출|(파라미터)|...}}</pre> | <pre>{{DB2|호출|(파라미터)|...|기본값=(문자열)}}</pre> | ||
* 별칭: <code>get</code> | * 별칭: <code>get</code> | ||
저장한 데이터를 입력한 urlget 파라미터에 그대로 가져옵니다. 수정과 함께 사용하세요. | 저장한 데이터를 입력한 urlget 파라미터에 그대로 가져옵니다. 수정과 함께 사용하세요. | ||
* <code>기본값</code>(선택, 별칭: <code>else</code>): 지정된 키에 저장된 데이터가 없을 경우, 대신 불러올 파라미터 값을 정합니다. | |||
=== 수정 === | === 수정 === | ||
<pre>{{DB2|수정|(데이터)|...| | <pre>{{DB2|수정|(데이터)|...|생성=(부울)}}</pre> | ||
* | * 별칭: <code>set</code> | ||
입력한 데이터를 그대로 저장합니다. 저장과 함께 사용하세요. | 입력한 데이터를 그대로 저장합니다. 저장과 함께 사용하세요. | ||
* <code> | * <code>생성</code>(선택, 기본값: <code>false</code>, 별칭: <code>create</code>): 새 키를 생성할때만, 지정된 키에 저장된 데이터가 없을 때만 저장합니다. | ||
=== 삭제 === | === 삭제 === | ||
48번째 줄: | 57번째 줄: | ||
<pre>{{DB2|JSON|(JSON 동작)|...|초기화=(부울)}}</pre> | <pre>{{DB2|JSON|(JSON 동작)|...|초기화=(부울)}}</pre> | ||
* 별칭: <code>json</code> | * 별칭: <code>json</code> | ||
JSON 형식으로 데이터를 저장하고 불러옵니다. | [[리버티게임:JSON|JSON]] 형식으로 데이터를 저장하고 불러옵니다. | ||
* JSON 동작: JSON 데이터를 [[틀:CGI2]]와 유사한 문법으로 관리합니다. 자세한 내용은 | 하위 문단에서 말하는 '키'는 DB2 (전역)키에 저장되는 데이터인 JSON 객체의 키를 말하며, 앞서 말한 (전역)키와는 다른 것입니다. | ||
* JSON 동작: JSON 데이터를 [[틀:CGI2]]와 유사한 문법으로 관리합니다. 자세한 내용은 하위 문단을 참고하세요. | |||
* <code>초기화</code>(선택, 기본값: <code>false</code>, 별칭: <code>reset</code>): 저장된 데이터를 초기화하고 새로운 JSON 데이터를 저장합니다. | * <code>초기화</code>(선택, 기본값: <code>false</code>, 별칭: <code>reset</code>): 저장된 데이터를 초기화하고 새로운 JSON 데이터를 저장합니다. | ||
==== 호출 ==== | |||
* 불러올 키와 파라미터가 다를 경우 | |||
:<pre>{{DB2/호출|(파라미터1)=(키1)|(파라미터2)=(키2)|...}}</pre> | |||
* 불러올 키와 파라미터가 같을 경우 | |||
:<pre>{{DB2/호출|(키1)|(키2)|...}}</pre> | |||
* 별칭: <code>get</code> | |||
JSON 데이터의 값을 지정한 urlget 파라미터로 불러옵니다. 키와 파라미터가 '저장' 동작과 반대로 바인딩되므로 주의하세요. | |||
==== 수정 ==== | |||
<pre>{{DB2/수정|(키1)=(값1)|(키2)=(값2)|...}}</pre> | |||
* 별칭: <code>set</code> | |||
지정한 JSON 키에 입력한 값을 그대로 저장합니다. | |||
==== 삭제 ==== | |||
<pre>{{DB2/삭제|(키1)|(키2)|...}}</pre> | |||
* 별칭: <code>제거</code>, <code>del</code> | |||
지정한 JSON 키와 그 값을 삭제합니다. | |||
==== 기본 ==== | |||
<pre>{{DB2/기본|(키1)=(값1)|(키2)=(값2)|...}}</pre> | |||
* 별칭: <code>def</code> | |||
지정한 JSON 키에 값이 없을 경우, 입력한 기본값대로 키를 생성합니다. | |||
==== 저장 ==== | |||
* 저장할 파라미터와 키가 다를 경우 | |||
:<pre>{{DB2/저장|(키1)=(파라미터1)|(키2)=(파라미터2)|...}}</pre> | |||
* 저장할 파라미터와 키가 같을 경우 | |||
:<pre>{{DB2/저장|(파라미터1)|(파라미터2)|...}}</pre> | |||
* 별칭: <code>sav</code> | |||
urlget 파라미터의 값을 지정된 키에 그대로 저장합니다. 키와 파라미터가 '호출' 동작과 반대로 바인딩되므로 주의하세요. | |||
== 비상 임시 저장 == | |||
이런 일이 있으면 안되겠지만, 혹시라도 계정 사용자가 서버에 데이터를 저장하던 도중에 502, 503 등의 에러가 터진다면 저장 실패 안내 메시지의 '로컬에 임시 저장' 버튼을 누르거나, 아니면 주소창 끝에 <code>##emergency-save</code>를 붙여보세요. 로컬에 데이터를 임시로 저장하고 나중에 접속에 성공할 때 서버에 저장을 다시 시도합니다. | |||
== 예시 == | |||
=== RPG 스탯 === | |||
[[틀:DB/예시]]와 같습니다. | |||
{{#if:{{#urlget:레벨}}{{#urlget:경험치}}{{#urlget:금액}}| | |||
{{DB2|json|{{DB2/sav|레벨|경험치|금액}}}} | |||
'''{{USERNAME}}의 정보''' | |||
* 레벨: {{CGI2|변수=레벨}}lv ( {{CGI2|{{CGI2/변수계산|레벨|-|1}}|-|#RPG 스탯}} {{!}} {{CGI2|{{CGI2/변수계산|레벨|+|1}}|+|#RPG 스탯}} ) | |||
* 경험치: {{CGI2|변수=경험치}}exp ( {{CGI2|{{CGI2/변수계산|경험치|-|10}}|-|#RPG 스탯}} {{!}} {{CGI2|{{CGI2/변수계산|경험치|+|10}}|+|#RPG 스탯}} ) | |||
* 소유금액: {{CGI2|변수=금액}}원 ( {{CGI2|{{CGI2/변수계산|금액|-|100}}|-|#RPG 스탯}} {{!}} {{CGI2|{{CGI2/변수계산|금액|+|100}}|+|#RPG 스탯}} ) | |||
* {{DB2|del|초기화|clear=1}} | |||
* {{CGI2|{{CGI2/변수제한}}|나가기|#RPG 스탯}} | |||
|* {{DB2|json|{{DB2/get|레벨|경험치|금액}}|{{CGI2|{{CGI2/일괄수정|레벨=0|경험치=0|금액=0}}|불러오기|#RPG 스탯}}}} | |||
}} | |||
== [[도보시오]] == | == [[도보시오]] == | ||
* [[틀:DB2/전역키]] | |||
* [[틀:DB]] | * [[틀:DB]] | ||
<includeonly> | <includeonly> | ||
<!-- 여기에 분류와 인터위키를 작성하세요. --> | <!-- 여기에 분류와 인터위키를 작성하세요. --> | ||
[[분류:기술 스택]] | [[분류:기술 스택]] | ||
[[분류:링크 틀]] | |||
</includeonly> | </includeonly> |
2024년 10월 8일 (화) 01:41 기준 최신판
해당 틀에 쓰이는 특정 문법이나 함수, html 코드를 잘 다루는 분들만 편집하시기 바랍니다. 만약 이 틀을 잘못 건드려서 틀이 제 기능을 하지 못한다면 당장 되돌리기 기능을 이용해 되돌리세요. 면책 조항: 이 틀이 달린 글이라도 사실이 아닐 수 있습니다.
문서 생성 없이 게임 데이터를 자유로운 형식으로 저장합니다. 계정 사용자는 서버에 저장되어 다른 기기로 접속해도 이어서 플레이할 수 있습니다.
기존 DB 틀과 유사한 방식으로 사용할 수 있지만, 서로 호환되지 않습니다.
사용법[원본 편집]
- '부울' 형식에 입력할 수 있는 값은 틀:boolean을 참고하세요.
{{DB2|...|(링크/레이블)|키=(문자열)|전역키=(문자열)|안넘기기=(부울)}}
- 링크/레이블(선택): 입력한 링크를 누르면 DB 작업을 진행한 뒤 가리키는 곳으로 이동합니다. 일반 텍스트를 입력하면 입력한 텍스트에 링크가 걸리며, 역시 누르면 DB 작업을 진행합니다. 값을 입력하지 않을 경우 페이지가 로드되면 동작이 실행됩니다. 여기에 내용을 입력했을 때는 '링크 모드', 입력하지 않을 때는 '넘겨주기 모드'라고 부릅니다.
키
(선택): 입력한 키에 데이터를 저장하거나 불러옵니다. 여기에 저장된 데이터는 다른 게임과 공유되지 않습니다. 전역키와는 별개로 저장됩니다. 키와 전역키가 모두 지정된 경우, 키를 우선적으로 적용합니다.전역키
(선택): 입력한 키에 데이터를 저장하거나 불러옵니다. 여기에 저장된 데이터는 다른 게임과 공유됩니다. 잘 알려진 전역키는 틀:DB2/전역키에서 확인하고 추가할 수 있습니다.안넘기기
(선택, 기본값:false
, 별칭:clear
): 링크를 만들 때(링크/레이블 부분에 링크가 아닌 일반 텍스트를 입력할 때) 현재 urlget 파라미터를 넘기지 않을지 선택합니다. 안넘기기를 활성화하지 않은 경우 CGI2처럼 작동하고, 안넘기기가 활성화되면 기존 CGI나 linkget처럼 작동합니다.
저장[원본 편집]
{{DB2|저장|...|생성=(부울)|제목저장=(부울)}}
- 별칭:
save
현재 페이지의 모든 urlget 파라미터를 JSON 방식으로 저장합니다.
기존 틀:DB의 동작과 유사합니다. 다만, 기존 DB는 현재 페이지에 있는 파라미터만 바꿔서 기존에 저장되었지만 현재 페이지에 없는 파라미터는 그대로 유지합니다. 하지만 DB2는 모든 데이터를 덮어쓰기 때문에 현재 페이지에 없는 파라미터는 유지하지 않습니다. 따라서 기존에 저장된 데이터와 새로 저장된 데이터가 꼬여서 발생하는 의도치 못한 동작을 예방할 수 있습니다.
생성
(선택, 기본값:false
, 별칭:create
): 새 키를 생성할때만, 지정된 키에 저장된 데이터가 없을 때만 저장합니다.제목저장
(선택, 기본값:false
, 별칭:savetitle
): 데이터를 저장할 때 제목(title 파라미터)도 포함합니다.
로드[원본 편집]
{{DB2|로드|...|보충=(부울)|보호=(부울)}}
- 별칭:
load
저장이나 JSON으로 저장한 데이터를 전부 urlget 파라미터로 가져옵니다. 기존 틀:DB의 동작과 유사합니다.
보충
(선택, 기본값:false
, 별칭:fill
): 페이지에 없는 urlget 파라미터만 불러옵니다. 이미 존재하는 urlget 파라미터를 덮어쓰지 않습니다.보호
(선택, 기본값: 후술, 별칭:safe
): 페이지에 urlget 파라미터가 있으면 저장된 데이터를 불러오지 않습니다. 링크 모드는 기본적으로 비활성화되고, 넘겨주기 모드에서는 활성화됩니다.
호출[원본 편집]
{{DB2|호출|(파라미터)|...|기본값=(문자열)}}
- 별칭:
get
저장한 데이터를 입력한 urlget 파라미터에 그대로 가져옵니다. 수정과 함께 사용하세요.
기본값
(선택, 별칭:else
): 지정된 키에 저장된 데이터가 없을 경우, 대신 불러올 파라미터 값을 정합니다.
수정[원본 편집]
{{DB2|수정|(데이터)|...|생성=(부울)}}
- 별칭:
set
입력한 데이터를 그대로 저장합니다. 저장과 함께 사용하세요.
생성
(선택, 기본값:false
, 별칭:create
): 새 키를 생성할때만, 지정된 키에 저장된 데이터가 없을 때만 저장합니다.
삭제[원본 편집]
{{DB2|삭제|...}}
- 별칭:
제거
,del
지정된 키와 키에 저장된 데이터를 삭제합니다.
JSON[원본 편집]
{{DB2|JSON|(JSON 동작)|...|초기화=(부울)}}
- 별칭:
json
JSON 형식으로 데이터를 저장하고 불러옵니다.
하위 문단에서 말하는 '키'는 DB2 (전역)키에 저장되는 데이터인 JSON 객체의 키를 말하며, 앞서 말한 (전역)키와는 다른 것입니다.
- JSON 동작: JSON 데이터를 틀:CGI2와 유사한 문법으로 관리합니다. 자세한 내용은 하위 문단을 참고하세요.
초기화
(선택, 기본값:false
, 별칭:reset
): 저장된 데이터를 초기화하고 새로운 JSON 데이터를 저장합니다.
호출[원본 편집]
- 불러올 키와 파라미터가 다를 경우
{{DB2/호출|(파라미터1)=(키1)|(파라미터2)=(키2)|...}}
- 불러올 키와 파라미터가 같을 경우
{{DB2/호출|(키1)|(키2)|...}}
- 별칭:
get
JSON 데이터의 값을 지정한 urlget 파라미터로 불러옵니다. 키와 파라미터가 '저장' 동작과 반대로 바인딩되므로 주의하세요.
수정[원본 편집]
{{DB2/수정|(키1)=(값1)|(키2)=(값2)|...}}
- 별칭:
set
지정한 JSON 키에 입력한 값을 그대로 저장합니다.
삭제[원본 편집]
{{DB2/삭제|(키1)|(키2)|...}}
- 별칭:
제거
,del
지정한 JSON 키와 그 값을 삭제합니다.
기본[원본 편집]
{{DB2/기본|(키1)=(값1)|(키2)=(값2)|...}}
- 별칭:
def
지정한 JSON 키에 값이 없을 경우, 입력한 기본값대로 키를 생성합니다.
저장[원본 편집]
- 저장할 파라미터와 키가 다를 경우
{{DB2/저장|(키1)=(파라미터1)|(키2)=(파라미터2)|...}}
- 저장할 파라미터와 키가 같을 경우
{{DB2/저장|(파라미터1)|(파라미터2)|...}}
- 별칭:
sav
urlget 파라미터의 값을 지정된 키에 그대로 저장합니다. 키와 파라미터가 '호출' 동작과 반대로 바인딩되므로 주의하세요.
비상 임시 저장[원본 편집]
이런 일이 있으면 안되겠지만, 혹시라도 계정 사용자가 서버에 데이터를 저장하던 도중에 502, 503 등의 에러가 터진다면 저장 실패 안내 메시지의 '로컬에 임시 저장' 버튼을 누르거나, 아니면 주소창 끝에 ##emergency-save
를 붙여보세요. 로컬에 데이터를 임시로 저장하고 나중에 접속에 성공할 때 서버에 저장을 다시 시도합니다.
예시[원본 편집]
RPG 스탯[원본 편집]
틀:DB/예시와 같습니다.
- 불러오기