Skocz do zawartości
  • 0

wait nie działa


MineRP

Pytanie

on any movement:
    event-entity is player:
        if event-entity is sprinting:
            add 1 to {stamina.%player%}
            wait 2 seconds

Dlaczego wait 2 seconds wywala błąd? Wg. skripta rozchodzi się o to, że zamiast 3 tabulatorów powinno być 12 spacji, ale to sprawdziłem i z 12 spacjami też nie działa. Co prawda się odpala, ale nie czeka tych 2 sekund.       

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
Teraz, MineRP napisał:

Dlaczego wait 2 seconds wywala błąd? Wg. skripta rozchodzi się o to, że zamiast 3 tabulatorów powinno być 12 spacji, ale to sprawdziłem i z 12 spacjami też nie działa. Co prawda się odpala, ale nie czeka tych 2 sekund.

1. Nie powinieneś używać delayów w evencie tak często aktywującym się jak 'on any move'. Przez to każdy gracz tworzy kilkaset (jak nie kilka tysięcy) delayów na sekundę. Serwer z pewnością czegoś takiego nie polubi.

2. Używaj jedynie tabulacji w swoim skrypcie, dzięki temu nie będziesz musiał się martwić o takie błahostki.

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273760
Udostępnij na innych stronach

  • 0
1 minutę temu, Kormic napisał:

1. Nie powinieneś używać delayów w evencie tak często aktywującym się jak 'on any move'. Przez to każdy gracz tworzy kilkaset (jak nie kilka tysięcy) delayów na sekundę. Serwer z pewnością czegoś takiego nie polubi.

2. Używaj jedynie tabulacji w swoim skrypcie, dzięki temu nie będziesz musiał się martwić o takie błahostki.

A to jak mogę inaczej zrobić, żeby co 2 sekundy sprintowania zwiększała się zmienna o 1?

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273761
Udostępnij na innych stronach

  • 0
Teraz, MineRP napisał:

A to jak mogę inaczej zrobić, żeby co 2 sekundy sprintowania zwiększała się zmienna o 1?

W periodicalu 'every 2 seconds', w którym zapętlisz wszystkich graczy.

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273762
Udostępnij na innych stronach

  • 0
Godzinę temu, Kormic napisał:

W periodicalu 'every 2 seconds', w którym zapętlisz wszystkich graczy.

Ej, a jak nadać efekt, bo wziąłem z tego poradnika: 

 a nie działa, tak wygląda linijka kodu: apply slowness 1 to %player% for 10 seconds

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273774
Udostępnij na innych stronach

  • 0
32 minuty temu, Helios1993 napisał:

on sprint toggle:
	while player is sprinting:
		wait 2 second
		add 1 to {stamina::%player%}

Wydajniejsza wersja.

A jest coś pokroju on walk toggle? Nie mogę znaleźć w internecie, a teraz bym chciał zrobić, że jak gracz nie sprintuje to czeka 2 sekundy i odejmuje 1 od stamina.

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273782
Udostępnij na innych stronach

  • 0
Teraz, MineRP napisał:

A jest coś pokroju on walk toggle? Nie mogę znaleźć w internecie, a teraz bym chciał zrobić, że jak gracz nie sprintuje to czeka 2 sekundy i odejmuje 1 od stamina.

Najlepiej zrobić to za pomocą wcześniej wspomnianego periodicala.

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273783
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Najlepiej zrobić to za pomocą wcześniej wspomnianego periodicala.

every 2 seconds in "world":
    loop all players:
        if loop-player is sprinting:
            add 1 to {stamina.%loop-player%}
            if {stamina.%loop-player%} is equal to {kondycja.%loop-player%}:
                apply slowness 1 to loop-player for 10 seconds
        if loop-player is walking:
            remove 1 from {stamina.%loop-player%}

Mam coś takiego, a wywala mi "theres no loop that matches 'loop-player is walking itd', wiesz czemu?

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273784
Udostępnij na innych stronach

  • 0
Teraz, MineRP napisał:

Mam coś takiego, a wywala mi "theres no loop that matches 'loop-player is walking itd', wiesz czemu?

Problem w tym, że nie ma nawet takiego warunku jak 'is walking'. Po prostu utwórz do powyższego warunku blok 'else'.

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273785
Udostępnij na innych stronach

  • 0
6 minut temu, Kormic napisał:

Problem w tym, że nie ma nawet takiego warunku jak 'is walking'. Po prostu utwórz do powyższego warunku blok 'else'.

 A da się zrobić zmienną, która będzie mogła mieć minimalną wartość 0 i maksymalną 100? Tzn. na pewno się da, ale jak?

Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273786
Udostępnij na innych stronach

  • 0
Teraz, MineRP napisał:

 A da się zrobić zmienną, która będzie mogła mieć minimalną wartość 0 i maksymalną 100? Tzn. na pewno się da, ale jak?

Po prostu musisz przy zmianie jej wartości sprawdzać czy po zmianie będzie poza danym zakresem.

Zrobisz to poprzez dwa, góra trzy warunki.

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/43711-wait-nie-dzia%C5%82a/#findComment-273787
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ę...