Skocz do zawartości
  • 0

Mam problem ze skryptem dokladniej z funkcja


Pytanie

Rekomendowane odpowiedzi

  • 0
27 minut temu, M3w_Q napisał:

Nie pokazuje zadnych bledow ale nie dziala.

Jak cos to pisz jesli nie wiesz na czym polego skrypt.

Skrypt nie działa z prostego powodu.
Dlaczego Pan porównuje w pierwszej linijce funkcji parametr typu tekstowego z parametrem typu 'block'? Jedno nigdy nie będzie równe drugiemu, więc ten warunek zawsze zwróci fałsz.

Co więcej, w skrypcie doszukałem się kilku co najmniej zastanawiających operacji, więc przedstawię moje uwagi i spostrzeżenia.

  1. Zalecam nie nadpisywać parametrów przesyłanych do funkcji, ponieważ kod staje się mniej czytelny.
    Jeśli Pan potrzebuje coś zapisać do lokalnej zmiennej (takiej, która zaczyna się znakiem podłogi "_" (ang. underscore)), warto utworzyć nową zmienną.
  2. Dlaczego parametr funkcji {_b} zawierający kliknięty blok jest nadpisywany przez Pana wartością tekstową, a później Pan używa tej samej zmiennej (już zawierającej tekst) do odtworzenia efektów wizualnych tak jakby ciągle przechowywała informację o bloku?
  3. Zbędnym jest zapisywanie UUID gracza w nazwie lokalnej zmiennej. To są zmienne lokalne - są one czyszczone i tworzone na nowo przy każdorazowym wywołaniu funkcji.
  4. Wracając do punktu 3., Pan czyści zmienne lokalne, co również jest bezsensowne. Skript automatycznie to robi za Pana, a właściwie to te zmienne są tylko tymczasowo przechowywane w pamięci serwera tak długo jak kod zawierający je nie zostanie wykonany do końca.
  5. Nie rozumiem sensu przesyłania bloków w formie tekstu do funkcji. Nie może Pan ich przesłać po prostu jako bloki w niezmienionej formie (np. 'upgradeGen(player, hay block, coal block, 50, block)')? Oczywiście wymaga to modyfikacji definicji funkcji upgradeGen.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342329
Udostępnij na innych stronach

  • 0
20 minut temu, M3w_Q napisał:

a co moge dac zamiast tego block czyli {_b}?

Według mnie Pan w ogóle nie powinien zmieniać wartości tej zmiennej. Proszę jeszcze raz przeczytać to co napisałem i w razie wątpliwości dać mi znać.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342338
Udostępnij na innych stronach

  • 0
1 godzinę temu, M3w_Q napisał:

wogole ne rozumiem

Uproszczę Pana problem. Musi Pan zamienić przesyłanie bloków w formie tekstu do funkcji na zwykłe przesyłanie bloków.
Parametry 2. i 3. powinny być typu 'block', nie 'text'. Wtedy skrypt powinien działać.

Gdy już Panu uda się to naprawić, może Pan wrócić do zastanawiania się nad resztą moich uwag.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342341
Udostępnij na innych stronach

  • 0
30 minut temu, M3w_Q napisał:

https://imgur.com/aJF7TfZ

nie moge dac zdjecia xd

Zgodnie z plikiem z aliasami wyrażenie 'hay block' powinno zadziałać. Możliwe, że błąd wynika z jakiejś starszej wersji Skripta.
W tej sytuacji sugeruję zmianę wyrażenia na 'hay bale'.

Jeśli to nie pomoże, proponuję również zmianę 'block' w wywołaniu funkcji na 'clicked block' (choć jest mało prawdopodobnym, aby to był powód problemu).

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342345
Udostępnij na innych stronach

  • 0

Próbowałem z 'hay bale', ale nie działa. Tak samo próbowałem zamiast 'block' dać 'clicked block' i też nie działało.

Mam najnowszą wersję skripta i pare addonów.

Błędy: https://imgur.com/a/UqmRdt1

Edytowane przez M3w_Q
Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342357
Udostępnij na innych stronach

  • 0
2 godziny temu, M3w_Q napisał:

Próbowałem z 'hay bale', ale nie działa. Tak samo próbowałem zamiast 'block' dać 'clicked block' i też nie działało.

Mam najnowszą wersję skripta i pare addonów.

Błędy: https://imgur.com/a/UqmRdt1

Mówiłem Panu o miejscu wywołania funkcji, nie jej definicji. W linijce wywołującej funkcję upgradeGen miał Pan spróbować zamienić 'block' na 'clicked block'.

