-
Ilość zawartości
11014 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
231
Treść opublikowana przez Kormic
-
Dobra, sprawdziłem prostszy sposób i niestety, ale nie zadziała. W takim wypadku pozostań przy tym co ci dałem i będzie okej.
-
Należy podzielić ilość złotych bloków w ekwipunku gracza przez 8 i zaokrąglić w dół za pomocą funkcji floor() lub wyrażenia 'rounded down'. Wynikiem jest możliwie największa ilość koxów jaką możemy zrobić (dla przykładu x). Następnie sprawdzamy ilość jabłek w ekwipunku. Jeżeli gracz posiada więcej niż lub tyle dokładnie, ile wyniósł x, wtedy odejmujemy x jabłek i (x*8) bloków złota. Natomiast jeżeli mniej, to zabieramy wszystkie jabłka z ekwipunku gracza (pamiętając oczywiście o uprzednim sprawdzeniu ilości bloków złota jaką posiada gracz). Na przyszłość nie wytypuj konkretnej osoby do pomocy. W ten sposób zniechęcasz resztę i chamsko ich dyskwalifikujesz.
-
Wystarczy sprawdzać kliknięty slot i dodawać 1 dirt do klikniętego slotu. on inventory click: clicked inventory is not player's inventory clicked slot is 0 add 1 dirt to event-slot
-
W takim razie... command /premka [<offline player>]: trigger: if arg 1 is set: set {_t} to text from "https://api.mojang.com/users/profiles/minecraft/%arg 1%" set {_t} to subtext of {_t} from character 10 to character (length of arg 1's name + 9) if {_t} is "%arg 1%": send "&6%arg 1% &ajest graczem premium!" to sender else: send "&6%arg 1% &cnie jest graczem premium!" to sender else: sender is not console set {_t} to text from "https://api.mojang.com/users/profiles/minecraft/%player%" set {_t} to subtext of {_t} from character 10 to character (length of player's name + 9) if {_t} is "%player%": send "&aJesteś graczem premium!" to player else: send "&cNie jesteś graczem premium!" to player on join: set {_t} to text from "https://api.mojang.com/users/profiles/minecraft/%player%" set {_t} to subtext of {_t} from character 10 to character (length of player's name + 9) if {_t} is "%player%": send "&aJesteś graczem premium!" to player else: send "&cNie jesteś graczem premium!" to player Szczerze nawet byłby prostszy sposób na sprawdzanie, ale już mi powoli mózg wysiada o tej porze... Postaram się rano podesłać ulepszoną wersję.
-
Chciałeś przecież na komendę... Co ma oznaczać "zalogowano z konta"? Posiadasz jakiś system logowania?
-
Zakładam, że twój serwer rzecz jasna jest w trybie offline. W takim wypadku nie ma innej możliwości niż sprawdzanie czy dany nick gracza nie przynależy do jakiegoś konta premium. command /premka: executable by: players trigger: set {_t} to text from "https://api.mojang.com/users/profiles/minecraft/%player%" set {_t} to subtext of {_t} from character 10 to character (length of player's name + 9) if {_t} is "%player%": send "&aJesteś graczem premium!" to player else: send "&cNie jesteś graczem premium!" to player Wymagane SkQuery. Jeżeli kod nie zadziała, zrób prostego senda, w którym wysyłasz zmienną {_t} i podaj mi to, co zostanie wysłane.
-
Którą posiadasz wersję Skripta?
-
Wyszukaj frazę "SkRayFall". Szukaj, a znajdziesz.
-
Co do pierwszej części, w pełni się zgadzam. Co do drugiej, to również prawda, aczkolwiek ciężko to w jakiś lepszy sposób zorganizować. W 'on item spawn' rzecz jasna nie przechwycisz playera.
-
Strasznie dużo linijek? O czym ty mówisz? To przecież tylko jedna zmienna... Dodam, że nie zrobisz tego inaczej na wersji poniżej 1.12.2, nawet poprzez Bukkit/Spigot API. Metoda wycofująca drop bloków została wprowadzona właśnie w tej wersji.
-
Posiadam wersję 1.9.21 i nie pokazuje żadnych błędów.
-
W takim razie proszę. on mine of stone: if player has enough space for 1 cobblestone: set {cancelCobblestone} to true add 1 cobblestone to player's inventory on item spawn of cobblestone: {cancelCobblestone} is set cancel event clear {cancelCobblestone} EDIT: Zedytowałem skrypt, gdyż przy jego użyciu wypadałyby 2 bloki bruku.
-
Jeżeli pomimo pełnego ekwipunku chcesz sprawić, aby bruk nie wypadał, to musisz sprawdzać przy dawaniu graczu do ekwipunku bruku czy jego ekwipunek jest pełny za pomocą warunku: if player has enough space for 1 cobblestone: Mimo wszystko wątpię czy to właśnie miałeś na myśli. Jeżeli powiesz dokładniej co ma się dziać, to będę w stanie pomóc. Pokaż jak ta funkcja wygląda.
-
Proszę, wymagany dodatek SkRayFall. command /paseksmoka [<text="">]: trigger: create bossbar titled "%arg 1%" and id "pasekSmoka" for all players with progress 100 with colors yellow loop 100 times: set {_v} to value of bossbar "pasekSmoka" set bossbar "pasekSmoka" value to ({_v} - 1) wait 2 ticks remove bossbar "pasekSmoka"
-
Komenda ta u mnie działała bez zarzutu. Podaj wersję Skripta, wersję serwera oraz silnik serwera. Zrobiłem drugi kod, który w lepszy sposób rozmieszcza zombie wokół gracza. command /spawnzombie: trigger: set {_t} to 0 while {_t} is not 5: set {_b} to random block out of (blocks in radius 5 around player) {_b} is not air block above {_b} is air block 2 meters above {_b} is air chance of 10%: spawn zombie at location of block above {_b} add last spawned zombie to {_t::*} add 1 to {_t} wait 3 seconds kill {_t::*}
-
Ale nie ma innego sposobu. Albo cancel drops, albo zmienne. Wybieraj.
-
Kurczę, to ty wszystko wiesz. Skoro cancel drops na bloki u ciebie nie działa, znaczy to, że posiadasz wersję serwera niższą niż 1.12.2. W takim wypadku: on mine of stone: set {cancelCobblestone} to true add 1 cobblestone to player's inventory on item spawn of cobblestone: {cancelCobblestone} is set cancel event clear {cancelCobblestone}
-
Co konkretnie nie działa? Sama komenda czy być może są jakieś błędy w konsoli? Myślę, że wiem w czym problem. Nie można sprawdzać czy zmienna jest mniejsza od 5 podczas gdy nie jest ustawiona. Poprawiony kod: command /spawnzombie: trigger: set {_t} to 0 loop all blocks in radius 5 around player: loop-block is not air block above loop-block is air block 2 meters above loop-block is air {_t} is less than 5 spawn zombie at location of block above loop-block add 1 to {_t} add last spawned zombie to {_t::*} wait 3 seconds kill {_t::*}
-
Proszę, powinno pomóc. command /spawnzombie: trigger: loop all blocks in radius 5 around player: loop-block is not air block above loop-block is air block 2 meters above loop-block is air {_t} is less than 5 spawn zombie at location of block above loop-block add 1 to {_t} add last spawned zombie to {_t::*} wait 3 seconds kill {_t::*}
-
W takim wypadku możesz z tym forkiem Matocolotoe spróbować: https://github.com/Matocolotoe/Skript-1.8. Pamiętaj o ewentualnie kopii zapasowej skryptów oraz zmiennych. Następnie usuń folder Skript i pozwól nowemu Skriptowi na wygenerowanie nowego. Wtedy wrzuć z powrotem wszystko to, czego zrobiłeś kopie zapasowe.
-
Silnik Gildie-Survival? To ci dopiero... Tak na poważnie, nie znam takiego silnika, poszukaj jeszcze raz.
-
Szczerze po raz pierwszy bawię się w ustawianie bordera poprzez Skript, ale proszę. Wymagany minimum Skript 2.3+, zalecany natomiast jest Skript 2.5+. Dodatkowo wymagany dodatek skript-mirror, bądź skript-reflect (drugi jest ulepszoną wersją pierwszego). Funkcja getRandomLoc() jest autorstwa użytkownika ZiemniaQ. Na górze skryptu (w sekcji 'options') umieściłem małą konfigurację działania skryptu. Jeżeli chcesz zmienić permisję od komendy /start, robisz to w linijce 30. Natomiast jeżeli chcesz zmienić wiadomości w skrypcie, zaglądasz do kodu i zmieniasz to w zależności od twoich upodobań.
-
Proszę, oto skrypt. Funkcja autorstwa użytkownika ZiemniaQ. Jeżeli chcesz, aby teleportacja odbywała się w innym świecie, ustawiasz jego nazwę w sekcji konfiguracyjnej na górze skryptu. Natomiast jeżeli chcesz, aby teleportacja była wykonywana w świecie gracza, zamiast "world" (usuwasz również cudzysłów) wstawiasz "player's world" (bez cudzysłowu). options: min-x: -2500 max-x: 2500 min-z: -2500 max-z: 2500 swiat: "world" function getRandomLoc(xmin: integer=-1000, xmax: integer=1000, zmin: integer=-1000, zmax: integer=1000, world: text="world") :: location: while {_return} is not set: set {_x} to random integer between {_xmin} and {_xmax} set {_z} to random integer between {_zmin} and {_zmax} set {_loc} to highest block at location at {_x}, 0, {_z} in world ({_world} parsed as world) if block at {_loc} != lava or water: add 1 to y-loc of {_loc} if (block at {_loc}) and (block above block at {_loc}) != lava: set {_return} to {_loc} return {_return} on first join: teleport player to getRandomLoc({@min-x}, {@max-x}, {@min-z}, {@max-z}, {@swiat})
-
W takim wypadku zmniejszaj ilość tak długo jak błąd będzie się pokazywał. Jest to zabezpieczenie Skripta przed wykonywaniem zbyt obszernych akcji.
-
Zanim podam ci najnowszego Skripta, muszę dokładniej poznać parametry twojego serwera (wersja oraz silnik serwera).
