Minecraft/Server Development

[Minecraft] 1.12.2 랜덤무기 전쟁 구축 [ 9 ]

2022. 8. 24. 16:09

QUOTE THE DAY

Self-Talk
반응형

22개의 남은 무기를 만들기 위해 달려봅시다

소스 코드입니다

 

#프레데터
on right click:
	if "%lore of player's tool%" contains "&e&l[&f&l설명&e&l] &f&l우클릭시 모습을 감춥니다":
		set {_cooldown} to difference between {프레데터.%player%} and now
		if {_cooldown} is less than 1 minute:
			set {_text} to "%difference between 1 minute and {_cooldown}%"
			replace all " seconds" and " second" with "초" in {_text}
			replace all " minute" with "분" in {_text}
			send "{@r} &f&l재사용 까지 &e&l%{_text}% &f&l남았습니다."
			exit
		set {프레데터.%player%} to now
		apply Invisibility 1 to player for 30 seconds #플레이어에게 투명화 1단계를 30초동안 부여합니다
		send "{@r} 프레데터 능력을 사용했습니다"


#바이러스
on right click:
	if "%lore of player's tool%" contains "&e&l[&f&l설명&e&l] &f&l우클릭시 주위에 있는 적에게 데미지를 줍니다":
		set {_cooldown} to difference between {바이러스.%player%} and now
		if {_cooldown} is less than 40 second:
			set {_text} to "%difference between 40 second and {_cooldown}%"
			replace all " seconds" and " second" with "초" in {_text}
			send "{@r} &f&l재사용 까지 &e&l%{_text}% &f&l남았습니다."
			exit
		set {바이러스.%player%} to now
		damage players in radius 20 of player by 1 # 플레이어 범위 20칸이상 있는 플레이어들에게 데미지 1씩 부여합니다

#트랜스 볼
on damage of player:
	if name of attacker's tool is "&e&l[ &f&l트랜스 볼 &e&l]":
		set {_loc} to attacker's location  #현재 공격자에 위치를 임시변수에 담습니다
		teleport attacker to victim #공격자가 피해자 위치로 이동합니다
		teleport victim to {_loc} #피해자는 아까 담은 공격자 위치 변수로 이동합니다
        
        #트랜스볼은 서버내에서 1회성 아이템인 눈덩이로 설정해주었습니다

코드 설명이 생략된 부분은 여태까지 공부한 내용입니다

 

 

따로 스크립트로 구현하지 않아도 nbti 플러그인을 이용해

nbte 인첸트 명령어로 위에 아이템을 구현할 수 있습니다

 

이번에는 좌클릭과 우클릭을 사용하는 랜더무기를 만들어 봤습니다

 

#어디로든 문
on right click:
	if name of player's tool is "&d&l[ &f&l어디로든 문 &d&l]": #플레이어에 도구에 이름이 해당 문자열이라면
		cancel event #우클릭시 설치되는 동작을 캔슬합니다
		set {문위치.%player%} to player's location #현재 플레이어 위치를 저장합니다
		send "{@r} 어디로든 문에 현재 위치를 저장하였습니다 &c(좌클릭시 이 위치로 이동합니다)"

on left click:
	if name of player's tool is "&d&l[ &f&l어디로든 문 &d&l]":
		if {문위치.%player%} is set: #문위치에 변수가 설정되어있다면
			set {_cooldown} to difference between {어디로든문.%player%} and now
			if {_cooldown} is less than 2 minute:
				set {_text} to "%difference between 2 minute and {_cooldown}%"
				replace all " seconds" and " second" with "초" in {_text}
				replace all " minute" with "분 " in {_text}
				replace all " and " with "" in {_text}
				send "{@r} &f&l재사용까지 &e&l%{_text}% &f&l남았습니다."
				exit
			set {어디로든문.%player%} to now
			teleport player to {문위치.%player%} #해당 변수 위치로 이동합니다
			send "{@r} 어디로든 문을 사용하였습니다"
		else:
			send "{@r} 현재 어디로든 문에 위치가 설정되어있지 않습니다 &c(우클릭으로 위치를 등록시켜 주세요!)" #만약 문위치 변수가 설정되어 있지 않다면 해당 문구를 보여줍니다

on quit:
	if {문위치.%player%} is set: #문위치 변수가 설정되어 있다면
		delete {문위치.%player%} #그 변수를 제거합니다
        
      #안쓰는 변수를 제거하기 위해 추가했습니다

 

이런식으로 아이템을 서버내에서 만들어주시면 됩니다

 

