Skocz do zawartości
  • 0

dodatki dla gracza


ignanmagus

Pytanie

Witam.

Przychodzę z takim pytaniem. Jak zrobić mniej więcej coś takiego:

Jest sobie serwer, każdy ma np. wykupioną rangę VIP i w skrypcie napisany jest sklep z dodatkami dla VIP. I ja potrzebuję wiedzieć czy da się zrobić tak, że każdy vip z osobna może włączyć sobie ten dodatek i go wyłączyć. Wystarczy mi sama linijka albo 2/3 tego jak to zrobić, resztę dorobię sobie sam.

Edytowane przez maxcom1Games
Nieaktywny

Edytowano - Lekkie poprawienie zrozumiałości

Odnośnik do komentarza
https://skript.pl/temat/34010-dodatki-dla-gracza/
Udostępnij na innych stronach

4 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Da się używając zmiennych. Na przykład zmienna typu boolean (przechowująca true/false) {latanie::status::%player%}
Przykładowy kod:

command /latanie [<offlineplayer>] [<text>]:
	permission: w.strone.slonca
	trigger:
		if offline player arg is online:
  			if arg 2 is "on" or "off":
				set {latanie::status::%arg 1%} to false if arg 2 is "off"
				set {latanie::status::%arg 1%} to true if arg 2 is "on"
command /ktolata:
	trigger:
  		send "Osoby co sobie mogą latać jak ptaszki:"
  		loop {latanie::status::*}:
  			send "%loop-index%" to sender if {latanie::status::%loop-index%} is true

Jak widzisz każdy gracz może mieć inną wartość tej zmiennaj, stąd ktoś może mieć włączone latanie, a ktoś wyłączone

Edytowane przez Turas
Odnośnik do komentarza
https://skript.pl/temat/34010-dodatki-dla-gracza/#findComment-218990
Udostępnij na innych stronach

  • 0
44 minuty temu, Turas napisał:

Da się używając zmiennych. Na przykład zmienna typu boolean (przechowująca true/false) {latanie::status::%player%}
Przykładowy kod:


command /latanie [<offlineplayer>] [<text>]:
	permission: w.strone.slonca
	trigger:
		if offline player arg is online:
  			if arg 2 is "on" or "off":
				set {latanie::status::%arg 1%} to false if arg 2 is "off"
				set {latanie::status::%arg 1%} to true if arg 2 is "on"
command /ktolata:
	trigger:
  		send "Osoby co sobie mogą latać jak ptaszki:"
  		loop {latanie::status::*}:
  			send "%loop-index%" to sender if {latanie::status::%loop-index%} is true

Jak widzisz każdy gracz może mieć inną wartość tej zmiennaj, stąd ktoś może mieć włączone latanie, a ktoś wyłączone

Ja mam napisane coś takiego i właśnie nie wiem czy tak może być. Czy to jest dobrze.

variables:
    {particle:snowball:status} = false
    {particle:arrow:status} = false
    
command /particles [<text>]:
    trigger:
        if arg 1 is not set:
            send "Particle : snowball | arrow"
        if arg 1 is "snowball":
            if {particle:snowball:status} is false:
                set {particle:snowball:status} to true
                if player has permission "snowball":
                    execute console command "execute @e[type=snowball] ~ ~ ~ /particle fallingdust ~0.1 ~0.1 ~0.1 0.1 0.1 0.1 0.0000000000001 10 force @a 0179"
            if {particle:snowball:status} is true:
                set {particle:snowball:status} to false
        if arg 1 is "arrow":
            if {particle:arrow:status} is false:
                set {particle:arrow:status} to true
                if player has permission "arrow":
                    execute console command "execute @e[type=arrow] ~ ~ ~ /particle fallingdust ~0.1 ~0.1 ~0.1 0.1 0.1 0.1 0.0000000000001 15 force @a 0110"
            if {particle:arrow:status} is true:
                set {particle:arrow:status} to false
 

Edytowane przez ignanmagus
Odnośnik do komentarza
https://skript.pl/temat/34010-dodatki-dla-gracza/#findComment-219006
Udostępnij na innych stronach

  • 0

@ignanmagus

Pierwsza sprawa: słowa w zmiennych oddzielamy :: (dwoma dwukropkami), nie kropką, dwukropkiem, spacją.

Druga: masz ustawione zmienne nie zawierające nazwy gracza, co za tym idzie dla każdego gracza przypisana jest taka sama wartość funkcji. Użyj {funkcja::%player%}.


