Skocz do zawartości
  • 0

GUI zjada itemki?


Saanjuk

Pytanie

Witajcie!
Dostrzegłem w moich GUI ze skripta bardzo poważny błąd
mianowicie jeżeli gracz wrzuci itemek do gui na wolny slot traci go pernamentnie

da się to jakoś zablokować?

EDIT:

zawsze uczono mnie że kod ma wyglądać tak:
 

on inventory click:
    event-inventory is not player's inventory
    if name of event-inventory contain "xxx":

a linijka "event-inventory is not player's inventory" powoduje właśnie wyżej opisany błąd

kolejny temat zgaszony przez szybką pomoc na DC osoby niezwiązanej z skript.pl 


EDIT 2:
bez tej linijki sloty gracza są zliczane jako sloty gui
wykombinowalem coś takiego i jakimś cudem dziala jak zamierzalem:

 

on inventory click:
	if name of event-inventory contain "xxx":
		cancel event
		if event-inventory is player's inventory:
			cancel event
		else if name of event-inventory contain "yyy":
			do something


Do zamknięcia chyba że ktoś ma lepsze rozwiązanie

Edytowane przez Saanjuk
Odnośnik do komentarza
https://skript.pl/temat/54132-gui-zjada-itemki/
Udostępnij na innych stronach

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Chodzi o to że ktoś może missclikiem wrzucić itemek w gui i go traci na zawsze

GUI powinno być zabezpieczone przed taką sytuacją tak jak jest zabezpieczane przed kradnięciem itemków z gui

Edytowane przez Saanjuk
Odnośnik do komentarza
https://skript.pl/temat/54132-gui-zjada-itemki/#findComment-328790
Udostępnij na innych stronach

  • 0
Godzinę temu, Saanjuk napisał:

Witajcie!
Dostrzegłem w moich GUI ze skripta bardzo poważny błąd
mianowicie jeżeli gracz wrzuci itemek do gui na wolny slot traci go pernamentnie

da się to jakoś zablokować?

EDIT:

zawsze uczono mnie że kod ma wyglądać tak:
 

on inventory click:
    event-inventory is not player's inventory
    if name of event-inventory contain "xxx":

a linijka "event-inventory is not player's inventory" powoduje właśnie wyżej opisany błąd

kolejny temat zgaszony przez szybką pomoc na DC osoby niezwiązanej z skript.pl 


EDIT 2:
bez tej linijki sloty gracza są zliczane jako sloty gui
wykombinowalem coś takiego i jakimś cudem dziala jak zamierzalem:

 

on inventory click:
	if name of event-inventory contain "xxx":
		cancel event
		if event-inventory is player's inventory:
			cancel event
		else if name of event-inventory contain "yyy":
			do something


Do zamknięcia chyba że ktoś ma lepsze rozwiązanie

ja zawsze filluje na samym początku całe gui tym szkłem 'light gray stained glass pane' z nazwą ' ' i po problemie.

Odnośnik do komentarza
https://skript.pl/temat/54132-gui-zjada-itemki/#findComment-328793
Udostępnij na innych stronach

  • 0
36 minut temu, polsatgraniepl napisał:

ja zawsze filluje na samym początku całe gui tym szkłem 'light gray stained glass pane' z nazwą ' ' i po problemie.

To jest niezłe rozwiązanie aczkolwiek nawet jeżeli wypełnie szarym szklem żeby wyglądało jak puste to i tak nie raz to dziwnie wygląda na txt packach więc wole swoje rozwiązanie 

jeżeli graczowi do niczego nie jest potrzebne jego inventory to blokuje też kliki w eq sposobem wyżej podanym oczywiście działa to w przypadku też "masła maślanego" keidy nie mas zjak podzielić nazwy gui na 2 części:

 

on inventory click:
	if name of event-inventory contain "xxx":
		cancel event
		if event-inventory is player's inventory:
			cancel event
		else if name of event-inventory contain "xxx":
			if cliked slot is 1:
				do something

 

Godzinę temu, Helios1993 napisał:

Tak samo ktoś może missclickiem wrzucić przedmiot do lawy. Utrata przedmiotu w ten sposób to wina gracza, nie serwera.

Jest to błąd skryptu a zetem nie błąd gracza pomyśl troche

Piszesz GUI kidos gra na serwerze juz z 3 miesiąc i wreszcie ma netherytową klate albo elytre otwiera gui które zjada mu ten przedmiot na który tak ciężko pracował i to jest jego wina? Jest to ewidenta wina skryptu a błąd leży po stronie serwera
 

Odnośnik do komentarza
https://skript.pl/temat/54132-gui-zjada-itemki/#findComment-328794
Udostępnij na innych stronach

  • 2

Zostałem wywołany do tablicy przez autora tematu.

Wcześniej czytałem ten temat, lecz dostałem laga mózgu, gdyż myślałem że 

W dniu 6.01.2023 o 20:36, Saanjuk napisał:
if name of event-inventory contain "xxx":

jest równoznaczne z tym co ja piszę w swoich skryptach. Lecz niestety, te dwa frazy różnią się całkowicie.

Pierwszy sprawdza tylko nazwę klikniętego inventory (w przypadku otwartej skrzynki, gdy klikniemy w skrzynkę zwróci nam prawidłową wartość, lecz gdy klikniemy niżej w nasz ekwipunek zwróci nam już nie to co chcemy)

Jak już wiesz rozwiązaniem jest:

if inventory name of player's current inventory contains "xxx":

Przykład powyżej, nie ważne w które inventory klikniemy, zawsze uzyskamy nazwę wyżej otwartego inventory (skrzynki). Taka mała różnica, a potrafi namieszać w głowie.

Odnośnik do komentarza
https://skript.pl/temat/54132-gui-zjada-itemki/#findComment-328980
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ę...