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

Równanie się zmiennych


kacpicygan123

Rekomendowane odpowiedzi

Opublikowano

Witam. Na początku przedstawię taki skrypt:

 

 

 

variables:

    {level.%player%} = 1

on damage:
    if attacker is player:
        set {_pzm} to "%uncoloured 4th line of attacker's tool's lore%"
        set {_lore} to lore of attacker's tool
        set {_wym} to "%uncoloured 2nd line of attacker's tool's lore%"
        set {_obr} to "%uncoloured 3rd line of attacker's tool's lore%"
        replace all "&b" with "" in {_pzm}
        replace all "Wymagany" with "" in {_pzm}
        replace all "Poziom" with "" in {_pzm}
        replace all ":" with "" in {_pzm}
        replace all "&7" with "" in {_pzm}
        replace all "||" with "" in {_pzm}
        replace all " " with "" in {_pzm}
        replace all "Obrazenia" with "" in {_obr}
        replace all ":" with "" in {_obr}
        replace all "&7" with "" in {_obr}
        replace all " " with "" in {_obr}
        replace all "|| " with "" in {_obr}
        replace all "&b" with "" in {_obr}
        replace all "&b" with "" in {_wym}
        replace all "||" with "" in {_wym}
        replace all "Typ" with "" in {_wym}
        replace all ":" with "" in {_wym}
        replace all "=" with "" in {_wym}
        replace all " " with "" in {_wym}
        if {_pzm} is not "<none>":
            if {level.%attacker%} is bigger or equal to {_pzm}:
                if {mag.%attacker%} is true:
                    if {_wym} is not "laska":
                        send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
                    else:
                        send "%{_wym}%" to attacker 
                        set {_dmg} to {_obr}
                        send "%{_obr}%" to attacker
                        set damage to {_dmg}
                if {lowca.%attacker%} is true:
                    if {_wym} is not "sztylet" or "luk":
                        send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
                    else:
                        send "%{_wym}%" to attacker 
                        set {_dmg} to {_obr}
                        send "%{_obr}%" to attacker
                        set damage to {_dmg}
                if {wojownik.%attacker%} is true:
                    if {_wym} is not "miecz" or "topor":
                        send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
                    else:
                        send "%{_wym}%" to attacker 
                        set {_dmg} to {_obr}
                        send "%{_obr}%" to attacker
                        set damage to {_dmg}
                        send "%health of victim%" to attacker
            else:
                cancel event
                send "&cNie masz wymaganego poziomu do poslugiwania sie ta bronia!" to attacker
                send "%{_pzm}%" to attacker
                send "%{level.%attacker%}%" to attacker

 
Ktoś mi powie, czemu jak mam {level.%player%} ustawione na 2 i uderzę kogokolwiek, a wartość {_pzm} wyniesie 1, to wyświetla mi się wiadomość &cNie masz wymaganego poziomu do poslugiwania sie ta bronia!"? (Ostatnie linijki)
Opublikowano

pzm to tekst a ty na nim robisz jakby to byla cyfra

 

masz to lore ustawione tak ze po odjeciu tych wszystkich slow zostanie 1 to lore bedzie wynosilo

"1"

a zeby wykonac akcje bigger or equal musi to byc cyfra nie tekst czyli samo:

1

chyba zrozumiales

 

zeby to dzialalo to musisz zmienic ta linijke

            if {level.%attacker%} is bigger or equal to {_pzm}:

zeby wplywalo na tekst a nie na cyfre lub inny sposob tego lore :D

Opublikowano

pzm to tekst a ty na nim robisz jakby to byla cyfra

 

masz to lore ustawione tak ze po odjeciu tych wszystkich slow zostanie 1 to lore bedzie wynosilo

"1"

a zeby wykonac akcje bigger or equal musi to byc cyfra nie tekst czyli samo:

1

chyba zrozumiales

 

zeby to dzialalo to musisz zmienic ta linijke

            if {level.%attacker%} is bigger or equal to {_pzm}:

zeby wplywalo na tekst a nie na cyfre lub inny sposob tego lore :D

 

 

W takim zadziała sposób: "Replace all """ with "" in {_pzm}"? Jeżeli nie, to proszę o podanie jakiegoś wzoru.

 

@Matak606

Opublikowano

