Skocz do zawartości
  • 0

Kompas


Backofficil1

Pytanie

6 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • -2

# Ustawienia początkowe
options:
    default-tracking-mode: "closest-player"
    current-tracking-mode: ""
    has-spawn-point: false

# Komenda do ustawienia punktu odrodzenia
command setspawn:
    trigger:
        set world spawn to player's location
        send "Twój spawn point został ustawiony!"
        set {_hasSpawnPoint} to true

# Komenda do wyłączenia śledzenia
command canceltrack:
    trigger:
        if {_currentTrackingMode} is not "":
            set {_currentTrackingMode} to ""
            send "Śledzenie anulowane!"
        else:
            send "Nie śledzisz nikogo!"

# Komenda do zmiany trybu śledzenia
command track [<text>] :
    trigger:
        set {_newTrackingMode} to lowercase(arg 1)
        if {_newTrackingMode} is not "closest" and {_newTrackingMode} is not "random" and {_newTrackingMode} is not "spawn":
            send "Dostępne tryby to: closest, random, spawn"
        else:
            set {_currentTrackingMode} to {_newTrackingMode}
            send "Tryb śledzenia ustawiony na %{_currentTrackingMode}%!"

# Sprawdzanie, czy gracz ma łóżko
on respawn:
    if player has a respawn anchor in their inventory:
        set {_hasSpawnPoint} to true

# Działanie kompasu
on right click with compass:
    if {_currentTrackingMode} is "closest-player":
        set {_closestPlayer} to null
        set {_closestDistance} to 999999
        loop all players:
            if loop-player is not player:
                set {_distance} to distance between player and loop-player
                if {_distance} < {_closestDistance}:
                    set {_closestDistance} to {_distance}
                    set {_closestPlayer} to loop-player
        if {_closestPlayer} is null:
            send "Nie znaleziono żadnego gracza w pobliżu!"
        else:
            send "Śledzenie %{_closestPlayer}%: x: %{_closestPlayer's x}%, y: %{_closestPlayer's y}%, z: %{_closestPlayer's z}%"
    else if {_currentTrackingMode} is "random":
        set {_randomX} to random range -1000 to 1000
        set {_randomZ} to random range -1000 to 1000
        set {_randomY} to highest block at {_randomX}, {_randomZ}
        send "Śledzenie losowe: x: %{_randomX}%, y: %{_randomY}%, z: %{_randomZ}%"
    else if {_currentTrackingMode} is "spawn":
        if {_hasSpawnPoint}:
            set {_spawnX} to x coordinate of world spawn
            set {_spawnZ} to z coordinate of world spawn
            set {_spawnY} to highest block at {_spawnX}, {_spawnZ}
            send "Śledzenie punktu odrodzenia: x: %{_spawnX}%, y: %{_spawnY}%, z: %{_spawnZ}%"
        else:
            set world spawn to server's default world spawn
            send "Nie posiadasz łóżka, śledzenie punktu odrodzenia ustawione na domyślny punkt odrodzenia serwera!"
 

ivall

Skrypty wygenerowane przez sztuczną inteligencję wymagają podania źródła wygenerowanego skryptu oraz zweryfikowania, czy skrypt działa poprawnie.

Notatka dodana przez ivall

Odnośnik do komentarza
https://skript.pl/temat/54935-kompas/#findComment-332378
Udostępnij na innych stronach

  • 0
options:
    default-tracking-mode: "closest-player"
    current-tracking-mode: ""
    has-spawn-point: false

Ciekawe options

command setspawn:

zapomniales chyba / :)

set {_hasSpawnPoint} to true

jaki to ma sens? ustawianie zmiennej czasowej na true skoro sie nie zapisuje po zakonczeniu komendy?

if {_currentTrackingMode} is not "":

ciekawe jak chcesz sprawdzic tą zmienną czasową skoro wcześniej jej nie zapisałeś

set {_newTrackingMode} to lowercase(arg 1)

ciekawe

set {_hasSpawnPoint} to true

