Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Skrypt] [Event] Przepisz kod


Riveilli

Rekomendowane odpowiedzi

Opublikowano

Krótko i na temat - skrypt generuje losowy kod z użyciem znaków (podobne znaki zostały zakomentowane) w zakresie co 60 minut i tylko wtedy gdy na serwerze przebywa przynajmniej dziesięć osób (domyślnie).
Nagrody należy ustawiać od linijki 118, timing automatycznie generowanych kodów w linijce 135 i 154, a minimalną ilość osób w 138.

Skrypt oczywiście pozwala też na ręczne wygenerowanie kodu komendą /kod wygeneruj osobie z permisją riveilli.riveilli.

 

# Riveilli
# 25.07.2015

#==================== Options ====================#
options:
	prefiks: &8[&bKod&8]
	prefiks.serwer: &8[&cSerwer&8]

#==================== Variables ====================#
variables:
	{kod.wygenerowany_kod} = false
	#{kod.wygenerowany_kod.data} = now

#==================== Functions ====================#
function generuj_kod(void: text):
	#add "0" to {_zakres::*}
	#add "1" to {_zakres::*}
	add "2" to {_zakres::*}
	add "3" to {_zakres::*}
	add "4" to {_zakres::*}
	add "5" to {_zakres::*}
	add "6" to {_zakres::*}
	add "7" to {_zakres::*}
	add "8" to {_zakres::*}
	add "9" to {_zakres::*}

	add "a" to {_zakres::*}
	add "b" to {_zakres::*}
	add "c" to {_zakres::*}
	add "d" to {_zakres::*}
	add "e" to {_zakres::*}
	add "f" to {_zakres::*}
	add "g" to {_zakres::*}
	add "h" to {_zakres::*}
	#add "i" to {_zakres::*}
	add "j" to {_zakres::*}
	add "k" to {_zakres::*}
	#add "l" to {_zakres::*}
	add "m" to {_zakres::*}
	add "n" to {_zakres::*}
	add "o" to {_zakres::*}
	add "p" to {_zakres::*}
	add "q" to {_zakres::*}
	add "r" to {_zakres::*}
	add "s" to {_zakres::*}
	add "t" to {_zakres::*}
	add "u" to {_zakres::*}
	add "v" to {_zakres::*}
	add "w" to {_zakres::*}
	add "x" to {_zakres::*}
	add "y" to {_zakres::*}
	add "z" to {_zakres::*}

	add "A" to {_zakres::*}
	add "B" to {_zakres::*}
	add "C" to {_zakres::*}
	add "D" to {_zakres::*}
	add "E" to {_zakres::*}
	add "F" to {_zakres::*}
	add "G" to {_zakres::*}
	add "H" to {_zakres::*}
	#add "I" to {_zakres::*}
	add "J" to {_zakres::*}
	add "K" to {_zakres::*}
	add "L" to {_zakres::*}
	add "M" to {_zakres::*}
	add "N" to {_zakres::*}
	#add "O" to {_zakres::*}
	add "P" to {_zakres::*}
	add "Q" to {_zakres::*}
	add "R" to {_zakres::*}
	add "S" to {_zakres::*}
	add "T" to {_zakres::*}
	add "U" to {_zakres::*}
	add "V" to {_zakres::*}
	add "W" to {_zakres::*}
	add "X" to {_zakres::*}
	add "Y" to {_zakres::*}
	add "Z" to {_zakres::*}

	set {_1} to random element of {_zakres::*}
	remove {_1} from {_zakres::*}
	set {_2} to random element of {_zakres::*}
	remove {_2} from {_zakres::*}
	set {_3} to random element of {_zakres::*}
	remove {_3} from {_zakres::*}
	set {_4} to random element of {_zakres::*}
	remove {_4} from {_zakres::*}
	set {_5} to random element of {_zakres::*}
	remove {_5} from {_zakres::*}
	set {_6} to random element of {_zakres::*}
	remove {_6} from {_zakres::*}
	set {_7} to random element of {_zakres::*}
	remove {_7} from {_zakres::*}
	set {_8} to random element of {_zakres::*}
	remove {_8} from {_zakres::*}
	set {_9} to random element of {_zakres::*}
	remove {_9} from {_zakres::*}
	set {_10} to random element of {_zakres::*}
	remove {_10} from {_zakres::*}

	set {kod.wygenerowany_kod} to "%{_1}%%{_2}%%{_3}%%{_4}%%{_5}%%{_6}%%{_7}%%{_8}%%{_9}%%{_10}%"
	set {kod.wygenerowany_kod.data} to now

