Skocz do zawartości

Skrypt - Zaczep gracza z dźwiękiem, systemem "cool down" oraz blokad


Rekomendowane odpowiedzi

Cze,

Nie mogłem spać i stwierdziłem, że napisanie skryptu będzie dobrym zabijaczem czasu. Oto co z tego wyszło:
 

Spoiler

#Nazwa: Pokes
#Autor: Kruku
#wersja: 1.1

command /poke [<player>]:
	trigger:
		if arg 1 is set:
			if {pokeKD::%player%} is not set:
				if {pokeBL::%player%} is not set:
					if {pokeBL::%arg%} is not set:
						if {pokesNOKD::%player%} is not set:
							set {pokeKD::%player%} to 40
						send "&8&l[&5&lPC&8&l] &dZaczepiłeś/aś gracza &3%arg%" to player
						send "&8&l[&5&lPC&8&l] &d&lZostałeś/aś zaczepiony/a przez &3&l%player% &8- jeśli ci to przeszkadza wpisz /pokes off." to arg
						if {pokeCD::%arg%} is not set:
							execute console command "/playsound entity.chicken.egg player %arg% ~ ~ ~ 1000000000 1"
						if {pokeCD::%arg%} is 1:
							execute console command "/playsound entity.generic.explode player %arg% ~ ~ ~ 1000000000 1"
						if {pokeCD::%arg%} is 2:
							execute console command "/playsound ui.button.click player %arg% ~ ~ ~ 1000000000 1"
						if {pokeCD::%arg%} is 3:
							execute console command "/playsound entity.firework.launch player %arg% ~ ~ ~ 1000000000 1"
							wait 1 seconds
							execute console command "/playsound entity.firework.large_blast_far player %arg% ~ ~ ~ 1000000000 1"
							wait 0.5 seconds
							execute console command "/playsound entity.firework.twinkle_far player %arg% ~ ~ ~ 1000000000 1"
					else:
						send "&8&l[&5&lPC&8&l] &dGracz &3%arg% &cwyłączył &dzaczepki i nie można wysłać do niego &e&l/poke."
				else:
					send "&8&l[&5&lPC&8&l] &cZablokowałeś/aś &dzaczepianie &3Ciebie &dco oznacza, że nie możesz zaczepiać innych."
			else:
				send "&dAby kogoś zaczepić musisz odczekać &e&l%{pokeKD::%player%}% sekund..." to player
		if arg 1 is not set:
			send "&8&l[&5&lPC&8&l] &dAby uzyskać więcej inforamcji wpisz &e&l/pokes" to player
		stop



