Skocz do zawartości
  • 0

Liczenie czasu


maka12

Pytanie

Witam

Mam problem z tym skryptem:  

on walk on diamond_block:
	send "Koniec"
	set {start.%loop-player%} to false

on walk on gold_block:
	send "&4Rozpoczynanie liczenia.."
	set {start.%loop-player%} to true
	

on every 1 second:
	loop all players:
		{start.%loop-player%} = true:
			set {czas.%loop-player%} to {czas.%loop-player%} + 1

Chce zrobić by po wejściu na blok złota rozpoczęło się liczenie, a na bloku diamentu zakończyło. Jednak pojawia mi się błąd : "There's no loop that matches..." Chciałbym dodatkowo się jeszcze spytać jak zrobić by czas zapisywał się na pasku exp.

Odnośnik do komentarza
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
on walk on gold_block:
	send "&4Rozpoczynanie liczenia.."
    Set player's level to 0
    While block under player is not diamond block:
        Set player's level to (player's level)+1
        Wait 1 second 
    Send "&7Zakonczono odliczanie! Wynik: &6%player's level%" 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, xAxee napisał:

on walk on gold_block:
	send "&4Rozpoczynanie liczenia.."
    Set player's level to 0
    While block under player is not diamond block:
        Set player's level to (player's level)+1
        Wait 1 second 
    Send "&7Zakonczono odliczanie! Wynik: &6%player's level%" 

 

Da się zrobić tak żeby to było bardziej dokładne niż 1 sekunda?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
on walk on gold block:
	send "&4Rozpoczynanie liczenia.."
	Set player's level to 0
	set player's level progress to 0
	While block under player is not diamond block:
		wait 1 tick
		add 0.05 to player's level progress
	set {_prog} to "%player's level progress%"
	replace "0." with "" in {_prog}
	Send "&7Zakonczono odliczanie! Wynik: &6%player's level%&6.%{_prog}% &6sekund" 
	set player's level to 0
	set player's level progress to 0

 

Edytowane przez Shooterowy
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Shooterowy napisał:

on walk on gold block:
	send "&4Rozpoczynanie liczenia.."
	Set player's level to 0
	set player's level progress to 0
	While block under player is not diamond block:
		wait 1 tick
		add 0.05 to player's level progress
	set {_prog} to "%player's level progress%"
	replace "0." with "" in {_prog}
	Send "&7Zakonczono odliczanie! Wynik: &6%player's level%.%{_prog}% sekund" 
	set player's level to 0
	set player's level progress to 0

 

Świetnie działa tylko problem jest taki że jak się drugi raz wejdzie na blok złota to liczy dużo szybciej. Wolałbym żeby resetowało pętle

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
on walk on gold block:
	if {started::%player%} is not set:
		set {started::%player%} to now
		send "&4Rozpoczynanie liczenia.."
		Set player's level to 0
		set player's level progress to 0
		While {started::%player%} is set:
			wait 1 tick
			add 0.05 to player's level progress
on walk on diamond block:
	if {started::%player%} is set:
		Send "&7Zakonczono odliczanie! Wynik: &6%difference between {started::%player%} and now%&7."
		clear {started::%player%}
		set player's level to 0
		set player's level progress to 0 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 minut temu, Shooterowy napisał:

on walk on gold block:
	if {started::%player%} is not set:
		set {started::%player%} to now
		send "&4Rozpoczynanie liczenia.."
		Set player's level to 0
		set player's level progress to 0
		While {started::%player%} is set:
			wait 1 tick
			add 0.05 to player's level progress
on walk on diamond block:
	if {started::%player%} is set:
		Send "&7Zakonczono odliczanie! Wynik: &6%difference between {started::%player%} and now%&7."
		clear {started::%player%}
		set player's level to 0
		set player's level progress to 0 

 

Źle mnie zrozumiałeś chodziło mi o to żeby jak ponownie się wejdzie na gold block to żeby zaczęło liczyć od nowa. W poprzednim skrypcie był taki błąd że jak się ponownie wejdzie to liczy bardzo szybko.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 minut temu, maka12 napisał:

Źle mnie zrozumiałeś chodziło mi o to żeby jak ponownie się wejdzie na gold block to żeby zaczęło liczyć od nowa. W poprzednim skrypcie był taki błąd że jak się ponownie wejdzie to liczy bardzo szybko.

on walk on gold block:
	send "&4Rozpoczynanie liczenia.."
	Set player's level to 0
	set player's level progress to 0
	While block under player is not diamond block:
        If block under player is Gold block:
            Stop 
		wait 1 tick
		add 0.05 to player's level progress
	set {_prog} to "%player's level progress%"
	replace "0." with "" in {_prog}
	Send "&7Zakonczono odliczanie! Wynik: &6%player's level%&6.%{_prog}% &6sekund" 
	set player's level to 0
	set player's level progress to 0

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
5 godzin temu, xAxee napisał:

on walk on gold block:
	send "&4Rozpoczynanie liczenia.."
	Set player's level to 0
	set player's level progress to 0
	While block under player is not diamond block:
        If block under player is Gold block:
            Stop 
		wait 1 tick
		add 0.05 to player's level progress
	set {_prog} to "%player's level progress%"
	replace "0." with "" in {_prog}
	Send "&7Zakonczono odliczanie! Wynik: &6%player's level%&6.%{_prog}% &6sekund" 
	set player's level to 0
	set player's level progress to 0

 

Źle wytabowane 

 

5 godzin temu, Shooterowy napisał:

on walk on gold block:
	if {started::%player%} is set:
		set {_reset} to true
	else:
		send "&4Rozpoczynanie liczenia.."
	set {started::%player%} to now
	Set player's level to 0
	set player's level progress to 0
	While {started::%player%} is set:
		if {_reset} is set:
			exit loop
		wait 1 tick
		add 0.05 to player's level progress
on walk on diamond block:
	if {started::%player%} is set:
		Send "&7Zakonczono odliczanie! Wynik: &6%difference between {started::%player%} and now%&7."
		clear {started::%player%}
		wait 1 tick
		set player's level to 0
		set player's level progress to 0

 

działa :)

 

Można zamykać :)

HeezQ

Łączę triple-post

Notatka dodana przez HeezQ

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
on walk on gold block:
	if {started::%player%} is set:
		set {_reset} to true
	else:
		send "&4Rozpoczynanie liczenia.."
	set {started::%player%} to now
	Set player's level to 0
	set player's level progress to 0
	While {started::%player%} is set:
		if {_reset} is set:
			exit loop
		wait 1 tick
		add 0.05 to player's level progress
on walk on diamond block:
	if {started::%player%} is set:
		Send "&7Zakonczono odliczanie! Wynik: &6%difference between {started::%player%} and now%&7."
		clear {started::%player%}
		wait 1 tick
		set player's level to 0
		set player's level progress to 0

 

Edytowane przez Shooterowy
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ę...