Random Code Gennerator
przedstawiam funkcję, która stworzy dla nas losowy kod z podanych liter, cyfr, słów, symboli, itp.
Składa się ona z trzech argumentów:
getCode(chars: string, length: integer=3, separator: string="")
pierwszy argument to ciąg znaków, z których zostanie wygenerowany kod - oddzielonych przecinkiem (musi być podany)
drugi argument to długość ciągu jaka zostanie wygenerowana (domyślnie ustawiona na 3 - nie musi być zatem podana)
warto zaznaczyć że owa długość nie musi oznaczać finalnej ilości wszystkich znaków w zwracanej wartości - np. jeżeli w pierwszym argumencie podamy do losowania jakieś słowa (a nie pojedyncze znaki) - wtedy długość będzie oznaczała ilość zwróconych słów
trzeci argument to znak (lub ciąg znaków), którym ewentualnie mogą być oddzielone poszczególne znaki (domyślnie jest ustawiony na pustą wartość - czyli jest wyłączony - nie trzeba go podawać)
Jak używać (+przykłady):
zacznijmy od najprostszego kodu - stwórzmy kod o długości 10 znaków ze zbioru liter [a, b, c, d]
w tym celu w pierwszym argumencie umieszczamy nasz zbiór oddzielony przecinkami (bez spacji) - "a,b,c,d"
w drugim argumencie wpisujemy liczbę 10
getCode("a,b,c,d", 10)
i to tyle - jeżeli teraz wyświetlimy tą wartość, otrzymamy coś takiego:
acbdddabdc
kolejny przykład - wybieramy losowo 3 nicki (z czterech podanych) i oddzielamy je myślnikiem
w pierwszym argumencie podajemy np. "Knugi,Maruda,xAxee,Libter"
w drugim argumencie podajemy liczbę 3
w trzecim argumencie zapisujemy myślnik (może być z kolorami dla kontrastu) - "&c-&r"
getCode("Knugi,Maruda,xAxee,Libter", 3, "&c-&r")
A otrzymana wartość może wyglądać powiedzmy tak:
Libter-Libter-Knugi
#przy czym na chacie z minecraft myślniki będą czerwone
jeżeli zajdzie taka potrzeba - możemy także ustawić szansy procentowe na pojawienie się danego znaku - wpisujemy je podobnie jak w pluginie WorldEdit liczba%znaki
zatem do pierwszego argumentu możemy wpisać np. "50%Knugi,10%100,10%$,30%b" - mamy tu więc
50% szans na słowo Knugi
10% szans na liczbę 100
10% szans na symbol $
30% szans na literę b
getCode("50%Knugi,10%100,10%$,30%b", 10, "-=-")
no i działa to tak samo jak powyżej tylko że jedne wartości będą występowały częściej, inne rzadziej.
jako iż mamy tutaj dwa znaki 'specjalne' - przecinek i procent - to nie możemy ich użyć w normalny sposób - dlatego też jeżeli chcemy je wstawić w kodzie musimy zapisać [przecinek] [procent] i one zostaną potem podmienione w finalnej wartości, np.
getCode("[procent],a,b,c")
i wtedy z tego otrzymamy coś takiego:
%acb%%ca%aa
Donwload:
marudaCodeGenerator - wydanie pierwsze 06.05.2020 (wymagany Skript 2.2)
Oczywiście to nie koniec:
w pierwotnej wersji tematu był tutaj skrypt na nagrody za przepisywanie takich losowych kodów z chatu - i to się nie zmienia - opis, kod i wymagania znajdziecie poniżej:
Opis:
Skrypt generuje kod, który gracze w zamian za nagrody mogą przepisywać, powinien on działać niezależnie od wersji serwera.
Opcje podlegające konfiguracji:
długość generowanego kodu
ciąg znaków, z którego zostanie wygenerowany kod
automatyczny kod:
opcja włącz / wyłącz
co ile będzie się odbywał
Ile razy wiadomość o aktywnym kodzie się pojawi
wpisywanie kodu poprzez chat i komendę
sprawdzanie poprawnej wielkości znaków
komenda, która wykona się po poprawnym wpisaniu kodu (tj. nagroda)
Download:
marudaCode - wydanie pierwsze 10.11.2019 (wymagany Skript 2.2, SkQuery oraz skript-mirror)
marudaCode - wydanie drugie 06.05.2020 (wymagany skript-mirror oraz skrypt marudaCodeGenerator z linku wyżej)