command /pokes [<text>] [<text>]:
	trigger:
		if arg 1 is not set:
			send "&8&l=====&d&lZaczepki&8&l====="
			send "&e/poke &3<nick> &d- Zaczepia innego gracza" to player
			send "&e/pokes &d- lista komend" to player
			send "&e/pokes &2on &d- włącza zaczepki" to player
			send "&e/pokes &4off &d- wyłącza zaczepki" to player
			send "&e/pokes pokaz <dzwiek> &d- odtwarza dla ciebie podany dźwięk poke" to player
			send "&e/pokes ustaw <dzwiek> &d- ustawia dźwięk jaki ma byc odtwarzany przy otrzymaniu zaczepki" to player
			send "&8System zaczepek ~by Kruku"
		if arg 1 is set:
			if arg 1 is "on":
				if {pokeBL::%player%} is set:
					clear {pokeBL::%player%}
					send "&8&l[&5&lPC&8&l] &aWłączyłeś/aś &dzaczepki. Aby &cwyłączyć &dwpisz &e&l/poke &c&loff" to player
				else:
					send "&8&l[&5&lPC&8&l] &dZaczepki są już &awłączone" to player
			if arg 1 is "off":
				if {pokeBL::%player%} is not set:
					if {pokeKD::%player%} is not set:
						set {pokeBL::%player%} to true
						send "&8&l[&5&lPC&8&l] &cWyłączyłeś/aś &dzaczepki. Aby &awyłączyć &dwpisz &e&l/poke &a&lon" to player
					else:
						send "&8&l[&5&lPC&8&l] &dMożesz &cwyłączyć &dzaczepki za &e&l%{pokeKD::%player%}% sekund..." to player
				else:
					send "&8&l[&5&lPC&8&l] &dZaczepki są już &cwyłączone" to player
			if arg 1 is "lista":
				send "&8&l=====&d&lZaczepki&8&l=====" to player
				send "&e/pokes ustaw &3zwykly &d- ustawia &3domyślny &ddźwięk poke" to player
				send "&e/pokes ustaw &3wybuch &d- ustawia dźwięk poke na &3wybuch" to player
				send "&e/pokes ustaw &3klik &d- ustawia dźwięk poke na &3klik" to player
				send "&e/pokes ustaw &3fajerwerk &d- ustawia dźwięk poke na &3fajerwerk" to player
				send "&e/pokes pokaz &3<dzwięk> &d- odtwarza dla ciebie wybrany dźwięk." to player
				send "&8System zaczepek ~by Kruku"
			if arg 1 is "pokaz":
				if arg 2 is "zwykly":
					execute console command "/playsound entity.chicken.egg player %player% ~ ~ ~ 1000000000 1"
					send "&8&l[&5&lPC&8&l] &dOdtwarzam dźwięk &3zwykly" to player
					stop
				if arg 2 is "wybuch":
					execute console command "/playsound entity.generic.explode player %player% ~ ~ ~ 1000000000 1"
					send "&8&l[&5&lPC&8&l] &dOdtwarzam dźwięk &3wybuch" to player
					stop
				if arg 2 is "klik":
					execute console command "/playsound ui.button.click player %player% ~ ~ ~ 1000000000 1"
					send "&8&l[&5&lPC&8&l] &dOdtwarzam dźwięk &3klik" to player
					stop
				if arg 2 is "fajerwerk":
					send "&8&l[&5&lPC&8&l] &dOdtwarzam dźwięk &3fajerwerk" to player
					execute console command "/playsound entity.firework.launch player %player% ~ ~ ~ 1000000000 1"
					wait 1 seconds
					execute console command "/playsound entity.firework.large_blast_far player %player% ~ ~ ~ 1000000000 1"
					wait 0.5 seconds
					execute console command "/playsound entity.firework.twinkle_far player %player% ~ ~ ~ 1000000000 1"
					stop
				else:
					send "&8&l[&5&lPC&8&l] &dLista dostepnych dźwięków pod &e/pokes lista" to player
			if arg 1 is "ustaw":
				if arg 2 is "zwykly":
					if {pokeCD::%player%} is set:
						clear {pokeCD::%player%}
						send "&8&l[&5&lPC&8&l] &dUtawiam dźwięk poke na &3zwykly" to player
					else:
						send "&8&l[&5&lPC&8&l] &dDźwięk &3zwykly &djest już ustawiony" to player
					stop
				if arg 2 is "wybuch":
					if {pokeCD::%player%} is 1:
						send "&8&l[&5&lPC&8&l] &dDźwięk &3wybuch &djest już ustawiony" to player
					else:
						set {pokeCD::%player%} to 1
						send "&8&l[&5&lPC&8&l] &dUtawiam dźwięk poke na &3wybuch" to player
					stop
				if arg 2 is "klik":
					if {pokeCD::%player%} is 2:
						send "&8&l[&5&lPC&8&l] &dDźwięk &3wybuch &djest już ustawiony" to player
					else:
						set {pokeCD::%player%} to 2
						send "&8&l[&5&lPC&8&l] &dUtawiam dźwięk poke na &3wybuch" to player
					stop
				if arg 2 is "fajerwerk":
					if {pokeCD::%player%} is 3:
						send "&8&l[&5&lPC&8&l] &dDźwięk &3fajerwerk &djest już ustawiony" to player
					else:
						set {pokeCD::%player%} to 3
						send "&8&l[&5&lPC&8&l] &dUtawiam dźwięk poke na &3fajerwerk" to player
					stop
				else:
					send "&8&l[&5&lPC&8&l] &dLista dostepnych dźwięków pod &e/pokes lista" to player

