이것도 좀 알려주세요

메이가 쉬프트를 쓰면 근처에 있는애 이동속도가 20%바뀌는거요 이것도 좀 알려주세요 ㅎㅎ

event는 ongoing-each player, player는 메이로 설정하시고요
조건은 distance between(~)>=(거리) 이런 식으로 짜시고
액션은 set move speed쓰시면 될 것 같습니다.

그런 방식으로 하면 버그가 2개는 나올껍니다. 가장 완성도 있게 하는 방법은 첫번째 룰의 이벤트에선 메이를 선택하고 조건에는 is using ability1만 넣습니다. 액션에선 주위에 있는 대상들의 특정한 플레이어 변수(편의상 A)을 true로 만듭니다. 대상의 특정은 players within radius나 filtered array로 하면 됩니다. 두번째 룰에선 모든 플레이어에 적용되는 이벤트로 하고 조건에는 플레이어 변수 A가 true인지 검사합니다. 액션에선 본인의 플레이어 1변수 A를 false로 만들고 start rule, 옵션을 restart rule로 세번째 룰(서브루틴)을 실행합니다. 세번째 서브루틴의 액션에선 이벤트 플레이어의 속도를 원하는 속도로 설정하고, 스킬의 속도 조정이 지속될 시간동안 기다립니다(액션 wait). 그 후 속도를 100% 혹은 지정된 만큼으로 복구하면 됩니다.

잘 몰라서 그러는데 A=false 다음에 서브루틴 말고 바로 속도 설정하는 액션을 넣으면 안되나요? 서브루틴을 사용하는 이유가 뭔지 궁금해요

저분이 쓰신 글을 3가지 방향 정도로 해석할 수 있습니다.

  1. 메이가 쉬프트를 사용하는 동안 근처에 있는 플레이어의 이동속도가 변경된다.

  2. 메이가 쉬프트를 사용했을 때 근처에 있는 플레이어의 속도를 영구 또는 일시적으로 변경한다 (각기 유지).

  3. 메이가 쉬프트를 사용했을 때 근처에 있는 플레이어의 속도를 영구 또는 일시적으로 변경한다 (재사용 시 갱신).

저는 3번 방법으로 해석해서 댓글을 달았었습니다. 그 경우에 서브루틴이 필요한 이유는 이동 속도 조절 효과가 끝나기 전에 쉬프트를 사용하면 전의 이동 속도 조정 효과가 사라져야 하기 때문입니다.

1번 방법은 이벤트를 메이가 아니라 전체에 적용해서 본인이 아닌 가장 가까운 메이 플레이어와의 거리를 이용하여 만들면 됩니다.

2번 방법은 메이가 쉬프트를 사용하였을 때 이동 속도를 변경할 플레이어들의 변수를 변경하여 각 플레이어들이 룰로 변수를 감지하여 정해진 시간 후 효과를 사라지게 하면 됩니다.