dlatego do takich opcji najlepiej jest napisać plugin oparty o enumy - jest wygodnie, można bardzo łatwo operować takimi levelami i jest przejrzyście, co jednak jeżeli wolisz skrypty, twoja sprawa:

 

nie wiem czy jest taka opcja, ale poszukaj czy przypadkiem w skripcie nie ma jakiegos konwertera string -> int czy coś w ten deseń, bo bez tego ciężko porównywać, żeby to działało, albo jeszcze jedna opcja - tworzysz sobie dane "opcje" dla danych przedmiotów, a następnie po prostu sprawdzasz nazwy/cokolwiek i porównujesz levele, chyba będzie tak najlepiej, chociaz duzo z tym roboty

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

mozesz troche sie pobawic w ten sposob:

 

np masz 100 leveli to dajesz zamiast tego 

variables:
	{level.%player%} = 1
on damage:
	if attacker is player:
		set {_pzm} to "%uncoloured 4th line of attacker's tool's lore%"
		set {_lore} to lore of attacker's tool
		set {_wym} to "%uncoloured 2nd line of attacker's tool's lore%"
		set {_obr} to "%uncoloured 3rd line of attacker's tool's lore%"
		replace all "&b" with "" in {_pzm}
		replace all "Wymagany" with "" in {_pzm}
		replace all "Poziom" with "" in {_pzm}
		replace all ":" with "" in {_pzm}
		replace all "&7" with "" in {_pzm}
		replace all "||" with "" in {_pzm}
		replace all " " with "" in {_pzm}
		replace all "Obrazenia" with "" in {_obr}
		replace all ":" with "" in {_obr}
		replace all "&7" with "" in {_obr}
		replace all " " with "" in {_obr}
		replace all "|| " with "" in {_obr}
		replace all "&b" with "" in {_obr}
		replace all "&b" with "" in {_wym}
		replace all "||" with "" in {_wym}
		replace all "Typ" with "" in {_wym}
		replace all ":" with "" in {_wym}
		replace all "=" with "" in {_wym}
		replace all " " with "" in {_wym}
		if {_pzm} is not "<none>":
			if {_pzm} is "1":
				set {_pzm} to 1
			if {_pzm} is "2":
				set {_pzm} to 2
			if {_pzm} is "3":
				set {_pzm} to 3
			#i tak dalej...
			wait 1 tick
			if {level.%attacker%} is bigger or equal to {_pzm}:
				if {mag.%attacker%} is true:
					if {_wym} is not "laska":
						send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
					else:
						send "%{_wym}%" to attacker 
						set {_dmg} to {_obr}
						send "%{_obr}%" to attacker
						set damage to {_dmg}
				if {lowca.%attacker%} is true:
					if {_wym} is not "sztylet" or "luk":
						send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
					else:
						send "%{_wym}%" to attacker 
						set {_dmg} to {_obr}
						send "%{_obr}%" to attacker
						set damage to {_dmg}
				if {wojownik.%attacker%} is true:
					if {_wym} is not "miecz" or "topor":
						send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
					else:
						send "%{_wym}%" to attacker 
						set {_dmg} to {_obr}
						send "%{_obr}%" to attacker
						set damage to {_dmg}
						send "%health of victim%" to attacker
			else:
				cancel event
				send "&cNie masz wymaganego poziomu do poslugiwania sie ta bronia!" to attacker
				send "%{_pzm}%" to attacker
				send "%{level.%attacker%}%" to attacker 

dajesz te 2 linijki tyle razy ile chcesz leveli i nastepnie dodajesz ta linike wait 1 tick (ja wole ja dac bo przy lagach na serwerze nie zawsze sie zmienialo od razu trzeba bylo chwile zaczekac xD)

 

i wtedy mozesz zostawic to bigger or equal bo zamieniasz "1" na 1

 

 

ewentualnie mozesz to zrobic przez loop

variables:
	{level.%player%} = 1
