Skocz do zawartości
  • 0

Błąd w konsoli


Krzysiekkk

Pytanie

 [Skript] In 1.13+ you cannot get the title name of an inventory outside of an InventoryClickEvent, Only if this inventory has an InventoryHolder may it be used in this state.

Jak to naprawić?

Edytowane przez xNightPower_
Nieaktywny

Naprawiam formatowanie na ciemnym stylu, zmieniam tytuł na poprawny - "Problem" za wiele nie mówi.

Odnośnik do komentarza
Udostępnij na innych stronach

9 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, Krzysiekkk napisał:

 [Skript] In 1.13+ you cannot get the title name of an inventory outside of an InventoryClickEvent, Only if this inventory has an InventoryHolder may it be used in this state.

To jest bolączka Skripta i szczerze nie wiem czy to w końcu naprawili, czy też nie. Pokaż twój kod, postaramy się go przerobić tak, aby zadziałało.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
30 minut temu, Kormic napisał:

To jest bolączka Skripta i szczerze nie wiem czy to w końcu naprawili, czy też nie. Pokaż twój kod, postaramy się go przerobić tak, aby zadziałało.

 

Edytowane przez xNightPower_
Nieaktywny

Długie kody umieszczaj na code.skript.pl

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

No więc tak...

1. 'format slot' pochodzący z SkQuery jest ograniczony w swych możliwościach oraz zawiera błędy (można kopiować itemy), dlatego też odradzam jego używania i zalecam przerzucić się na 'set slot' pochodzący ze Skripta.

2. Spróbuj jeszcze samo 'if name of player's current inventory is "nazwa":'. Jeżeli nie zadziała, spróbuj ze skript-reflect:

if e.getView().getTitle() is "nazwaGUI":

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
12 minut temu, Kormic napisał:

No więc tak...

1. 'format slot' pochodzący z SkQuery jest ograniczony w swych możliwościach oraz zawiera błędy (można kopiować itemy), dlatego też odradzam jego używania i zalecam przerzucić się na 'set slot' pochodzący ze Skripta.

2. Spróbuj jeszcze samo 'if name of player's current inventory is "nazwa":'. Jeżeli nie zadziała, spróbuj ze skript-reflect:





if e.getView().getTitle() is "nazwaGUI":

 

jeśli jest możliwość to mógłbyś to:

format slot 31 of player with 1 of crafting table named "&b&lCRAFTING" with lore "&6&k!&e&k!&6&k!&c&l9x64 cobble&6&k!&e&k!&6&k!" to run [make player execute command "zrobcobblex"]

przekształcić na kod z Skript?

Edytowane przez xNightPower_
Nieaktywny

Naprawiam formatowanie na ciemnym stylu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
21 minut temu, Krzysiekkk napisał:

jeśli jest możliwość to mógłbyś to:

format slot 31 of player with 1 of crafting table named "&b&lCRAFTING" with lore "&6&k!&e&k!&6&k!&c&l9x64 cobble&6&k!&e&k!&6&k!" to run [make player execute command "zrobcobblex"]

przekształcić na kod z Skript?

Mam 'format slot' w całym skrypcie przekształcić? Jeżeli tak to napisz do moderatora, aby przeniósł wątek do działu "Skript > Zlecenia" albo zgłoś swój post i napisz, że prosisz o przeniesienie wątku do odpowiedniego działu.

Edytowane przez xNightPower_
Nieaktywny

Naprawiam cytat.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

Mam 'format slot' w całym skrypcie przekształcić? Jeżeli tak to napisz do moderatora, aby przeniósł wątek do działu "Skript > Zlecenia" albo zgłoś swój post i napisz, że prosisz o przeniesienie wątku do odpowiedniego działu.

Nie w całym skrypcie tylko w jednej linijce abym wiedział jak to sie robi i wtedy sam już wszystko przekształcę 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Krzysiekkk napisał:

Nie w całym skrypcie tylko w jednej linijce abym wiedział jak to sie robi i wtedy sam już wszystko przekształcę 

No dobrze, w takim razie:

