개인 자료란 (JE)

  서버 커뮤니티

Profile 와아랄라 대표칭호 없음
Profile

질문하기 스크립트

맞은 대상을 감지할 수 있나요?

2023.07.30 조회 수 334 추천 수 0
이해도 입문자 
게임버전 (JE) 1.20.1 
게임버전 (BE) 관련없음 
스크립트 버전 Skript-2.6.4 

각각의 몬스터한테 맞을때마다 다른 이벤트를 주고 싶은데 맞은 대상을 감지하는 구문이 있을까요?




16개의 댓글

환타비
2023.07.30

on damge 이벤트를 사용하시면 됩니다!

 

on damage: #데미지를 받았을때

@if victim is player: #피해를 받을게 플레이어고

@@if attacker is zombie: #때린엔티티가 좀비라면

@@@~~~ #밑으로 구문 작성

 

이런식으로 쭉 작성하시면 됩니다

와아랄라
2023.07.30
@환타비

victim, attacker 라는 구문이 있었군요 감사합니다!

@환타비

혹시 그 구문은 어떻게 쓰는 건 지 알 수 있을까요?

그냥 단순히 message "test" 로 했더니

이런 에러 메세지가 뜨네요


환타비
2023.07.31
@와아랄라

저 오류는 메세지를 누구한테 보내야하는지 스크립트가 인식을 못해서 나타나는 오류 입니다

 

만약 피해를 받은 사람한테 메세지 송출을 할려면

message "test" to victim #이런식으로 작성 하시면 됩니다

 

때린사람을 인식할려면 반대로 작성하시면 됩니당!

와아랄라
2023.07.31
@환타비

아 그렇군요 감사합니당

와아랄라
2023.07.31
@환타비

방금도 테스트해봤는데 혹시 원거리 공격을 하는 스켈레톤 같은 몬스터는 공격을 받아도 인식을 못하던데

근접으로 직접 공격을 빋이야만 인식이 되는 건가요?


if victim is player:

        if attacker is skeleton: #스켈레톤한테 맞았을 때

            message "스켈레톤한테 맞음!" to victim

구문은 이렇게 적었어요



환타비
2023.07.31
@와아랄라

아니요! 저 구문을 가지고 다시 제 서버에서 테스트 결과 2번 째 줄 구문에 있는 스켈레톤에 맞았을때 구문에다가 약간 수정을 해주시면 저같은경우 잘 작동 됩니다! if attacker is a skeleton: 이런식으로 한번 테스트 해보세요!

@환타비

#~ 부분을 빼고 적어도 같은 에러메세지가 뜨네요 왜 그럴까요..?


참고로 좀비는 뒤에 격자가 있어도 문제없이 잘 작동했습니다,,,, 무슨일일깡요..

환타비
2023.07.31
@와아랄라

is 뒤에 a 붙여보세요 if attacker is a skeleton: 이런식으로

@환타비

지금 스켈레톤 구문만 따로 다시 리로드 하니까

이런 에러 메세지가 뜨네요

환타비
2023.07.31
@와아랄라

제가 위에 쓴 걸로 한번 변경 해보세요!

와아랄라
2023.07.31
@환타비

엇 is "a"로 하신걸 복사하니까 되네요 감사합니다! 근데 무슨 차이일까요..?

환타비
2023.07.31
@와아랄라

제가 맨 처음 썼을때 잘못 작성해서 그렇슴다...ㅎㅎ

https://skripthub.net/docs/?id=1144

 

스크립트 자체 구문을 한번 보면 원래 is a 가 써있슴다!

와아랄라
2023.07.31
@환타비

그렇긴 한데 zombie같은 경우에는 a가 없어도 잘 작동 돼서 무슨 기준으로 적어야할 지 잘 모르겠네용..

환타비
2023.07.31
@와아랄라

저도 정확하게 알고 있는게 아니라서 a를 넣어보기도 하고 안되면 빼고 그런식으로 독학을 한거라,,,ㅋㅋ

와아랄라
2023.07.31
@환타비

그렇군용 감사합니당