#==================== Event ====================#
on Skript start:
	{kod.wygenerowany_kod.data} doesn't exist:
		set {kod.wygenerowany_kod.data} to now
		log "{kod.wygenerowany_kod.data} set to now (%now%)"

on chat:
	{kod.wygenerowany_kod} isn't false:
		message contains "%{kod.wygenerowany_kod}%"
		log "%player% przepisał(a) kod %{kod.wygenerowany_kod}% i otrzymał(a) %{_nagroda.nazwa}%" to "kody.log"
		log "Kod %{kod.wygenerowany_kod}% wygasł z powodu przepisania" to "kody.log"
		set {kod.wygenerowany_kod} to false
		do [add 1 and 2 to {_zakres::*}] -> [set {_nagroda} to random element of {_zakres::*}]
		{_nagroda} is 1:
			set {_nagroda.wartość} to random integer between 10 and 100
			set {_nagroda.nazwa} to "%{_nagroda.wartość}% C"
		{_nagroda} is 2:
			set {_nagroda.wartość} to random integer between 5 and 20
			set {_nagroda.nazwa} to "%{_nagroda.wartość}% punktów doświadczenia"
		broadcast "{@prefiks} &e%player%&7 przepisał(a) poprawnie kod i otrzymał(a) &l%{_nagroda.nazwa}%&7&o."
		cancel event

every 20 ticks:
	{kod.wygenerowany_kod} isn't false:
		difference between {kod.wygenerowany_kod.data} and now is more or equal to 2 minutes
		log "Kod %{kod.wygenerowany_kod}% wygasł z powodu przekroczenia 2 minut" to "kody.log"
		set {kod.wygenerowany_kod} to false
		broadcast "{@prefiks}&7 Kod wygasł, ponieważ nikt go nie przepisał."
		stop

	difference between {kod.wygenerowany_kod.data} and now is more or equal to 60 minutes
	loop all players:
		add loop-player to {_online::*}
	size of {_online::*} is more or equal to 10
	generuj_kod("void")
	log "Kod %{kod.wygenerowany_kod}% został wygenerowany (%size of {_online::*}% osób dostępnych)" to "kody.log"
	broadcast "{@prefiks} &cUWAGA!"
	wait 10 ticks
	broadcast "{@prefiks}&7 Osoba która pierwsza przepisze kod &l%{kod.wygenerowany_kod}%&7, otrzyma niespodziankę."

#==================== Commands ====================#
command /kod [<text>]:
	executable by: players and console
	trigger:
		argument isn't set:
			if {kod.wygenerowany_kod} isn't false:
				message "{@prefiks}&7&o Event trwa. Wygenerowaniy kod to &l%{kod.wygenerowany_kod}%&7&o."
				stop
			else:
				message "{@prefiks}&7&o Event się zakończył. Następny kod za &e%difference between 60 minutes and difference between {kod.wygenerowany_kod.data} and now%&7&o."
				stop

		argument is "wygeneruj":
			player doesn't have permission "riveilli.riveilli":
				message "{@prefiks.serwer}&7&o Nieprawidłowy argument bądź brak uprawnień."
				stop
			{kod.wygenerowany_kod} isn't false:
				message "{@prefiks}&7&o Kod został już wygenerowany &l%{kod.wygenerowany_kod}%&7&o (%{kod.wygenerowany_kod.data}%)."
				stop

			generuj_kod("void")
			log "%player% wygenerował(a) kod %{kod.wygenerowany_kod}%" to "kody.log"
			broadcast "{@prefiks} &e%player%&c rozpoczął(a) event!"
			wait 10 ticks
			broadcast "{@prefiks}&7 Osoba która pierwsza przepisze kod &l%{kod.wygenerowany_kod}%&7, otrzyma niespodziankę."
			stop

		message "{@prefiks.serwer}&7&o Nieprawidłowy argument bądź brak uprawnień."

 



Mam nadzieję że kod komuś się przyda.
Prosiłbym o nie wynoszenie go poza forum oraz nie umieszczanie w paczkach serwerowych.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...