format slot 31 of player with 1 of crafting table named "&b&lCRAFTING" with lore "&6&k!&e&k!&6&k!&c&l9x64 cobble&6&k!&e&k!&6&k!" to run [make player execute command "zrobcobblex"]

Aby przekształcić 'format slot' na 'set slot', musimy ustawić slot oraz dodatkowo zdefiniować dla niego akcję w evencie 'on inventory click'.

Ustawianie slotu:

command /cobblex [<text>]:
    aliases: cx
    trigger:
        open chest inventory with 4 rows named "&a&lCobble&2&lX" to player
        set slot 31 of player's current inventory to crafting table named "&b&lCRAFTING" with lore "&6&k!&e&k!&6&k!&c&l9x64 cobble&6&k!&e&k!&6&k!"      

Definiowanie akcji:

on inventory click:
	# Sprawdzamy nazwę GUI (ty musisz użyć sprawdzania nazwy GUI, które podałem w odpowiedzi wyżej)
	name of player's current inventory is "&a&lCobble&2&lX"
	
	# Sprawdzamy czy gracz nie kliknął swojego ekwipunku podczas otwierania skrzynki
	clicked inventory is not player's inventory
	
	# Anulujemy event, aby nie można było wyjmować jakichkolwiek przedmiotów z tej skrzynki
	cancel event
	
	# Sprawdzamy który slot został kliknięty
	if clicked slot is 31:
	
		# Wykonujemy komendę poprzez gracza
		execute player command "zrobcobblex"

Oczywiście nie tworzymy dla każdego slotu nowego eventu 'on inventory click', broń Boże! Sprawdzamy po prostu w kolejnych warunkach który slot został kliknięty:

if clicked slot is 1:
	# Akcje dla slotu nr 1
else if clicked slot is 22:
	# Akcje dla slotu nr 22
else if clicked slot is 31:
	# Akcje dla slotu nr 31
else if clicked slot is 53:
	# Akcje dla slotu nr 53

No, to tyle właściwie. Mam nadzieję, że zrozumiałeś co i jak.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

No dobrze, w takim razie:


format slot 31 of player with 1 of crafting table named "&b&lCRAFTING" with lore "&6&k!&e&k!&6&k!&c&l9x64 cobble&6&k!&e&k!&6&k!" to run [make player execute command "zrobcobblex"]

Aby przekształcić 'format slot' na 'set slot', musimy ustawić slot oraz dodatkowo zdefiniować dla niego akcję w evencie 'on inventory click'.

Ustawianie slotu:


command /cobblex [<text>]:
    aliases: cx
    trigger:
        open chest inventory with 4 rows named "&a&lCobble&2&lX" to player
        set slot 31 of player's current inventory to crafting table named "&b&lCRAFTING" with lore "&6&k!&e&k!&6&k!&c&l9x64 cobble&6&k!&e&k!&6&k!"      

Definiowanie akcji:


on inventory click:
	# Sprawdzamy nazwę GUI (ty musisz użyć sprawdzania nazwy GUI, które podałem w odpowiedzi wyżej)
	name of player's current inventory is "&a&lCobble&2&lX"
	
	# Sprawdzamy czy gracz nie kliknął swojego ekwipunku podczas otwierania skrzynki
	clicked inventory is not player's inventory
	
	# Anulujemy event, aby nie można było wyjmować jakichkolwiek przedmiotów z tej skrzynki
	cancel event
	
	# Sprawdzamy który slot został kliknięty
	if clicked slot is 31:
	
		# Wykonujemy komendę poprzez gracza
		execute player command "zrobcobblex"

Oczywiście nie tworzymy dla każdego slotu nowego eventu 'on inventory click', broń Boże! Sprawdzamy po prostu w kolejnych warunkach który slot został kliknięty:


if clicked slot is 1:
	# Akcje dla slotu nr 1
else if clicked slot is 22:
	# Akcje dla slotu nr 22
else if clicked slot is 31:
	# Akcje dla slotu nr 31
else if clicked slot is 53:
	# Akcje dla slotu nr 53

No, to tyle właściwie. Mam nadzieję, że zrozumiałeś co i jak.

Dziękuje ślicznie <3

Odnośnik do komentarza
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ę...