aod11
대표칭호 없음
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
스크립트를 만들고 있는데 너무 답이 없어서 조언을 좀 부탁드립니다
스크립트의 내용은 배고픔이 떨어지면 아이템을 주지않는 목축업 스크립트를 만들고 있습니다
1. every 1 seconds를 너무 많이 쓰는 거 같아 대체할 방법이 있는지 궁금합니다!.
2.사실상 단순 코드 반복인데 혹시 줄일 수 있는 방법이 있는지 궁금합니다.!!
조언 정말정말 부탁드립니다 ㅠㅠㅠ
환타비
19 일 전음 저도 잘하는 편은 아니라서 이렇다! 라고 말할수는 없지만
1번 같은경우 every 1 seconds 보다 while을 쓰는게 좋은걸로 알고 있습니다
구문 반복같은 경우 같은 변수면 배열변수 사용으로 줄일수 있지 않을까 생각을 해봅니다!
qsef1256
19 일 전command /목축.소환1:
command /목축.소환2:
반복의 경우 중첩 배열변수({목축.쿨타임::%player%::1}
) 의 사용으로 개선할 수 있습니다. GUI 역시 이 방법으로 1개 버튼으로 만들 수도 있을껍니다./기본목축
명령어의 경우 무한 실행이 가능해 악용의 여지가 큽니다.name of tool contains "&b간단한 장갑":
같은 구현은 nbt 등으로 대체될 수 있습니다.set name of last spawned entity
의 경우 처음부터 이름 값과 함께 소환하는 것이 더 안전합니다. SkBee 등을 참고하세요.while
도 every second를 대체하는 용도로는 일반적으로 필요가 없습니다. 그냥 그런 반복 자체가 불필요 합니다.aod11
16 일 전늦게 답장 드려 정말 죄송합니다!, 좋은 지적 감사드립니다. 혹시 쿨타임 관련 부분을 좀 더 알려 주실 수 있나요? ㅠㅠ 찾아봐도 많은 분들이 every 1 seconds만 사용하고 있는거 같아, 모르겠어서 질문 드립니다!
qsef1256
15 일 전1. 마지막으로 사용한 시각을 기록합니다.
2. 다음 사용 시 위 시각을 가져와서 현재와 얼마나 지났나 비교합니다. (https://skripthub.net/docs/?id=917 구문으로 가능합니다.)
3. 쿨타임으로 지정한 시간보다 위 값이 더 크면 사용 가능한 것입니다. (예: 쿨타임을 20분으로 설정 해놨고 마지막 사용 시각과 현재 시각 차이가 20분을 넘는다면 쿨타임이 지난 것)
qsef1256
15 일 전이 방법이 존재하는데 아직도 한국에서는 많은 분들이 1초마다 서버에 데이터를 기록해가며 필요 없는 부하를 생성하고 있습니다. 게다가 이 방법은 판단해야 하는 쿨타임 값이 많아질 수록 서버에 더 많은 부하를 가합니다. 왠만하면 학습을 위해서는 한국 스크립트 말고 외국 스크립트를 찾아보세요. 왠만한 거 뜯어보면 진짜로... 진짜로 지적할 부분이 많습니다.