Podejrzewam jednak, że 'hay bale' jest tutaj problemem i nie rozumiem dlaczego. Jedyne co mi przychodzi do głowy to to, aby Pan spróbował wyświetlić na czacie nazwę snopu siana w Skript.

on right click:
	send "%clicked block%" to player

Niech Pan spróbuje kliknąć prawym przyciskiem myszy na blok snopu siana i zobaczy co zwraca Skript. Następnie Pan może spróbować wstawić wyświetloną nazwę na czacie do wywołania funkcji.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342364
Udostępnij na innych stronach

  • 0
W dniu 9.05.2024 o 18:48, Kormic napisał:

Mówiłem Panu o miejscu wywołania funkcji, nie jej definicji. W linijce wywołującej funkcję upgradeGen miał Pan spróbować zamienić 'block' na 'clicked block'.

Podejrzewam jednak, że 'hay bale' jest tutaj problemem i nie rozumiem dlaczego. Jedyne co mi przychodzi do głowy to to, aby Pan spróbował wyświetlić na czacie nazwę snopu siana w Skript.

on right click:
	send "%clicked block%" to player

Niech Pan spróbuje kliknąć prawym przyciskiem myszy na blok snopu siana i zobaczy co zwraca Skript. Następnie Pan może spróbować wstawić wyświetloną nazwę na czacie do wywołania funkcji.

can't recognise the type 'clicked block'. Naprawiłem to co powiedziałeś.

jest problem tylko z tym 'hay block'

GRIERIOR

Łączę posty.

Notatka dodana przez GRIERIOR

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342370
Udostępnij na innych stronach

  • 0
Godzinę temu, M3w_Q napisał:

can't recognise the type 'clicked block'. Naprawiłem to co powiedziałeś.

Jest Pan pewien, że Pan posiada najnowszą wersję Skripta?
Proszę dla upewnienia się podać wersję Skripta, listę dodatków do niego i wersję serwera.

Wyrażenie 'clicked block' zostało wprowadzone już w wersjach 2.1-2.2, więc nie powinno być z nim problemu.

Czy Pan użył listenera zdarzenia 'on right click', który Panu podałem? Co on Panu wyświetlił na czacie po kliknięciu prawym przyciskiem myszy na blok siana?
Jeśli Skript zgłasza błąd w owym listenerze (a dokładniej w linijce z wyrażeniem 'clicked block'), proszę zamienić je na 'target block' i spróbować znowu.

Pomocne będzie również jeśli Pan udostępni cały swój kod - zarówno kod funkcji jak i kod tych dwóch listenerów zdarzenia 'on right click' (jeden napisany przez Pana, drugi przeze mnie).

25 minut temu, M3w_Q napisał:

jest problem tylko z tym 'hay block'

Wiem, dlatego próbuję sprawdzić jakie nazewnictwo Skript stosuje na Pana serwerze.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342374
Udostępnij na innych stronach

  • 0
6 godzin temu, Kormic napisał:

Jest Pan pewien, że Pan posiada najnowszą wersję Skripta?
Proszę dla upewnienia się podać wersję Skripta, listę dodatków do niego i wersję serwera.

Wyrażenie 'clicked block' zostało wprowadzone już w wersjach 2.1-2.2, więc nie powinno być z nim problemu.

Czy Pan użył listenera zdarzenia 'on right click', który Panu podałem? Co on Panu wyświetlił na czacie po kliknięciu prawym przyciskiem myszy na blok siana?
Jeśli Skript zgłasza błąd w owym listenerze (a dokładniej w linijce z wyrażeniem 'clicked block'), proszę zamienić je na 'target block' i spróbować znowu.

Pomocne będzie również jeśli Pan udostępni cały swój kod - zarówno kod funkcji jak i kod tych dwóch listenerów zdarzenia 'on right click' (jeden napisany przez Pana, drugi przeze mnie).

Wiem, dlatego próbuję sprawdzić jakie nazewnictwo Skript stosuje na Pana serwerze.

Wersja skripta: 2.8.4

Dodatki: SkBee, skript-placeholders, skript-reflect

Zwraca mi 'hay bale'

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342383
Udostępnij na innych stronach

  • 0
3 godziny temu, M3w_Q napisał:

Wersja skripta: 2.8.4

Dodatki: SkBee, skript-placeholders, skript-reflect

Zwraca mi 'hay bale'

I rozumiem, że jak Pan wstawia 'hay bale' w wywołaniu funkcji to Skript zgłasza błąd, tak? Proszę pokazać kod jak Pan wstawia 'hay bale'.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342386
Udostępnij na innych stronach

  • 0