다음 무기입니다

 

#마이크
on right click:
	if player is in world "random": #플레이어가 random맵 안에 있다면
		if "%lore of player's tool%" contains "&e&l[&f&l설명&e&l] &f&l우클릭시 모든 플레이어들에게 데미지를 줍니다":
			set {_cooldown} to difference between {마이크.%player%} and now
			if {_cooldown} is less than 2 minute:
				set {_text} to "%difference between 2 minute and {_cooldown}%"
				replace all " seconds" and " second" with "초" in {_text}
				replace all " minute" with "분 " in {_text}
				replace all " and " with "" in {_text}
				send "{@r} &f&l재사용까지 &e&l%{_text}% &f&l남았습니다."
				exit
			set {마이크.%player%} to now
			loop all players in world "random": #random맵 안에 있는 모든 플레이어들을 반복시킵니다
				damage loop-player by 2 heart #모든 플레이어에게 2데미지를 줍니다
				heal player by 2 hearts #자신은 다시 피를 2칸 회복합니다
				send "{@r} 어디선가 요상한 노랫소리가 들려옵니다" to loop-player #random맵 안에 있는 플레이어들에게 문구를 보여줍니다
                
                
                
                
                
                      
#조커
on right click:
	if "%lore of player's tool%" contains "&e&l[&f&l설명&e&l] &f&l우클릭시 50%% 확률로 버프를 받는다":
		set {_cooldown} to difference between {조커.%player%} and now
		if {_cooldown} is less than 60 seconds:
			set {_text} to "%difference between 60 seconds and {_cooldown}%"
			replace all " seconds" and " second" with "초" in {_text}
			send "{@r} &f&l재사용 까지 &e&l%{_text}% &f&l남았습니다."
			exit
		set {조커.%player%} to now
		set {_joker} to random integer between 1 and 2 #임시변수에 1~2 사이에 랜덤 값을 설정합니다
		if {_joker} is 1: #만약 랜덤 값이 1인경우
			apply speed 3 to player for 30 seconds #신속3 버프를 30초동안 부여합니다
			apply strength 2 to player for 30 seconds #힘2 버프를 30초동안 부여합니다
			apply jump 2 to player for 30 seconds #점프2를 30초동안 부여합니다
			apply resistance 1 to player for 30 seconds #저항 1을 30초동안 부여합니다
			send "{@r} 조커에 힘으로 &a&l좋은 &f&l버프를 받습니다"
		if {_joker} is 2: #만약 랜덤 값이 2인경우
			apply slow 2 to player for 40 seconds #슬로우2를 40초동안 부여합니다
			apply blindness 1 to player for 30 seconds #실명1을 30초동안 부여합니다
			apply weakness 2 to player for 30 seconds #나약함2를 30초동안 부여합니다
			send "{@r} 조커에 힘으로 &c&l각종 &f&l디버프를 받습니다"

 

다 만든 아이템은 따로 보관해줍니다

이제 절반만 더 만들면 됩니다!

 

 

반응형
'Minecraft/Server Development' 카테고리의 다른 글
  • [Minecraft] 1.12.2 랜덤무기 전쟁 구축 [ 11 ]
  • [Minecraft] 1.12.2 랜덤무기 전쟁 구축 [ 10 ]
  • [Minecraft] 1.12.2 랜덤무기 전쟁 구축 [ 8 ]
  • [Minecraft] 1.12.2 랜덤무기 전쟁 구축 [ 7 ]
MUSA
MUSA
Nine Point Eight

최근 댓글

최근 글

인기 글

  • MUSA
    무사
    Nine Point Eight
    • 홈

    • 방명록

    • 분류 전체보기 (124)
      • Minecraft (29)
        • Server Development (16)
        • ResourcePack (7)
        • Plugin (5)
        • Java Plugin (1)
      • Tistory (15)
        • 티스토리 수익 (3)
        • 티스토리 검색 유입 (3)
        • 티스토리 꾸미기 (9)
      • Windows (2)
      • Kali Linux (42)
        • Linux (24)
        • Bandit (18)
        • Tool (0)
      • Web Study (26)
        • Theory (14)
        • Training (12)
      • CTF (5)
        • HackTheon (1)
        • Customized CTF (2)
        • CTF Write-Up (2)
      • Forensics (1)
      • System (1)
      • Cryptography (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
MUSA
[Minecraft] 1.12.2 랜덤무기 전쟁 구축 [ 9 ]
상단으로

티스토리툴바