on damage:
	if attacker is player:
		set {_pzm} to "%uncoloured 4th line of attacker's tool's lore%"
		set {_lore} to lore of attacker's tool
		set {_wym} to "%uncoloured 2nd line of attacker's tool's lore%"
		set {_obr} to "%uncoloured 3rd line of attacker's tool's lore%"
		replace all "&b" with "" in {_pzm}
		replace all "Wymagany" with "" in {_pzm}
		replace all "Poziom" with "" in {_pzm}
		replace all ":" with "" in {_pzm}
		replace all "&7" with "" in {_pzm}
		replace all "||" with "" in {_pzm}
		replace all " " with "" in {_pzm}
		replace all "Obrazenia" with "" in {_obr}
		replace all ":" with "" in {_obr}
		replace all "&7" with "" in {_obr}
		replace all " " with "" in {_obr}
		replace all "|| " with "" in {_obr}
		replace all "&b" with "" in {_obr}
		replace all "&b" with "" in {_wym}
		replace all "||" with "" in {_wym}
		replace all "Typ" with "" in {_wym}
		replace all ":" with "" in {_wym}
		replace all "=" with "" in {_wym}
		replace all " " with "" in {_wym}
		if {_pzm} is not "<none>":
			loop 100 times:
				if {_pzm} is "%loop-number%":
					set {_pzm} to loop-number
			wait 1 tick
			if {level.%attacker%} is bigger or equal to {_pzm}:
				if {mag.%attacker%} is true:
					if {_wym} is not "laska":
						send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
					else:
						send "%{_wym}%" to attacker 
						set {_dmg} to {_obr}
						send "%{_obr}%" to attacker
						set damage to {_dmg}
				if {lowca.%attacker%} is true:
					if {_wym} is not "sztylet" or "luk":
						send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
					else:
						send "%{_wym}%" to attacker 
						set {_dmg} to {_obr}
						send "%{_obr}%" to attacker
						set damage to {_dmg}
				if {wojownik.%attacker%} is true:
					if {_wym} is not "miecz" or "topor":
						send "&cTa bron nie jest przeznaczona dla Twojej klasy!" to attacker
					else:
						send "%{_wym}%" to attacker 
						set {_dmg} to {_obr}
						send "%{_obr}%" to attacker
						set damage to {_dmg}
						send "%health of victim%" to attacker
			else:
				cancel event
				send "&cNie masz wymaganego poziomu do poslugiwania sie ta bronia!" to attacker
				send "%{_pzm}%" to attacker
				send "%{level.%attacker%}%" to attacker 

i tylko zmieniasz w loop 100 times na tyle ile masz lvli np 1000

ja nie loopowalem tak nigdy a tez nie mam jak tego sprawdzic wiec nie wiem czy dziala, jesli tak to napisz :D. jesli nie bedzie dzialac loop to uzyj tego pierwszego

Opublikowano

Loop nie działa - wyświetlają się errory w damage'u, a poza tym, gdy w lore umieszczę "Typ: Laski", a mam {wojownik.%player%} na true, nie wyświetla się wiadomość o posiadaniu broni niezgodnej z moją klasą.

Opublikowano

Daj listę tych errorów.

 

A co do @#1337

Napisz taki plugin i go tutaj wstaw, a nie bądź kolejnym dzieckiem, które udziela odpowiedzi, a te z kolei nikomu nie pomagają.

» Zostanę technikiem serwera minecraft / stworzę twój serwer (Klik) «

» Wykonam pliki serwerowe do minecraft  «

» Pomagam w różnych sprawach «

<>~~~~~~~~~~~~<> Kontakt <>~~~~~~~~~~~~<>
» Wyślij do mnie Prywatną Wiadomość (PW) «

Opublikowano

Daj listę tych errorów.

 

A co do @#1337

Napisz taki plugin i go tutaj wstaw, a nie bądź kolejnym dzieckiem, które udziela odpowiedzi, a te z kolei nikomu nie pomagają.

 

gotowych kodów nigdy się nie daje, bo osoba, która go potrzebuje nigdy sie nie nauczy jak rozwiazywac problemy - ja tylko podaje jak to zrobic, wykonac trzeba samemu, nic wiecej, sam maly research wystarczy : - )

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano

@#1337 nikomu nie pomagasz takimi postami :)
Jedynie sobie szkodzisz.

 

@topic

Jak tam te błędy?

» Zostanę technikiem serwera minecraft / stworzę twój serwer (Klik) «

» Wykonam pliki serwerowe do minecraft  «

» Pomagam w różnych sprawach «

<>~~~~~~~~~~~~<> Kontakt <>~~~~~~~~~~~~<>
» Wyślij do mnie Prywatną Wiadomość (PW) «

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...