Skocz do zawartości
  • 0

Skrypt na /bloki


DeepesT

Pytanie

Witam mam problem ponieważ wyskakuje mi błędy w liczbie 2 --> o to zdjęcia Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! (te 2 ostatnie błędy) a i czy może mi ktoś dopisać jak gracz nie ma diamentów to będzie pisało ze nie posiadasz w eq diamentów  z góry dziękuję 

a o to kod skryptu: 

 

Odnośnik do odpowiedzi
Udostępnij na innych stronach

13 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
4 godziny temu, DeepesT napisał:

Witam mam problem ponieważ wyskakuje mi błędy w liczbie 2 --> o to zdjęcia Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! (te 2 ostatnie błędy) a i czy może mi ktoś dopisać jak gracz nie ma diamentów to będzie pisało ze nie posiadasz w eq diamentów  z góry dziękuję 

a o to kod skryptu: 

 

Opisz co ma robić ten twój skrypt bo nie rozumiem go za bardzo klikam w ten blok i wyskakuje informacja że Otrzymuje 0 Bloków diamentowych.

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
6 godzin temu, DeepesT napisał:

Witam mam problem ponieważ wyskakuje mi błędy w liczbie 2 --> o to zdjęcia Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść! (te 2 ostatnie błędy) a i czy może mi ktoś dopisać jak gracz nie ma diamentów to będzie pisało ze nie posiadasz w eq diamentów  z góry dziękuję 

a o to kod skryptu: 

 

 

Ten skrypt nie działa, gdyż próbujesz dzielić tekst (stringa) przez 9. Mam na myśli linijki kolejno 15 i 16. Dodatkowo, jeżeli chcesz usunąć {_x} diamentów, po tej zmiennej musisz dać 'of', aby nie było błędu.

1 godzinę temu, TakiJakTy napisał:

Jeśli pomogłem, proszę o serduszko <3 

Tutaj analogiczna sytuacja, co prawda błędów już nie będzie, ale skrypt i tak nie zadziała.

Poprawna wersja, bez zmiennych, wystarczają same wyrażenia.

command /bloki [<text>]:
	trigger:
		close player's inventory
		open chest with 1 row named "&6&lBLOKI" to player
		wait 3 tick
		set player's current inventory's slot 4 to diamond block named "&b&lDIAMENTY"
		
