Skocz do zawartości
  • 0

syzyf symulator


whatmean

Pytanie

zrobilem prawie całego tylko są 2 błedy 1 nie moge ustawic wiekszego walkspeeda niz 0.5 i jak moge zrobic zeby poprostu szybciej poruszał sie ten armorstand albo inny sposob bo gdy mam speeda np 10 to ten armorstand wchodzi w gracza lub za gracza da sie jakos szybciej to zrobic zeby zawsze byl przed graczem lub zrobic block entity ? dało by to cos czy nie???

PROSZE SZYBKO!!

Odnośnik do komentarza
https://skript.pl/temat/57871-syzyf-symulator/
Udostępnij na innych stronach

3 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
2 godziny temu, whatmean napisał:

zrobilem prawie całego tylko są 2 błedy 1 nie moge ustawic wiekszego walkspeeda niz 0.5 i jak moge zrobic zeby poprostu szybciej poruszał sie ten armorstand albo inny sposob bo gdy mam speeda np 10 to ten armorstand wchodzi w gracza lub za gracza da sie jakos szybciej to zrobic zeby zawsze byl przed graczem lub zrobic block entity ? dało by to cos czy nie???

PROSZE SZYBKO!!

Za mało informacji. Proszę opisać zwięźle czym jest ten "syzyf symulator". Po nazwie mogę się domyślić, że jest to nawiązanie do mitologii greckiej, ale mimo to chciałbym wiedzieć w jaki sposób ma działać skrypt.

Co do ustawiania szybkości poruszania się, muszę zobaczyć fragment kodu. Proszę pamiętać, że te wyrażenie działa tylko na graczy.

Jeżeli chodzi o stojak na zbroję, też muszę ujrzeć fragment kodu, bo inaczej nie będę w stanie Panu pomóc. Mogę się jedynie domyślać, że stojak jest teleportowany ze zbyt małą częstotliwością lub też gracz porusza się ze zbyt dużą prędkością.
Nie ma co się martwić teleportowaniem stojaka na większe odległości, ponieważ Minecraft w takich sytuacjach dokonuje swoistej interpolacji i sprawia wrażenie szybkiego ruchu z punktu A do punktu B (nie ma efektu nagłego "przeskoku").

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57871-syzyf-symulator/#findComment-343922
Udostępnij na innych stronach

  • 0

chodzi mi oto zeby kamien szybciej sie aktualizował bo gdy armorstand tka jak napisales odsweiza sie co 0 tickow tak czy siak podczas szybszego poruszania sie wchodzi w gracza
a z movement speed chodzi o atrybut gracza /attribute WhatMean minecraft:generic.movement_speed get gdy wpisze tak czy siak gdy ustawie wieksza wartosc niz 0.5 nie dziala 




oto kod pod przepychanie kamienia:
 

            # Aktualizacja położenia ArmorStand
            set {_playerLocation} to location 1.2 block infront of loop-player
            teleport {_armorStand} to {_playerLocation}
           
            # Aktualizacja przepchniętej odległości
            set {_startLocation} to {syzyf::%{_playerUUID}%::startLocation}
            set {_currentLocation} to location of {_armorStand}
            set {_distance} to distance between {_startLocation} and {_currentLocation}
            set {syzyf::%{_playerUUID}%::distance} to {_distance}
 
            # Odejmowanie mocy w zależności od typu kamienia
            if helmet of {_armorStand} is stone named "stone":
                subtract 1 from {syzyf::%{_playerUUID}%::power}
            else if helmet of {_armorStand} is andesite named "andesite":
                subtract 2 from {syzyf::%{_playerUUID}%::power}
            else if helmet of {_armorStand} is diorite named "diorite":
                subtract 3 from {syzyf::%{_playerUUID}%::power}
            else if helmet of {_armorStand} is granite named "granite":
                subtract 4 from {syzyf::%{_playerUUID}%::power}
            else:
                send "&cNieprawidłowy typ kamienia!" to loop-player



a to do movement speed


 

# Aktualizacja paska akcji co 0.1 sekundy
every 0.1 seconds:
    loop all players:
        if {syzyf::%uuid of loop-player%::power} is not set:
            set {syzyf::%uuid of loop-player%::power} to 0
       
        # Pobranie aktualnej mocy gracza
        set {_power} to {syzyf::%uuid of loop-player%::power}
       
        # Maksymalna wartość walkSpeed w Minecraft to 1, więc przeliczamy proporcjonalnie
        if {_power} > 100000:
            set {_power} to 100000
       
        set {_walkSpeed} to {_power} / 100000
       
        # Ustawienie szybkości chodzenia gracza
        set loop-player's walk speed to {_walkSpeed}
       
        # Wyświetlanie mocy i prędkości chodzenia na pasku akcji
        send action bar "&7Moc: &c%{syzyf::%uuid of loop-player%::power}% &8| &7Prędkość chodzenia: &b%{_walkSpeed}%" to loop-player
Odnośnik do komentarza
https://skript.pl/temat/57871-syzyf-symulator/#findComment-343932
Udostępnij na innych stronach

  • 0
28 minut temu, whatmean napisał:

chodzi mi oto zeby kamien szybciej sie aktualizował bo gdy armorstand tka jak napisales odsweiza sie co 0 tickow tak czy siak podczas szybszego poruszania sie wchodzi w gracza

Patrząc na kod i analizując problem, łatwo zauważyć, że przyczyną jest te stałe przesunięcie o 1.2 bloku. Warto to powiązać jakoś z prędkością gracza tak, aby zachodziła tu propocjonalność - im większa prędkość chodu gracza, tym większe jest przesunięcie. Domyślna wartość 'walk speed' gracza to 0.2, a maksymalna to 1. Należy oczywiście jeszcze brać pod uwagę efekt mikstury szybkości i ewentualnie wektor prędkości (preferuję nazywać go wektorem prędkości bezwładnej (na przykład spadanie), bo nazwa może być myląca).

28 minut temu, whatmean napisał:

a z movement speed chodzi o atrybut gracza /attribute WhatMean minecraft:generic.movement_speed get gdy wpisze tak czy siak gdy ustawie wieksza wartosc niz 0.5 nie dziala 

Ale przecież skrypt nie modyfikuje atrybutu gracza. Skript wewnętrznie korzysta z metody Player#setWalkSpeed, co można sprawdzić w jego kodzie źródłowym. Jestem niemalże pewien, że ona nie wpływa na atrybut prędkości gracza.

Tak długo jak na action barze pokazuje się wartość prędkości gracza z przedziału [-1; 1] (obustronnie domknięty, stąd nawiasy kwadratowe), wszystko jest w porządku. Wartości ujemne też są prawidłowe, oznaczają one odwrócenie kierunku poruszania się.

Pozdrawiam.

Odnośnik do komentarza
https://skript.pl/temat/57871-syzyf-symulator/#findComment-343934
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

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