Trzy. Egzekwowanie komned w skripcie jest dość osobliwe i kojarzy się z fuszerką. Zamiast tego użyj dedykowanych efektów z jakiegoś dodatku. Coś jak:
 

Spoiler

command /trails:
	aliases: /trail
	trigger:
		if player has permission "cmd.trails":
			wait 2 tick
			open chest with 1 rows named "&8&lCustom Trails" to player
			format slot 0 of player with golden apple named "&c&lHeart Trail" with lore "&eAdds a heart trail to you" to close then run [make player execute command "/hearttrail"]
			format slot 1 of player with redstone named "&4&lRedstone Trail" with lore "&eAdds a redstone trail to you" to close then run [make player execute command "/redstonetrail"]
			format slot 2 of player with flint and steel named "&c&lFlame Trail" with lore "&eAdds a flame trail to you" to close then run [make player execute command "/flametrail"]
			format slot 8 of player with white wool named "&f&lDisable Trails" with lore "&eRemoves all trails from you" to close then run [make player execute command "/notrail"]
			format slot 3 of player with ender pearl named "&d&lPortal Trail" with lore "&eAdds a portal trail to you" to close then run [make player execute command "/portaltrail"]
			format slot 4 of player with snowball named "&f&lCloud Trail" with lore "&eAdds a cloud trail to you" to close then run [make player execute command "/cloudtrail"]
		if player doesn't have permission "cmd.trails":
			message "&e(!) &cYou don't have the permission to use this command!"
			
command /notrail:
	permission: cmd.trails
	trigger:
		delete {redstone.%player%}
		delete {heart.%player%}
		delete {flame.%player%}
		delete {portal.%player%}
		delete {cloud.%player%}
		send "&e(!) &fAll Trails Deactivated" to player
		
#Heart
			
command /hearttrail:
	permission: cmd.trails
	trigger:
		delete {redstone.%player%}
		delete {flame.%player%}
		delete {portal.%player%}
		delete {cloud.%player%}
		set {heart.%player%} to 1
		send "&e(!) &cHeart Trail Activated" to player
			
on any movement:
	if {heart.%player%} is 1:
		show 2 "heart" particles at location of player for player offset by 0.2, 0.4, 0.2
		
#Redstone
		
command /redstonetrail:
	permission: cmd.trails
	trigger:
		delete {heart.%player%}
		delete {flame.%player%}
		delete {portal.%player%}
		delete {cloud.%player%}
		set {redstone.%player%} to 1
		send "&e(!) &4Redstone Trail Activated" to player
			
on any movement:
	if {redstone.%player%} is 1:
		show 5 "redstone" particles at location of player for player offset by 0.2, 0.7, 0.2
		
#Flame
		
command /flametrail:
	permission: cmd.trails
	trigger:
		delete {redstone.%player%}
		delete {heart.%player%}
		delete {portal.%player%}
		delete {cloud.%player%}
		set {flame.%player%} to 1
		send "&e(!) &cFlame Trail Activated" to player
			
on any movement:
	if {flame.%player%} is 1:
		show 5 "flame" particles at location of player for player offset by 0.2, 0.7, 0.2
		
#Portal
		
command /portaltrail:
	permission: cmd.trails
	trigger:
		delete {redstone.%player%}
		delete {heart.%player%}
		delete {flame.%player%}
		delete {cloud.%player%}
		set {portal.%player%} to 1
		send "&e(!) &dPortal Trail Activated" to player
			
on any movement:
	if {portal.%player%} is 1:
		show 25 "portal" particles at location of player for player offset by 0.2, 0.7, 0.2
		
#Cloud
		
command /cloudtrail:
	permission: cmd.trails
	trigger:
		delete {redstone.%player%}
		delete {heart.%player%}
		delete {flame.%player%}
		delete {portal.%player%}
		set {cloud.%player%} to 1
		send "&e(!) &fCloud Trail Activated" to player
			
on any movement:
	if {cloud.%player%} is 1:
		show 5 "cloud" particles at location of player for player offset by 0.2, 0.7, 0.2

 

Znalazłem na szybko w internecie, żeby mniej więcej cię naprowadzić.

Edytowane przez Turas
Odnośnik do komentarza
https://skript.pl/temat/34010-dodatki-dla-gracza/#findComment-219008
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ę...