on inventory click:
	if "%inventory name of player's current inventory%" is not "&6&lBLOKI":
		if clicked inventory is player's inventory:
			stop
		cancel event
		if clicked slot is 4:
			if player doesn't have 9 diamonds:
				send "&cPotrzebujesz minimum &69 &cdiamentów, aby móc wymienić je na bloki diamentów!" to player
				stop
			give floor(amount of diamonds in player's inventory / 9) of diamond block to player's inventory
			send "&8&l[&6&lBLOKI&8&l] &aOtrzymujesz &2%floor(amount of diamonds in player's inventory / 9)% &ablokow &b&lDIAMENTOW" to player
			remove (floor(amount of diamonds in player's inventory / 9) * 9) of diamond from player's inventory

 

Edytowane przez Kormic
Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
Godzinę temu, Kormic napisał:

 

Ten skrypt nie działa, gdyż próbujesz dzielić tekst (stringa) przez 9. Mam na myśli linijki kolejno 15 i 16. Dodatkowo, jeżeli chcesz usunąć {_x} diamentów, po tej zmiennej musisz dać 'of', aby nie było błędu.

Tutaj analogiczna sytuacja, co prawda błędów już nie będzie, ale skrypt i tak nie zadziała.

Poprawna wersja, bez zmiennych, wystarczają same wyrażenia.

command /bloki [<text>]:
	trigger:
		close player's inventory
		open chest with 1 row named "&6&lBLOKI" to player
		wait 3 tick
		set player's current inventory's slot 4 to diamond block named "&b&lDIAMENTY"
		
on inventory click:
	if "%inventory name of player's current inventory%" is not "&6&lBLOKI":
		if clicked inventory is player's inventory:
			stop
		cancel event
		if clicked slot is 4:
			if player doesn't have 9 diamonds:
				send "&cPotrzebujesz minimum &69 &cdiamentów, aby móc wymienić je na bloki diamentów!" to player
				stop
			give floor(amount of diamonds in player's inventory / 9) of diamond block to player's inventory
			send "&8&l[&6&lBLOKI&8&l] &aOtrzymujesz &2%floor(amount of diamonds in player's inventory / 9)% &ablokow &b&lDIAMENTOW" to player
			remove (floor(amount of diamonds in player's inventory / 9) * 9) of diamond from player's inventory

 

Skrypt nie wyrzuca błędów ale nie działa :) 

Edytowane przez DeepesT
Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
Godzinę temu, Kormic napisał:

 

Ten skrypt nie działa, gdyż próbujesz dzielić tekst (stringa) przez 9. Mam na myśli linijki kolejno 15 i 16. Dodatkowo, jeżeli chcesz usunąć {_x} diamentów, po tej zmiennej musisz dać 'of', aby nie było błędu.

Tutaj analogiczna sytuacja, co prawda błędów już nie będzie, ale skrypt i tak nie zadziała.

Poprawna wersja, bez zmiennych, wystarczają same wyrażenia.

command /bloki [<text>]:
	trigger:
		close player's inventory
		open chest with 1 row named "&6&lBLOKI" to player
		wait 3 tick
		set player's current inventory's slot 4 to diamond block named "&b&lDIAMENTY"
		
on inventory click:
	if "%inventory name of player's current inventory%" is not "&6&lBLOKI":
		if clicked inventory is player's inventory:
			stop
		cancel event
		if clicked slot is 4:
			if player doesn't have 9 diamonds:
				send "&cPotrzebujesz minimum &69 &cdiamentów, aby móc wymienić je na bloki diamentów!" to player
				stop
			give floor(amount of diamonds in player's inventory / 9) of diamond block to player's inventory
			send "&8&l[&6&lBLOKI&8&l] &aOtrzymujesz &2%floor(amount of diamonds in player's inventory / 9)% &ablokow &b&lDIAMENTOW" to player
			remove (floor(amount of diamonds in player's inventory / 9) * 9) of diamond from player's inventory

 

A jednak jest błąd (error) o to on (Ostatni error zaczynający się od słów: Can`t understend .... ) --> Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
58 minut temu, DeepesT napisał:

A jednak jest błąd (error) o to on (Ostatni error zaczynający się od słów: Can`t understend .... ) --> Zarejestruj się lub zaloguj, aby zobaczyć ukrytą treść!

U mnie nie ma błędów. W starszych wersjach funkcje nie były w stanie przyjmować nawet najprostszych obliczeń jako argumenty. W takim wypadku ustaw wyrażenie 'amount of diamonds in player's inventory / 9' do jakiejś zmiennej i dodaj ją jako argument funkcji floor.

set {_zmienna} (to amount of diamonds in player's inventory / 9)
floor({_zmienna})

 

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
1 minutę temu, Kormic napisał:

U mnie nie ma błędów. W starszych wersjach funkcje nie były w stanie przyjmować nawet najprostszych obliczeń jako argumenty. W takim wypadku ustaw wyrażenie 'amount of diamonds in player's inventory / 9' do jakiejś zmiennej i dodaj ją jako argument funkcji floor.

set {_zmienna} (to amount of diamonds in player's inventory / 9)
floor({_zmienna})

 

A czy może pan pan dodac jakos zmienną ? proszę :) 

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
2 godziny temu, DeepesT napisał:

wychodzi na to że jestem [ciach] na głowę bo nie rozumiem co ja mam zrobić a jak robię to nie działa lol dziwne ale no cóż jestem debilem :) 

Ehh...

set {_d} to (amount of diamonds in player's inventory / 9)
give floor({_d}) of diamond block to player's inventory
send "&8&l[&6&lBLOKI&8&l] &aOtrzymujesz &2%floor({_d})% &ablokow &b&lDIAMENTOW" to player
remove (floor({_d}) * 9) of diamond from player's inventory

 

Edytowane przez CountingDogs
CountingDogs

Usuwam wulgaryzm z cytatu.

Notatka dodana przez CountingDogs

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
12 godzin temu, Kormic napisał:

Ehh...

set {_d} to (amount of diamonds in player's inventory / 9)
give floor({_d}) of diamond block to player's inventory
send "&8&l[&6&lBLOKI&8&l] &aOtrzymujesz &2%floor({_d})% &ablokow &b&lDIAMENTOW" to player
remove (floor({_d}) * 9) of diamond from player's inventory

 

Szanowny Panie Kormic wiem iż ma pan mnie dosc ale jak mogę dodac iż jak gracz ma pełne eq to dropi mu te bloki co zamienił z diamentów na ziemie ?

Odnośnik do odpowiedzi
Udostępnij na innych stronach
  • 0
			if clicked slot is 3:
				if player have 8 gold block and apple:
					give floor(amount of gold block and apple in player's inventory / 8) of enchanted golden apple to player's inventory
					send "&8&l[&6&lBLOKI&8&l] &aOtrzymujesz &2%floor(amount of diamonds in player's inventory / 9)% &ablokow &b&lDIAMENTOW" to player
					remove (floor(amount of gold block and apple in player's inventory / 8) * 9) of gold block and apple from player's inventory
				else:
					send "&cPotrzebujesz minimum &68 blokow zlota i jednego jablka, aby móc wymienić je na koksa!" to player
					stop

Jak to zrobic zeby zabieralo 8 gold blockow i jedno jablko i dawalo za to koksa, jesli gracz ma np. 32 bloki zlota i 4 jablka to zrobi 4 koxy (tyle na ile cie stac tyle robi)

 

Odnośnik do odpowiedzi
Udostępnij na innych stronach
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ę...