안녕하세요 카카오토를 정말 잘쓰고 있는 겔바슨이라고 합니다.
일일이 댓글 달아주는것도 좋은데 팁으로 글을 쓰는게 더 여러분들에게 팁이 될거같아서 글을 올립니다.
게임마다 특정시간에 핫타임이 열리는 경우가 있는 게임이 많습니다.
제가 주로 하는게임은 요일마다 시간이 바뀌고, 하루 2-3번의 세팅이 필요한데다.. 24시를 넘기기도 합니다.
....젠장...
이것을 간단하게 작성하는 방법을 알아봅시다.
그룹설정은 위와같이 3세트를 만드시면 됩니다.
그리고 그룹내부의 멤버는 일요일은 0번째 토요일은 6번째가 가게끔 하시면 됩니다.
이거하면 50% 하신겁니다.
그 다음 스크립트를 보시죠, 리텃값 0은 핫타임, 1은 핫타임 아님 입니다.
시작과 끝을 비우거나 둘다 0으로 세팅할 경우 스킵 합니다.
간단하쥬?
비어있는1차면 이라는 서브는 이렇게 되어 있습니다.
잘 보이시나요?
( [핫타임1차시작시간,[now_week]] == 0 or [length,[핫타임1차시작시간,[now_week]]] == 0 ) and ( [핫타임1차끝시간,[now_week]] == 0 or [length,[핫타임1차끝시간,[now_week]]] == 0 )
시간안쪽인지는 아래와 같습니다.
([now_week] * 24 + [핫타임1차시작시간,[now_week]] <= [now_week] * 24 + [now_hour] ) and ([now_week] * 24 + [핫타임1차끝시간,[now_week]] > [now_week] * 24 + [now_hour] )
이게 답니다. 2차 3차는 "핫타임1차" -->> "핫타임2차" , "핫타임3차" 로 바꿔주시면 됩니다.
그냥 쓰기만 하셔도 됩니다만...
설명을 드리면, 일요일을 0으로, 월요일 오전 6시라면 24+6 = 30이라는 숫자를 가지게 합니다.
//예시
현재시간을 일요일 10시라고 했을때
일요일은 0이니깐 일요일 9시 부터 11시까지라고 할때
//시작과 끝시간
이번주 0 X 24 + 9 ==> 9
이번주 0 X 24 + 11 ==> 11
//지금 시간
이번주0 X 24 + 지금시간 = 10시
(9 <= 현재 and 11 > 현재) == 식이 성립하면 현재 핫타임인 겁니다.
설명끝!!
근데 스크립트 요일로 나누고 시간으로 나누면 되는데 왜 이렇게 하느냐!!
면 조금 더 빠릅니다 사알짝.. ㅎㅎ
초보분들도 연산식을 이렇게 쓸 수도 있다는거 조금 봐두시면 나중에 이것저것 하실떄 도움이 많이 됩니다.
첨에 저도 카카오토 쓸때 저런부분 찾아내느라 힘들었거든요 ㅎ
여튼 가끔 저도 팁을 올리도록 노력해보겠습니다.
카카오토 제작자님 감사합니다.
앞으로도 잘 사용하겠습니다~ ㅎㅎ
와우... 고생하셨습니다.
이렇게 응용하기도 쉽지 않으셨을텐데.. 대단하세요