Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Wychwytywanie linijki w Lore


kacpicygan123

Rekomendowane odpowiedzi

Opublikowano

Witam! Mam taki problem. Robię sobie taki projekcik RPG, moi koledzy sobie pograją. Niedawno zacząłem tworzyć coś takiego, jak np. Zbroję z Pancerzem obniżającym obrażenia o np. 0.2. Dlatego wziąłem skórzaną zbroję i zrobiłem jej w skrypcie:

Nazwę:

Skórzany Napierśnik

 

Lore:

=====================

Typ: Zbroja

Pancerz: 0.2

=====================

 

I teraz, jak zrobić to tak, żeby linijkę "Pancerz: 0.2" wykrywało z lore przedmiotu? Wiem, że pisałem  już takie tematy, ale udzielaliście albo błędnych odpowiedzi, albo w ogóle nie odpowiadaliście.

 

Np. Skrypt wykryje linijkę "Pancerz: 0.2" i z tej linijki weźmie "0.2", a potem użyje jej w evencie "on damage" i zredukuje. Chodzi mi o to, żebyście nie pisali:

 

"Napisz "Reduce damage by 0.2"", bo nie o to chodzi. Chodzi mi o to, że gdyby w miejscu "0.2" byłoby np. "0.8", to skrypt natychmiast wychwyci to z lore. Mam nadzieję, że załapaliście :D

 

        

Opublikowano

Możesz spróbować tak, że zamienisz wszystkie nie znaki na nic a zostawisz tylko to co cie interesuje, tu taki przykład:


command /wykryj:
	trigger:
		if player's tool is leather chestplate named "Skórzany Napierśnik":
			set {_x} to lore of player's tool
			replace all "=" with "" in {_x}
			replace all " " with "" in {_x}
			replace all "Typ" with "" in {_x}
			replace all "Zbroja" with "" in {_x}
			replace all "Pancerz" with "" in {_x}
			replace all ":" with "" in {_x}
			send "%{_x}%"

Gdy trzymasz w łapce skórzany napierśnik o nazwie Skórzy napierśnik (z tym twoim lore) to wpisz /wykryj i powinno Ci napisać na czacie to twoje "0.2"

Opublikowano

No dobrze, ale teraz mam problem, bo chcę zrobić tak, że kiedy już wykryje tę linijkę, to jak zaatakuje mnie jakikolwiek mob, to żeby obrażenia zostały zredukowane, kiedy noszę na sobie jakąkolwiek zbroję z takim lore.

 

I jeszcze jedno. W tym skrypcie jest tak, że wykrywa pancerz i go wysyła. A ja np. chcę zrobić taką zbrojkę:

 

Szata Czarodzieja

 

==========================

Typ: Zbroje

Pancerz: 0.1

Inteligencja: +1

==========================

 

Jak mam zrobić tak, żeby najpierw wykrywało Pancerz, a potem Inteligencję i wysłało mi te dwie wartości oddzielnie?

Opublikowano
command /wykryj:
	trigger:
		if player's tool is leather chestplate named "Skórzany Napierśnik":
			set {_x} to lore of player's tool
			replace all "=" with "" in {_x}
			replace all " " with "" in {_x}
			replace all "Typ" with "" in {_x}
			replace all "Zbroja" with "" in {_x}
			replace all "Pancerz" with "" in {_x}
			replace all ":" with "" in {_x}
            replace all "Inteligencja" with "" in {_x}
            replace all "+1" with "" in {_x}
			send "%{_x}%"
            set {_z} to lore of player's tool
			replace all "=" with "" in {_z}
			replace all " " with "" in {_z}
			replace all "Typ" with "" in {_z}
			replace all "Zbroja" with "" in {_z}
			replace all "Pancerz" with "" in {_z}
			replace all ":" with "" in {_z}
            replace all "Pancerz" with "" in {_z}
            replace all "0.1" with "" in {_z}
            send "%{_z}%"

(Musisz sobie wytabować bo mi coś taby zjadło xD)

 

A nad tym drugim to pomyśle i jak coś wymyśle to się odezwę :)

Opublikowano

Wiesz, ale nie do końca o to mi chodzi, ponieważ Twój skrypt będzie wychwytywał te wartości tylko wtedy, gdy będzie napis "0.2 Pancerz" i "Inteligencja: +1". A mi chodzi o to, żeby np.:

 

jest komenda np. "/wykryj"

 

Trzymam sobie Skórzany Napierśnik z lore:

 

=============================

Pancerz: 0.2

Inteligencja: +1

=============================

 

To Twój skrypt ogranicza się do tego, że wiadomość z parametrami {_x} oraz {_z} zostanie do mnie wysłana, tylko, jeśli będę miał dokładnie taki sam lore jak powyższy. A mi chodzi o coś takiego, że jakbym zmienił lore na np.:

 

=============================

Pancerz: 0.3

Inteligencja: +2

=============================

 

To żeby skrypt automatycznie wykrył te wartości 0.3 (w których miejscu mogłoby być np. 0.5) i +2 (gdzie mogłoby być np. +5). Wiem, że pogmatwałem i możesz trochę nie zrozumieć, ale mi naprawdę na tym skrypcie zależy :)

Opublikowano
Wpadłem na taki pomysł, zobacz czy działa:



command /wykryj:
trigger:
set {_pancerz} to "%uncoloured 2st line of player's tool's lore%"
set {_inteligencja} to "%uncoloured 3st line of player's tool's lore%"
replace all "Pancerz:" with "" in {_pancerz}
replace all " " with "" in {_pancerz}
replace all "Inteligencja:" with "" in {_inteligencja}
replace all " " with "" in {_inteligencja}
send "Pancerz: %{_pancerz}%"
send "Inteligencja: %{_inteligencja}%"

  • 2 miesiące temu...
Opublikowano

Można zastosować "every 1 second" chyba

Jeśli ci pomogłem to daj lajka ❤️ 

 

Opublikowano

To powinno Ci ułatwić życie :D

command /lore [<text>]:
	trigger:
		if arg 1 is "get":
			give leather chestplate named "&3Skorzany napiersnik" with lore "&6==========||&aTyp: &cZbroje||&aPancerz: &c0.1||&aInteligencja: &c+1||&6==========" to player
			send "Dodano :P"
			stop
		if arg 1 is set:
			if player's tool is leather chestplate:
				set {_lore::*} to uncoloured lore of player's tool split at "||"
				loop {_lore::*}:
					if "%loop-value%" contains "pancerz":
						set {_p} to "%loop-value%"
						replace all "Pancerz: " with "" in {_p}
						set {_pancerz} to {_p} parsed as number
					if "%loop-value%" contains "inteligencja":
						set {_i} to "%loop-value%"
						replace all "Inteligencja: " with "" in {_i}
						set {_inteligencja} to {_i} parsed as number
				if {_pancerz} is set:
					send "w zmiennej {_pancerz} jest %{_pancerz}%"
				if {_inteligencja} is set:
					send "w zmiennej {_inteligencja} jest %{_inteligencja}%"
			stop

#Jest mało kodu to dodaje bez spoilera :P

Jeżeli pomogłem, daj + Ciebie nic nie kosztuje Mi znaczy wiele.

 

 

 

 

 

 

 

Zachęcam do podsyłania pomysłów na film jako poradniki na YouTube

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...