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