Skocz do zawartości
  • 0

Particlesy


gnomq

Pytanie

Rekomendowane odpowiedzi

  • 0
2 minuty temu, gnomq2000 napisał:

Jeśli gracz dostanie uprawnienie 'efekt.1', to automatycznie za nim będą się pojawiać efekty serduszek, a po zabraniu uprawnienia gracz straci ten dodatek

W Skript'cie nie ma możliwości przechwycenia eventu otrzymania permisji. Są dwa sposoby na osiągnięcie tego:

1. Można to zrobić za pomocą eventu 'on command'.

2. Istnieje również taka możliwość, aby sprawdzać co sekundę czy jakiś gracz nie posiada takiej permisji.

Moja propozycja:

on join:
	while player is online:
		if player has permission "efekt.1":
			if {efekt1::listaGraczy::*} doesn't contain player:
				add player to {efekt1::listaGraczy::*}
		wait 1 second
			
every 1 second:
	loop {efekt1::listaGraczy::*}:
		if loop-value is not online:
			continue
		loop 20 times:
			play love hearts on (loop-value-1 parsed as player)
			wait 1 tick

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

W Skript'cie nie ma możliwości przechwycenia eventu otrzymania permisji. Są dwa sposoby na osiągnięcie tego:

1. Można to zrobić za pomocą eventu 'on command'.

2. Istnieje również taka możliwość, aby sprawdzać co sekundę czy jakiś gracz nie posiada takiej permisji.

Moja propozycja:


on join:
	while player is online:
		if player has permission "efekt.1":
			if {efekt1::listaGraczy::*} doesn't contain player:
				add player to {efekt1::listaGraczy::*}
		wait 1 second
			
every 1 second:
	loop {efekt1::listaGraczy::*}:
		if loop-value is not online:
			continue
		loop 20 times:
			play love hearts on (loop-value-1 parsed as player)
			wait 1 tick

 

a może jeszcze inaczej. po otrzymaniu tej permisji gracz ma dostęp do komendy '/serca', którą może przełączać ten dodatek

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
6 minut temu, gnomq2000 napisał:

a może jeszcze inaczej. po otrzymaniu tej permisji gracz ma dostęp do komendy '/serca', którą może przełączać ten dodatek

To znacznie ułatwia sprawę. W takim wypadku to będzie coś takiego:

on command "/serca":
	if {efekt1::listaGraczy::*} doesn't contain player:
		add player to {efekt1::listaGraczy::*}
	else:
		remove player from {efekt1::listaGraczy::*}
	
every 1 second:
	loop {efekt1::listaGraczy::*}:
		if loop-value is not online:
			continue
		loop 20 times:
			play love hearts on (loop-value-1 parsed as player)
			wait 1 tick

Musisz sobie na początku 'on command "/serca":' dodać warunek sprawdzający czy gracz ma dostęp do tej komendy, bo jeżeli nie będzie miał to i tak otrzyma efekt serduszek.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

To znacznie ułatwia sprawę. W takim wypadku to będzie coś takiego:


on command "/serca":
	if {efekt1::listaGraczy::*} doesn't contain player:
		add player to {efekt1::listaGraczy::*}
	else:
		remove player from {efekt1::listaGraczy::*}
	
every 1 second:
	loop {efekt1::listaGraczy::*}:
		if loop-value is not online:
			continue
		loop 20 times:
			play love hearts on (loop-value-1 parsed as player)
			wait 1 tick

Musisz sobie na początku 'on command "/serca":' dodać warunek sprawdzający czy gracz ma dostęp do tej komendy, bo jeżeli nie będzie miał to i tak otrzyma efekt serduszek.

'nie ma takiej komendy' :thonk: 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, gnomq2000 napisał:

a, nie mam takiej komendy 

W takim razie:

command /serca:
	executable by: players
	trigger:
		if player doesn't have permission "efekt.1":
			send "&4Nie posiadasz dostepu do tej komendy." to player
			stop
		if {efekt1::listaGraczy::*} doesn't contain player:
			add player to {efekt1::listaGraczy::*}
			send "&aWlaczyles efekt serduszek!" to player
			stop
		else:
			remove player from {efekt1::listaGraczy::*}
			send "&cWylaczyles efekt serduszek!" to player
	
every 1 second:
	loop {efekt1::listaGraczy::*}:
		if loop-value is not online:
			continue
		loop 20 times:
			play love hearts on (loop-value-1 parsed as player)
			wait 1 tick

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

W takim razie:


command /serca:
	executable by: players
	trigger:
		if player doesn't have permission "efekt.1":
			send "&4Nie posiadasz dostepu do tej komendy." to player
			stop
		if {efekt1::listaGraczy::*} doesn't contain player:
			add player to {efekt1::listaGraczy::*}
			send "&aWlaczyles efekt serduszek!" to player
			stop
		else:
			remove player from {efekt1::listaGraczy::*}
			send "&cWylaczyles efekt serduszek!" to player
	
