Skocz do zawartości
  • 0

Skrypt na zablokowanie niszczenia blocków oraz liczenie ile gracz razy próbował je zniszczyć


Pytanie

Witam, Potrzebuje takiego skryptu jeśli jest taka szansa

robie tryb boxpvp wiem że to już nie modne itd ale ankieta za decydowała

ogólnie potrzebuje takiego skryptu żeby dodawał np klucz do skrzyni albo dawał komende "say witam" gracz np zniszczy 10 razy blok to wykonuje sie komenda

 

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
2 godziny temu, poken12 napisał:

Witam, Potrzebuje takiego skryptu jeśli jest taka szansa

robie tryb boxpvp wiem że to już nie modne itd ale ankieta za decydowała

ogólnie potrzebuje takiego skryptu żeby dodawał np klucz do skrzyni albo dawał komende "say witam" gracz np zniszczy 10 razy blok to wykonuje sie komenda

 

on mine:
    add 1 to {bloki::%player%::%location of event-block%}
    if {bloki::%player%::%location of event-block%} <= 10:
        execute console command "/say gracz %player% zniszczyl 10 blokow"
  • 0
26 minut temu, poken12 napisał:

serdecznie dziękuje

da rade dodać inny blokniż wszystkie?

Tak. Należy na początku listenera dodać warunek sprawdzający zniszczony blok.

Ponadto, mam uwagę do kodu napisanego przez Pana wyżej. Wiem, błąd czeski, ale nierówność była źle skonstruowana. W oryginalnej wersji kodu komenda wykonuje się 10 razy po wykopaniu, ponieważ za 11-tym razem warunek będzie już niespełniony.

on mine:
	event-block is coal ore or iron ore
	add 1 to {bloki::%player%::%location of event-block%}
	{bloki::%player%::%location of event-block%} >= 10
	execute console command "/say Gracz %player% zniszczył co najmniej 10 bloków."

Pozdrawiam.

  • 0

czy jest opcja restetowania tej ilości?

chodzi o to że jak gracz zliczy te 10 blocków wysyła sie ta wiadomość to ustawia licznik na 0 wykopanych

i czy jest opcja że np pisze wykop jeszcze 9 blocków aby wykopać nagrode?

Edytowane przez poken12
rozwiązane
  • 0
1 godzinę temu, poken12 napisał:

czy jest opcja restetowania tej ilości?

chodzi o to że jak gracz zliczy te 10 blocków wysyła sie ta wiadomość to ustawia licznik na 0 wykopanych

i czy jest opcja że np pisze wykop jeszcze 9 blocków aby wykopać nagrode?

Jak najbardziej.

options:
	miningGoal: 10

on mine:
	event-block is coal ore or iron ore
	add 1 to {bloki::%player%::%location of event-block%}
	if {bloki::%player%::%location of event-block%} >= {@miningGoal}:
		execute console command "/say Gracz %player% zniszczył co najmniej {@miningGoal} bloków."
		clear {bloki::%player%::%location of event-block%}
		stop
	send "&aMusisz wykopać jeszcze %{@miningGoal} - {bloki::%player%::%location of event-block%}% bloków." to player

Pozdrawiam.

  • 0
7 minut temu, poken12 napisał:

mam jeszcze sprawe że mam generator coal ore co nie i działa ale nie na wszystkie bloki 

 

Proszę się upewnić, że pierwszy warunek jest spełniony, to znaczy wykopuje Pan odpowiednie bloki.

Jeżeli gracz rzeczywiście wykopuje dobre bloki, problem może leżeć w tym, że te bloki posiadają w sobie jakieś dodatkowe informacje, co sprawia, że Skript uznaje ów warunek za niespełniony. Wtedy proszę zamienić 'event-block is' na 'type of event-block is', być może w tym sęk.

Pozdrawiam.

  • 0
18 godzin temu, poken12 napisał:

chodzi bradziej o to że nie liczy w każdym blocku tego samego licznika

na jedym bloku jest 9 na drugim np 5

 

Już rozumiem. W takim razie warto będzie wyczyścić niepotrzebne informacje zapisane o wykopanych blokach. Proszę wykonać poniższą komendę.

command /wyczyscdane:
	trigger:
		clear {bloki::*}
		send "&6Liczniki wykopanych bloków zostały wyczyszczone dla wszystkich graczy." to sender

Jak już to Pan zrobi, proszę podmienić skrypt na poniższy i przetestować czy wszystko działa jak należy. Dodatkowo, ustawiłem nieco bardziej skomplikowaną nazwę listy zmiennych, aby przypadkiem kiedyś nie doszło do kolizji nazw zmiennych na Pana serwerze.

options:
	miningGoal: 10

on mine:
	event-block is coal ore or iron ore
	add 1 to {minedBlocks::counter::%player%}
	if {minedBlocks::counter::%player%} >= {@miningGoal}:
		execute console command "/say Gracz %player% zniszczył co najmniej {@miningGoal} bloków."
		clear {minedBlocks::counter::%player%}
		stop
	send "&aMusisz wykopać jeszcze &6%{@miningGoal} - {minedBlocks::counter::%player%}% &abloków." to player

Pozdrawiam.

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...