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
21 일 전if attacker is a player:
로 해보시죠
yongban2
21 일 전if attacker is player: 을 if attacker is a player:로 고쳐도 마찬가지네요..ㅠㅠ
yongban2
21 일 전아 부분 해결했습니다!
저 플러그인의 커맨드는 콘솔의 권한으로 실행을 못하는거같네요,,
대안으로 저는
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 권한을 빠르게 주고 뺏었습니다..ㅎㅎ
다른 좋은 대안 있으시면 댓글로 더 부탁드릴게요!
qsef1256
20 일 전이거 OP 권한 주고 명령어 실행 되기 전에 서버 터지면 OP 권한 그대로 남습니다
qsef1256
20 일 전GEconomy 플러그인 자체가 돈 플러그인 인데 Vault 지원이 없고 데이터를 파일로 저장하는 등 문제가 많은 플러그인이니 Spigot 사이트 등지에서 다른 돈 플러그인 구해서 쓰시는 걸 추천합니다
yongban2
14 일 전아 ㅜㅜ 그렇군요,,
사실 그렇게 큰 규모도 아니고 지인들이 모여서 할 거라서 op에 대한 큰 걱정은 안했는데 서버가 터지는걸 생각을 못했네요..
조언 정말 감사합니다! 다른 플러그인 더 탐색해보겠습니다..!!