every 1 second:
	loop {efekt1::listaGraczy::*}:
		if loop-value is not online:
			continue
		loop 20 times:
			play love hearts on (loop-value-1 parsed as player)
			wait 1 tick

 

komenda działa, ale nie ma efektu

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
1 minutę temu, gnomq2000 napisał:

komenda działa, ale nie ma efektu

Pamiętasz jak ostatnio był problem z tym, że jedynie niektóre efekty działały? Możliwe, że i w tym przypadku jest podobnie. Zapewne pamiętasz który efekt działał, więc spróbuj.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Pamiętasz jak ostatnio był problem z tym, że jedynie niektóre efekty działały? Możliwe, że i w tym przypadku jest podobnie. Zapewne pamiętasz który efekt działał, więc spróbuj.

tak pamiętam i próbowałem i niestety nie działa :angrythonk:

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
15 minut temu, gnomq2000 napisał:

wciąż nic 😠

Dobra, przetestowałem co nieco i doszedłem do wniosku, że efekt puszczania particles nie działa poprawnie. Zaraz wrócę z poprawionym skryptem i nie ukrywam, że mogą być potrzebne jakieś dodatki.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /serca:
	permission: efekt.1
	permission message: nie możesz
	executable by: players
	trigger:
		if {efekt1::status::%name of player%} is not true
			set {efekt1::status::%name of player%} to true
			send "&aWlaczyles efekt serduszek!" to player
		else:
			delete {efekt1::status::%name of player%}
			send "&cWylaczyles efekt serduszek!" to player

function playHearts():
	while true:
		loop all players:
			play wolf hearts on loop-player where [{efekt1::status::%name of loop-player%}]
		wait 10 tick

on load:
	$ thread
	playHearts()

zakładam że SkQuery posiadasz więc próbuj coś takiego ^

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
52 minuty temu, gnomq2000 napisał:

wciąż nic 😠

No dobra, naprawiłem jak mogłem, lecz nawet parse'owanie na playera nie pomogło, więc działa tylko z niektórymi efektami.

command /serca:
	executable by: players
	trigger:
		if player doesn't have permission "efekt.1":
			send "&4Nie posiadasz dostepu do tej komendy." to player
			stop
		if {efekt1::listaGraczy::*} doesn't contain player:
			add player to {efekt1::listaGraczy::*}
			send "&aWlaczyles efekt serduszek!" to player
			stop
		else:
			remove player from {efekt1::listaGraczy::*}
			send "&cWylaczyles efekt serduszek!" to player
	
every 10 ticks:
	loop {efekt1::listaGraczy::*}:
		set {_loc} to location of loop-value
		loop 20 times:
			play crit at {_loc}
			wait 1 tick

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
8 minut temu, PanMaruda napisał:

command /serca:
	permission: efekt.1
	permission message: nie możesz
	executable by: players
	trigger:
		if {efekt1::status::%name of player%} is not true
			set {efekt1::status::%name of player%} to true
			send "&aWlaczyles efekt serduszek!" to player
		else:
			delete {efekt1::status::%name of player%}
			send "&cWylaczyles efekt serduszek!" to player

function playHearts():
	while true:
		loop all players:
			play wolf hearts on loop-player where [{efekt1::status::%name of loop-player%}]
		wait 10 tick

on load:
	$ thread
	playHearts()

zakładam że SkQuery posiadasz więc próbuj coś takiego ^

coś tu źle wytabowałeś chyba :thonk: 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
2 minuty temu, Kormic napisał:

No dobra, naprawiłem jak mogłem, lecz nawet parse'owanie na playera nie pomogło, więc działa tylko z niektórymi efektami.


command /serca:
	executable by: players
	trigger:
		if player doesn't have permission "efekt.1":
			send "&4Nie posiadasz dostepu do tej komendy." to player
			stop
		if {efekt1::listaGraczy::*} doesn't contain player:
			add player to {efekt1::listaGraczy::*}
			send "&aWlaczyles efekt serduszek!" to player
			stop
		else:
			remove player from {efekt1::listaGraczy::*}
			send "&cWylaczyles efekt serduszek!" to player
	
every 10 ticks:
	loop {efekt1::listaGraczy::*}:
		set {_loc} to location of loop-value
		loop 20 times:
			play crit at {_loc}
			wait 1 tick

 

dzięki działa :) 
@PanMaruda również dzięki

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /serca:
	permission: efekt.1
	permission message: nie możesz
	executable by: players
	trigger:
		if {efekt1::status::%name of player%} is not true:
			set {efekt1::status::%name of player%} to true
			send "&aWlaczyles efekt serduszek!" to player
		else:
			delete {efekt1::status::%name of player%}
			send "&cWylaczyles efekt serduszek!" to player

function playHearts():
	while true:
		loop all players:
			play heart on loop-player where [{efekt1::status::%name of loop-player%}]
		wait 10 tick

on load:
	$ thread
	playHearts()

 

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ę...