command /pokesadmin [<text>] [<player>]:
	permission: admin.pokes
	trigger:
		if arg 1 is "KD":
			if arg 2 is not set:
				if {pokesNOKD::%player%} is not set:
					set {pokesNOKD::%player%} to true
					send "&8&l[&4&lPC&8&l] &aWyłączono &dczas cooldown dla gracza &3%player%&d."
					stop
				if {pokesNOKD::%player%} is set:
					clear {pokesNOKD::%player%}
					send "&8&l[&4&lPC&8&l] &cWłączono &dczas cooldown dla gracza &3%player%&d."
					stop
			if arg 2 is set:
				if {pokesNOKD::%arg 2%} is not set:
					set {pokesNOKD::%arg 2%} to true
					send "&8&l[&4&lPC&8&l] &aWyłączono &dczas cooldown dla gracza &3%arg 2%&d."
					stop
				if {pokesNOKD::%arg 2%} is set:
					clear {pokesNOKD::%arg 2%}
					send "&8&l[&4&lPC&8&l] &cWłączono &dczas cooldown dla gracza &3%arg 2%&d."
					stop
		if arg 1 is "BL":
			if arg 2 is not set:
				if {pokeBL::%player%} is set:
					clear {pokeBL::%player%}
					send "&8&l[&4&lPC&8&l] &aWłączono &dzaczepki dla gracza &3%player%" to player
					stop
				if {pokeBL::%player%} is not set:
					set {pokeBL::%player%} to true
					send "&8&l[&4&lPC&8&l] &cWyłączono &dzaczepki dla gracza &3%player%" to player
					stop
			if arg 2 is set:
				if {pokeBL::%arg 2%} is set:
					clear {pokeBL::%arg 2%}
					send "&8&l[&4&lPC&8&l] &aWłączono &dzaczepki dla gracza &3%arg 2%" to player
					stop
				if {pokeBL::%arg 2%} is not set:
					set {pokeBL::%arg 2%} to true
					send "&8&l[&4&lPC&8&l] &cWyłączono &dzaczepki dla gracza &3%arg 2%" to player
					stop

			
		stop

every 1 second:
	loop all players:
		if {pokeKD::%loop-player%} is larger than 0:
			remove 1 from {pokeKD::%loop-player%}
		if {pokeKD::%loop-player%} is 0:
			clear {pokeKD::%loop-player%}
			send "&8&l[&5&lPC&8&l] &dMożesz już wysyłać &e&l/poke" to loop-player


every 300 second:
	broadcast "&8&l[&4&lPearlCraft&8&l] &bNa serwerze funkcjonuje system zaczepek. Więcej informacji pod &e&l/pokes"

 

Służy to w sumie temu by gracz, który akurat nie patrzy w okno gry bo np. ogląda memy na kwejku mógł być zaczepiony dźwiękiem przez innego gracza (podobnie jak na Ts3).

Aby zapobiec spamieniu zaczepkami dodałem czas (40 sekund) jaki musi minąć od ostatniej zaczepki by móc wysłać kolejną. Pomyślałem też o graczach, którym takie coś nie odpowiada i mogą wyłączyć dla siebie zaczepianie. Nie mogą jednak w tym czasie zaczepiać innych.

Dodatkowo jest możliwość ustawienia dla siebie dźwięku jaki ma być odtwarzany po otrzymaniu poke.

Zacząłem pisać skrypty ze 3 dni temu i nadal wiem o nich mało więc nie hejtujecie za mocno dobra? :P

Fajnie by było, gdybyście powiedzieli, czy i co mogę poprawić?

Komendy dla tych, którzy będą chcieli to sobie zainstalować:

/poke <nick> - zaczepia gracza podanego w parametrze <nick>

/pokes - spis komend

/pokes on - włącza zaczepki

/pokes off - wyłącza zaczepki

Edytowane przez Kruku
Rozbudowanie kodu.
Odnośnik do komentarza
https://skript.pl/temat/17331-skrypt-zaczep-gracza-z-d%C5%BAwi%C4%99kiem-systemem-cool-down-oraz-blokad/
Udostępnij na innych stronach

Dość ciekawe, mimo, że średnio przemyślane, wiele osób ma po prostu wyłączony dźwięk w mc, wiem, bo jak coś robiłem, a kiedyś nawet grałem to wyłączałem. W takich przypadkach trochę średnio się sprawdzi.

Nazewnictwo zmiennych leży - jakieś skróty KD CD o co kurna chodzi XD, "cool down" to porażka - zmień to pls..
Brak jakiejkolwiek konfiguracji..

Odnośnik do komentarza
https://skript.pl/temat/17331-skrypt-zaczep-gracza-z-d%C5%BAwi%C4%99kiem-systemem-cool-down-oraz-blokad/#findComment-118678
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
Dodaj odpowiedź do tematu...

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