개인 자료란 (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/268/789/003/262x150.crop.jpg?20240515192032

레드스톤

벌레먹은 돌 빠르게 제거하는 법

GlassesFilm

2024-05-15

0

/files/thumbnails/797/788/003/262x150.crop.jpg?20240515090924

건축

마인크래프트로 구현한 카르카손 보드게임

Warak

2024-05-15

1

/files/thumbnails/487/784/003/262x150.crop.jpg?20240508233607

모드

Windows Borderless 모드에서 악성코드 발견

학교가기싫다

2024-05-08

1

/files/thumbnails/384/778/003/262x150.crop.jpg?20240512002324

업데이트

마인크래프트 자바 에디션 스냅샷 24w18a

학교가기싫다

2024-05-06

0

/files/thumbnails/855/781/003/262x150.crop.jpg?20240505141129

레드스톤

레이저 클리너

GlassesFilm

2024-05-05

1