개인 자료란 (JE)

  서버 커뮤니티

Profile 5792 대표칭호 없음

5792 4e070eabdf1544f28d3c5d01f0b77065

Profile

질문하기 스크립트

skript 초보인데 코드가 입력된대로 실행되지 않는 것 같습니다.

2022.09.19 조회 수 55 추천 수 0
이해도 입문자(아무것도 몰라요) 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 
스크립트 버전 잘 모르겠어요 
스크립트 애드온 사용 애드온 skRayFall(여기에 필요한진 모름) 

pvp.sk

이 사이트 스크립트 강좌에서 코드를 참고해서 PVP 매칭 시스템을 만들고 있습니다.

순서는

1. 사용자가 /game.join으로 게임 매칭에 참여하고

2. 두 명이 모이면 5초간의 대기 시간이 지난 후에 대기실로 이동하며 게임 준비 대기 상태가 됩니다.

2-1. 만약 대기 시간 중에 누군가가 나간다면 해당 매칭은 취소됩니다.

3. 게임 준비 대기 상태에서 사용자 두 명이 모두 /game.ready를 하면 본 맵으로 이동하면서  게임이 시작됩니다.

입니다.


그런데 이 중에서 2번에 문제가 생겼습니다.

대기시간이 끝나고 {game::ready}를 true로 설정했습니다. 그리고 게임 매칭 참여 중에 준비하는 것을 막기 위해 {game::ready}가 false일 때는 실행되지 않게 했더니 {game::ready}가 true임에도 아직 준비 대기 상태가 아니라고 나옵니다.

어떻게 해결하면 될까요?

추가로 코드 간결화도 도와주시면 감사드리겠습니다.




4개의 댓글

qsef1256
2022.09.20

컴퓨터는 거짓말을 하지 않습니다. 97번 98번 들여쓰기가 어떻게 되어 있는지 확인하세요.

5792
2022.09.20
@qsef1256

감사합니다. 하루동안 해결하지 못 한 문제를 하셨네요..

qsef1256
2022.09.20

코드 간결화는 이렇게 하시면 될 것 같습니다:


1. 당연한 주석은 모두 제거 (코드에 나와 있는 내용을 다시 설명하는 주석들)

2. 함수 활용 (game.leave와 on quit가 같은 내용을 공유하고 있음, game.move 를 명령어로 호출하는 코드등)

3. game.move 변수 재작명 (적절한 이름이 아닙니다. 단순히 move라는 이름은 헷갈릴 수 있으며 isNotPending 등의 이름이 되어야 합니다)

4. args 활용 (서브 명령어)

5. 컨벤션 미준수 코드 고치기 (Player 대문자)

5792
2022.09.20
@qsef1256

감사합니다!

뉴스 및 창작물
/files/thumbnails/762/770/003/262x150.crop.jpg?20240418073724

레드스톤

T.B.H (고민중독) | 노트블럭 버전 | NoteBlock Cover [한국어 영어 중국어 가사 추가]

노트블럭전문가

2024-04-18

0

/files/thumbnails/218/767/003/262x150.crop.jpg?20240412130213

레드스톤

우리의 꿈 - 원피스 오프닝

노트블럭전문가

2024-04-12

0

/files/thumbnails/505/766/003/262x150.crop.jpg?20240411122306

레드스톤

기동전사 건담 수성의 마녀 | 노트블럭 커버 1

노트블럭전문가

2024-04-11

1

/files/thumbnails/932/765/003/262x150.crop.jpg?20240410124459

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

노트블럭전문가

2024-04-10

0

/files/thumbnails/403/765/003/262x150.crop.jpg?20240409190538

레드스톤

마인크래프트 노트블록으로 만든 『 밤양갱 (Bam Yang Gang) 』

Sonttukk

2024-04-09

4