i co ci da ustawienie tego do zmiennej czasowej?

set {_closestPlayer} to null

jest coś takiego jak null w ogole? Jezeli chcesz aby to byl tekst zapisujesz to w ""

else if {_currentTrackingMode} is "spawn":

A gdzie wczesniej niby ustawiles tą zmienną czasową?

 

 

Btw skrypty z chatu gpt ktore wymagaja cos wiecej niz napisanie "hello world" nie maja sensu

Dlaczego?

[Skript] Encountered 52 errors while reloading testowy.sk!

Dlatego

Odnośnik do komentarza
https://skript.pl/temat/54935-kompas/#findComment-332390
Udostępnij na innych stronach

  • 1
2 godziny temu, Fendi napisał:
options:
    default-tracking-mode: "closest-player"
    current-tracking-mode: ""
    has-spawn-point: false

Ciekawe options

command setspawn:

zapomniales chyba / :)

set {_hasSpawnPoint} to true

jaki to ma sens? ustawianie zmiennej czasowej na true skoro sie nie zapisuje po zakonczeniu komendy?

if {_currentTrackingMode} is not "":

ciekawe jak chcesz sprawdzic tą zmienną czasową skoro wcześniej jej nie zapisałeś

set {_newTrackingMode} to lowercase(arg 1)

ciekawe

set {_hasSpawnPoint} to true

i co ci da ustawienie tego do zmiennej czasowej?

set {_closestPlayer} to null

jest coś takiego jak null w ogole? Jezeli chcesz aby to byl tekst zapisujesz to w ""

else if {_currentTrackingMode} is "spawn":

A gdzie wczesniej niby ustawiles tą zmienną czasową?

 

 

Btw skrypty z chatu gpt ktore wymagaja cos wiecej niz napisanie "hello world" nie maja sensu

Dlaczego?

[Skript] Encountered 52 errors while reloading testowy.sk!

Dlatego

1. Ukośnik jest opcjonalny w strukturze komendy
2. null jest jedynie w skript-reflect, jeśli się nie mylę
3. skrypt @TheTruz2137 został wygenerowany automatycznie bez sprawdzenia i poprawienia błędów
4. Funkcja lowercase() nie jest wbudowana w Skript, ani w najpopularniejszych dodatkach

Odnośnik do komentarza
https://skript.pl/temat/54935-kompas/#findComment-332403
Udostępnij na innych stronach

  • 0
function petla(p: player):
	while {compassMode::%{_p}%} = "Najbliższy gracz":
		stop loop if {_p} isn't online
		set {_p}'s compass target to getClosestPlayer({_p})'s location
		wait 1 second

on rightclick with compass:
	if {compassMode::%player%} isn't set:
		set {compassMode::%player%} to "Najbliższy gracz"
		petla(player)
	else if {compassMode::%player%} = "Najbliższy gracz":
		set {compassMode::%player%} to "Do łóżka"
		if player.getBedSpawnLocation() != null:
			set player's compass target to player's bed
		else:
			set player's compass target to spawn
	else:
		delete {compassMode::%player%}
		set player's compass target to spawn
	broadcast {compassMode::%player%}
	broadcast "Reset kompasu" if {compassMode::%player%} isn't set
	
# https://bot.skunity.com/snippets/view/242941442069102592
function getClosestPlayer(p: player) :: player:
	loop all players in world of {_p}:
		if loop-player != {_p}:
			set {_diff} to distance between {_p} and loop-player
			if {_c} is set:
				if {_diff} < distance between {_p} and {_c}:
					set {_c} to loop-player
			else:
				set {_c} to loop-player
	return {_c}

potrzebujesz pluginu skript-reflect i jeśli używasz Skript 2.7.0 lub powyżej musisz pobrać albo: AddonPatcherAgent dla wersji +1.19, lub AddonPatcherReplacer dla starszych wersji

Odnośnik do komentarza
https://skript.pl/temat/54935-kompas/#findComment-332405
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ę...