yongban2 b24545adb50846bfb6ab1cc34685347e
이해도 | 초보자 |
---|---|
게임버전 (JE) | 1.20.1 |
게임버전 (BE) | 관련없음 |
스크립트 버전 | 2.9.3 |
스크립트 애드온 | X |
플레이어가 죽었을때 카르마(플레이어를 죽였을때 1씩 상승)에 따라서 {_finlose}값을 정합니다.
랭크는 이미 있는 배열변수입니다.
스트립트가 정상적으로 로드되고 오류또한 없었습니다.
GEconomy플러그인이 따로 스크립트 명령어는 없는거 같아서
콘솔 명령어로 대체했는데 이 명령만 작동이 안되더라구요..
Send 명령어와 계산된 {_finlose}값은 죽었을 때 정상적으로 알림이 뜹니다.
여기부터는 구문입니다.
on death of player:
if {rank::%victim%} < 3:
set {_finlose} to (350 + 350 * {karma::%victim%}/5)
execute console command "gec remove %victim% %{_finlose}%"
if attacker is player:
set {_finget} to (350 + 350 * {karma::%victim%}/10)
execute console command "gec add %attacker% %{_finlose}%"
send "&6PK로 %{_finget}%원 을 얻었습니다. &c카르마가 1 증가합니다."
add 1 to {karma::%attacker%}
send "&6사망 페널티로 %{_finlose}%원을 잃었습니다. &c카르마가 초기화됩니다."
set {karma::%victim%} to 0
플레이어가 죽어서 명령어가 실행이 안된건지도 궁금하고 오류 찾아주시거나 다른 대안 알려주시면
정말.. 감사합니다!
참고로 스트립트에서 명령어로 Luckperms플러그인의 promote 명령어는 위 코드처럼
execute console command "lp user %player% promote rank" 로 정상적으로 작동했었습니다.
GEconomy 의 명령어는
/gec [add/remove] [<player>] [<amount>]
를 인게임 명령으로 실행했을때에는 정상적으로 작동합니다.
++)부분해결
on death of player:
if {rank::%victim%} < 3:
set {_finlose} to (350 + 350 * {karma::%victim%}/5)
set {_p} to victim
execute console command "/op %{_p}%"
execute victim command "/gec remove %{_p}% %{_finlose}%"
execute console command "/deop %{_p}%"
if attacker is a player:
set {_finget} to (350 + 350 * {karma::%victim%}/10)
execute console command "gec add %attacker% %{_finlose}%"
send "&6PK로 %{_finget}%원 을 얻었습니다. &c카르마가 1 증가합니다." to attacker
add 1 to {karma::%attacker%}
send "&6사망 페널티로 %{_finlose}%원을 잃었습니다. &c카르마가 초기화됩니다." to victim
play sound "entity.wither.spawn" with volume 1 and pitch 1 to victim
set {karma::%victim%} to 0
windy_wind
9 시간 전if attacker is a player:
로 해보시죠
yongban2
7 시간 전if attacker is player: 을 if attacker is a player:로 고쳐도 마찬가지네요..ㅠㅠ
yongban2
7 시간 전아 부분 해결했습니다!
저 플러그인의 커맨드는 콘솔의 권한으로 실행을 못하는거같네요,,
대안으로 저는
on death of player:
if {rank::%victim%} < 3:
set {_finlose} to (350 + 350 * {karma::%victim%}/5)
set {_p} to victim
execute console command "/op %{_p}%"
execute victim command "/gec remove %{_p}% %{_finlose}%"
execute console command "/deop %{_p}%"
if attacker is a player:
set {_finget} to (350 + 350 * {karma::%victim%}/10)
execute console command "gec add %attacker% %{_finlose}%"
send "&6PK로 %{_finget}%원 을 얻었습니다. &c카르마가 1 증가합니다." to attacker
add 1 to {karma::%attacker%}
send "&6사망 페널티로 %{_finlose}%원을 잃었습니다. &c카르마가 초기화됩니다." to victim
play sound "entity.wither.spawn" with volume 1 and pitch 1 to victim
set {karma::%victim%} to 0
으로 op 권한을 빠르게 주고 뺏었습니다..ㅎㅎ
다른 좋은 대안 있으시면 댓글로 더 부탁드릴게요!