@M3w_Q

Samo wywołanie funkcji jest całkowicie zgodne z jej definicją, nie widzę u Pana jakichkolwiek błędów. Alias 'hay bale' jest zgodny z wykazem aliasów dostępnym tutaj.

Zastanawia mnie jednak sama definicja komendy, a mówiąc ściślej, jej ostatni parametr typu 'location'. Wcześniej Pan miał tam parametr typu 'block' i kod miał sens, jednakże teraz proszę zauważyć, że w kodzie funkcji dochodzi do porównań lokalizacji z blokiem (patrz linijka 2.) jak i pobierania lokalizacji z lokalizacji, jakkolwiek absurdalnie to nie brzmi (patrz linijki 9. i 10.).

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342398
Udostępnij na innych stronach

  • 0
W dniu 11.05.2024 o 20:24, Kormic napisał:

@M3w_Q

Samo wywołanie funkcji jest całkowicie zgodne z jej definicją, nie widzę u Pana jakichkolwiek błędów. Alias 'hay bale' jest zgodny z wykazem aliasów dostępnym tutaj.

Zastanawia mnie jednak sama definicja komendy, a mówiąc ściślej, jej ostatni parametr typu 'location'. Wcześniej Pan miał tam parametr typu 'block' i kod miał sens, jednakże teraz proszę zauważyć, że w kodzie funkcji dochodzi do porównań lokalizacji z blokiem (patrz linijka 2.) jak i pobierania lokalizacji z lokalizacji, jakkolwiek absurdalnie to nie brzmi (patrz linijki 9. i 10.).

Właśnie jest tylko problem z tym 'hay block' ciągle.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342453
Udostępnij na innych stronach

  • 0
2 godziny temu, M3w_Q napisał:

Właśnie jest tylko problem z tym 'hay block' ciągle.

Właśnie coś sobie uświadomiłem. Jeśli chcemy podać 'hay bale' jako wartość typu 'block', musimy podać jak ten blok jest ustawiony (to znaczy jaka jest jego orientacja, na przykład góra-dół). Oczywiście sprawdzanie tego nie ma sensu, bo ta informacja jest zbędna z naszego punktu widzenia. Tak więc niech Pan spróbuje zmienić typy parametrów 2 i 3 z 'block' na 'item type'.

Efekt końcowy powinien być taki jak poniżej.

# Nagłówek funkcji
function upgradeGen(p: player, upgen: item type, genup: item type, c: number, b: block):

# Przykładowe wywołanie
upgradeGen(player, hay block, coal block, 50, clicked block)

Rzecz jasna sam kod funkcji wymaga kilku poprawek, bo powyższa zmiana może nieco namieszać, ale myślę, że Pan da sobie radę. W razie problemów pomogę.

Pozdrawiam.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342455
Udostępnij na innych stronach

  • 0
23 godziny temu, Kormic napisał:

Właśnie coś sobie uświadomiłem. Jeśli chcemy podać 'hay bale' jako wartość typu 'block', musimy podać jak ten blok jest ustawiony (to znaczy jaka jest jego orientacja, na przykład góra-dół). Oczywiście sprawdzanie tego nie ma sensu, bo ta informacja jest zbędna z naszego punktu widzenia. Tak więc niech Pan spróbuje zmienić typy parametrów 2 i 3 z 'block' na 'item type'.

Efekt końcowy powinien być taki jak poniżej.

# Nagłówek funkcji
function upgradeGen(p: player, upgen: item type, genup: item type, c: number, b: block):

# Przykładowe wywołanie
upgradeGen(player, hay block, coal block, 50, clicked block)

Rzecz jasna sam kod funkcji wymaga kilku poprawek, bo powyższa zmiana może nieco namieszać, ale myślę, że Pan da sobie radę. W razie problemów pomogę.

Pozdrawiam.

wszystko dziala tylko nie zamienia bloku na wegiel i nie usowa ze zmiennej lokalizacji bloku i jej nie dodaje

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342474
Udostępnij na innych stronach

  • 0
48 minut temu, M3w_Q napisał:

wszystko dziala tylko nie zamienia bloku na wegiel i nie usowa ze zmiennej lokalizacji bloku i jej nie dodaje

Wszystko zależy od tego czy i jak Pan zmienił kod funkcji. Proszę go pokazać, sprawdzę w czym rzecz.

Odnośnik do komentarza
https://skript.pl/temat/57491-mam-problem-ze-skryptem-dokladniej-z-funkcja/#findComment-342475
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ę...