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

[Szukam] Skrypt na parkour.


gabrys07076

Rekomendowane odpowiedzi

Opublikowano

Witam, szukam skryptu na parkour, chciałbym żeby miał podstawowe komendy jak na serwerze mc4u. Czyli dołączanie, po wpadnięciu do lavy/wody teleportuje się na początek, i żeby pod rozpoczęciu parkoura posiadał licznik na LVL. Patrzałem na skrypt UniqueParkour, lecz nie mogę go nigdzie znaleźć do pobrania :/

Proszę o pomoc.

Opublikowano
options:

        #Mozna uzyc kilku blokow (Wystarczy dopisac "or" + nazwa bloku.)

        #Przyklad uzycia wielu blokow:

        #failblock: red wool or redstone block or stone brick

        startblock: green wool #Poczatek parkoura.

        failblock: red wool #Spadniecie podczas parkoura.

        endblock: blue wool #Koniec parkoura.

        nextlevel: 100 #Co ile punktow doswiadczenia mozna zdobyc nowy poziom.

        tag: &6[&3Epic&2Parkour&6] #Tytul skryptu

 

#Zmienne

variables:

        {parkour::status::%player%} = false

        {parkour::counter::%player%} = false

        {parkour::time::%player%} = 0

        {parkour::xp::%player%} = 0

        {parkour::level::%player%} = 0

 

#Komendy

command /parkour [<text>] [<text>] [<text>]:

        aliases: p

        trigger:

                if arg 1 is not set:

                        send "{@tag} &3Epic&2Parkour &6Commands:"

                        if player has permission "parkour.*":

                                send "&a/parkour create <arena> - Creates new arena."

                                send "&a/parkour setspawn <arena> - Sets spawn of arena."

                                send "&a/parkour setxp <arena> <xp> - Set xp for finishing the arena."

                                send "&a/parkour remove <arena> - Removes the arena."

                                send "&a/parkour list - Displays list of created arenas."

                                if {parkour::status::%player%} is true:

                                        send "&c/parkour join <arena> - Joins to the arena."

                                        send "&a/parkour leave - Leaves current arena."

                                else:

                                        send "&a/parkour join <arena> - Joins to the arena."

                                        send "&c/parkour leave - Leaves current arena."

                                send "&a/parkour info <player> - Shows statistics of specific player."

                                send "&a/parkour reload - Reloads the script."

                                stop

                        else:

                                send "&a/parkour list - Displays list of created arenas."

                                if {parkour::status::%player%} is true:

                                        send "&c/parkour join <arena> - Joins to the arena."

                                        send "&a/parkour leave - Leaves current arena."

                                else:

                                        send "&a/parkour join <arena> - Joins to the arena."

                                        send "&c/parkour leave - Leaves current arena."

                                send "&a/parkour info - Shows your statistics."

                                stop

 

                if arg 1 is "create":

                        if player has permission "parkour.create" or "parkour.*":

                                if arg 2 is set:

                                        if {parkour::arena::%arg 2%} is not set:

                                                set {parkour::arena::%arg 2%} to arg 2

                                                send "{@tag} &6Created new arena &b%arg 2%&6."

                                                stop

                                        else:

                                                send "{@tag} &cArena &b%arg 2% &cis already exist."

                                                stop

                                else:

                                        send "{@tag} &cCorrect usage: &7/parkour create <arena>"

                                        stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "setspawn":

                        if player has permission "parkour.setspawn" or "parkour.*":

                                if arg 2 is set:

                                        if {parkour::arena::%arg 2%} is set:

                                                set {parkour::arena::%arg 2%::spawn} to location of player

                                                send "{@tag} &6Spawn for the arena &b%arg 2%&6 has been set."

                                                stop

                                        else:

                                                send "{@tag} &cArena &b%arg 2% &cis not exist."

                                                stop

                                else:

                                        send "{@tag} &cCorrect usage: &7/parkour setspawn <arena>"

                                        stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "list":

                        if player has permission "parkour.*" or "parkour.default":

                                clear {arenas::*}

                                loop {parkour::arena::*}:

                                        if {parkour::arena::%loop-value%::xp} is set:

                                                set {_xp} to {parkour::arena::%loop-value%::xp}

                                        else:

                                                set {_xp} to 0

                                        if {parkour::arena::%loop-value%::spawn} is set:

                                                add "&a%loop-value% &6(&7%{_xp}% xp&6)" to {arenas::*}

                                        else:

                                                add "&c%loop-value% &6(&7%{_xp}% xp&6)" to {arenas::*}

                                set {_list} to "%{arenas::*}%"

                                replace all "<none>" with "" in {_list}

                                replace all " and" with "," in {_list}

                                send "{@tag} &6Created arenas: &b%{_list}%"

                                stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "remove":

                        if player has permission "parkour.*" or "parkour.remove":

                                if arg 2 is set:

                                        if {parkour::arena::%arg 2%} is set:

                                                clear {parkour::arena::%arg 2%}

                                                clear {parkour::arena::%arg 2%::spawn}

                                                clear {parkour::arena::%arg 2%::xp}

                                                clear {parkour::arena::%arg 2%::players::*}

                                                clear {parkour::arena::%arg 2%::done::*}

                                                clear {parkour::arena::%arg 2%::time::*}

                                                send "{@tag} &6Removed the arena &b%arg 2%&6."

                                                stop

                                        else:

                                                send "{@tag} &cThe Arena &b%arg 2% &cis not exist."

                                                stop

                                else:

                                        send "{@tag} &cCorrect usage: &7/parkour remove <arena>"

                                        stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "setxp":

                        if player has permission "parkour.*" or "parkour.setxp":

                                if arg 2 is set:

                                        if {parkour::arena::%arg 2%} is set:

                                                if arg 3 is set:

                                                        set {_xp} to arg 3 parsed as integer

                                                        send "{@tag} &6Set &b%{_xp}% &6xp for finishing the arena &b%arg 2%&6."

                                                        set {parkour::arena::%arg 2%::xp} to {_xp}

                                                        stop

                                                else:

                                                        send "{@tag} &cCorrect usage: &7/parkour setxp <arena> <xp>"

                                                        stop

                                        else:

                                                send "{@tag} &cArena &b%arg 2% &cis not exist."

                                                stop

                                else:

                                        send "{@tag} &cCorrect usage: &7/parkour setxp <arena> <xp>"

                                        stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "join":

                        if player has permission "parkour.*" or "parkour.default":

                                if arg 2 is set:

                                        if {parkour::arena::%arg 2%} is set:

                                                if {parkour::arena::%arg 2%::spawn} is set:

                                                        if {parkour::status::%player%} is false:

                                                                if {parkour::arena::%arg 2%::done::%player%} is not set:

                                                                        set {parkour::arena::%arg 2%::done::%player%} to false

                                                                set {parkour::lastlocation::%player%} to location of player

                                                                set {parkour::arena::%arg 2%::players::%player%} to player

                                                                set {parkour::arena::%arg 2%::allplayers::%player%} to player

                                                                set {parkour::status::%player%} to true

                                                                if {parkour::arena::%arg 2%::time::%player%} is not set:

                                                                        set {parkour::arena::%arg 2%::time::%player%} to 0

                                                                if player's gamemode is not survival:

                                                                        set player's gamemode to survival

                                                                teleport player to {parkour::arena::%arg 2%::spawn}

                                                                send "{@tag} &6You have joined to arena &b%arg 2%&6."

                                                                stop

                                                        else:

                                                                send "{@tag} &cLeave your current arena first."

                                                                stop

                                                else:

                                                        send "{@tag} &cSpawn of arena &b%arg 2% &cis not set&c."

                                                        stop

                                        else:

                                                send "{@tag} &cArena &b%arg 2% &cis not exist."

                                                stop

                                else:

                                        send "{@tag} &cCorrect usage: &7/parkour join <arena>"

                                        stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "leave":

                        if player has permission "parkour.*" or "parkour.default":

                                if {parkour::status::%player%} is true:

                                        teleport player to {parkour::lastlocation::%player%}

                                        clear {parkour::lastlocation::%player%}

                                        loop {parkour::arena::*}:

                                                if {parkour::arena::%loop-value%::players::%player%} is set:

                                                        set {_arena} to {parkour::arena::%loop-value%}

                                                        clear {parkour::arena::%loop-value%::players::%player%}

                                        set {parkour::status::%player%} to false

                                        set {parkour::counter::%player%} to false

                                        set {parkour::time::%player%} to 0

                                        set player's level to 0

                                        send "{@tag} &6You have left the arena &b%{_arena}%&6."

                                        stop

                                else:

                                        send "{@tag} &cYou are not on any arena."

                                        stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "reload":

                        if player has permission "parkour.*" or "parkour.reload":

                                execute console command "sk reload %script%"

                                send "{@tag} &6Script has been reloaded."

                                stop

                        else:

                                send "{@tag} &cYou do not have required permissions."

                                stop

                if arg 1 is "info":

                        if arg 2 is not set:

                                if player has permission "parkour.*" or "parkour.default":

                                        send "{@tag} &b%player%'s &6statistics:"

                                        send "{@tag} &7Level - &c%{parkour::level::%player%}% &7(&c%{parkour::xp::%player%}% xp&7)"

                                        loop {parkour::arena::*}:

                                                if {parkour::arena::%loop-value%::done::%player%} is true:

                                                        set {_arena} to {parkour::arena::%loop-value%}

                                                        set {_time} to {parkour::arena::%loop-value%::time::%player%}

                                                        set {_minutes} to rounded down {_time}/60

                                                        set {_seconds} to {_time}-({_minutes}*60)

                                                        if {_time} is not 0:

                                                                add "&c%{_arena}% &7(&c%{_minutes}% min %{_seconds}% sec&7)" to {_arenas::*}

                                        set {_list} to "%{_arenas::*}%"

                                        replace all "<none>" with "" in {_list}

                                        replace all "and" with "," in {_list}

                                        send "{@tag} &7Completed arenas: &c%{_list}%"

                                        stop

                        else:

                                if player has permission "parkour.*" or "parkour.info.others":

                                        set {_target} to arg 2 parsed as player

                                        if {_target} is online:

                                                if {parkour::level::%{_target}%} is not set:

                                                        set {parkour::level::%{_target}%} to 0

                                                if {parkour::xp::%{_target}%} is not set:

                                                        set {parkour::xp::%{_target}%} to 0

                                                send "{@tag} &b%{_target}%'s &6statistics:"

                                                send "{@tag} &7Level - &c%{parkour::level::%{_target}%}% &7(&c%{parkour::xp::%{_target}%}% xp&7)"

                                                loop {parkour::arena::*}:

                                                        if {parkour::arena::%loop-value%::done::%{_target}%} is true:

                                                                set {_arena} to {parkour::arena::%loop-value%}

                                                                set {_time} to {parkour::arena::%loop-value%::time::%{_target}%}

                                                                set {_minutes} to rounded down {_time}/60

                                                                set {_seconds} to {_time}-({_minutes}*60)

                                                                if {_time} is not 0:

                                                                        add "&c%{_arena}% &7(&c%{_minutes}% min %{_seconds}% sec&7)" to {_arenas::*}

                                                set {_list} to "%{_arenas::*}%"

                                                replace all "<none>" with "" in {_list}

                                                replace all " and" with "," in {_list}

                                                send "{@tag} &7Completed arenas: &c%{_list}%"

                                                stop

                                        else:

                                                send "{@tag} &cThis player is not online."

                                                stop

                                else:

                                        send "{@tag} &cYou do not have required permissions."

                                        stop

                if arg 1 is "toptime":

                        if arg 2 is set:

                                if {parkour::arena::%arg 2%} is set:

                                        send "{@tag} &6Arena &b%arg 2% &6toptime rank:"

                                        loop 10 times:

                                                if {toptime::arena::%arg 2%::%loop-number%::player} is set:

                                                        set {_player} to {toptime::arena::%arg 2%::%loop-number%::player}

                                                        set {_time} to {toptime::arena::%arg 2%::%loop-number%::time}

                                                        send "{@tag} &7%loop-number%. &c%{_player}% &7- &c%{_time}% seconds"

                                                else:

                                                        send "{@tag} &7%loop-number%."

                                        stop

                                else:

                                        send "{@tag} &cArena &b%arg 2% &cis not exist."

                                        stop

                        else:

                                send "{@tag} &cCorrect usage: &7/parkour toptime <arena>"

                                stop

                else:

                        execute player command "p"

                        stop

 

 

#Poczatkowy etap

on walking on {@startblock}:

        if block below event-block is command block:

                if {parkour::status::%player%} is true:

                        if {parkour::counter::%player%} is false:

                                set {parkour::counter::%player%} to true

                                send "{@tag} &6Run! Good luck."

 

#Upadek z areny

on walking on {@failblock}:

        if block below event-block is command block:

                if {parkour::status::%player%} is true:

                        if {parkour::counter::%player%} is true:

                                send "{@tag} &cYou fell out of the track!"

                                loop {parkour::arena::*}:

                                        if {parkour::arena::%loop-value%::players::%player%} is set:

                                                set {_arena} to {parkour::arena::%loop-value%}

                                teleport player to {parkour::arena::%{_arena}%::spawn}

                                set {parkour::time::%player%} to 0

                                set player's level to 0

 

#Koncowy etap

on walking on {@endblock}:

        if block below event-block is command block:

                if {parkour::status::%player%} is true:

                        if {parkour::counter::%player%} is true:

                                loop {parkour::arena::*}:

                                        if {parkour::arena::%loop-value%::players::%player%} is set:

                                                set {_arena} to {parkour::arena::%loop-value%}

                                                clear {parkour::arena::%loop-value%::players::%player%}

                                if {parkour::arena::%{_arena}%::done::%player%} is false:

                                        send "{@tag} &6You have completed the arena &b%{_arena}%&6!"

                                        set {parkour::arena::%{_arena}%::done::%player%} to true

                                        if {parkour::arena::%{_arena}%::xp} is set:

                                                set {_xp} to {parkour::arena::%{_arena}%::xp}

                                                add {_xp} to {parkour::xp::%player%}

                                                send "{@tag} &6You have gained &b%{_xp}% &6xp. You have &b%{parkour::xp::%player%}% &6xp now."

                                                set {_lvl} to rounded down {parkour::xp::%player%}/{@nextlevel}

                                                if {_lvl} is larger than {parkour::level::%player%}:

                                                        send "{@tag} &6You have reached a new level! Your level is now &b%{_lvl}%&6."

                                                        set {parkour::level::%player%} to {_lvl}

                                if {parkour::arena::%{_arena}%::time::%player%} is 0:

                                        set {parkour::arena::%{_arena}%::time::%player%} to {parkour::time::%player%}

                                else if {parkour::arena::%{_arena}%::time::%player%} is more than {parkour::time::%player%}:

                                        set {parkour::arena::%{_arena}%::time::%player%} to {parkour::time::%player%}

                                if {toptime::arena::%{_arena}%::1::time} is not set:

                                        set {toptime::arena::%{_arena}%::1::time} to {parkour::arena::%{_arena}%::time::%player%}

                                        set {toptime::arena::%{_arena}%::1::player} to player

                                else if {parkour::arena::%{_arena}%::time::%player%} is smaller than {toptime::arena::%{_arena}%::1::time}:

                                        set {toptime::arena::%{_arena}%::1::time} to {parkour::arena::%{_arena}%::time::%player%}

                                        set {toptime::arena::%{_arena}%::1::player} to player

                                if {toptime::arena::%{_arena}%::2::player} is not player:

                                        set {toptime::arena::%{_arena}%::2::time} to {toptime::arena::%{_arena}%::1::time}

                                        set {toptime::arena::%{_arena}%::2::player} to {toptime::arena::%{_arena}%::1::player}

                                else:

                                        if {parkour::arena::%{_arena}%::time::%player%} is smaller than {toptime::arena::%{_arena}%::2::time}:

                                                set {toptime::arena::%{_arena}%::2::time} to {toptime::arena::%{_arena}%::1::time}

                                set {_rank} to 3

                                set {_previousrank} to 2

                                loop 8 times:

                                        if {parkour::arena::%{_arena}%::time::%player%} is smaller than {toptime::arena::%{_arena}%::%{_rank}%::time}:

                                                if {toptime::arena::%{_arena}%::%{_rank}%::player} is not player:

                                                        set {toptime::arena::%{_arena}%::%{_rank}%::time} to {toptime::arena::%{_arena}%::%{_previousrank}%::time}

                                                        set {toptime::arena::%{_arena}%::%{_rank}%::player} to {toptime::arena::%{_arena}%::%{_previousrank}%::player}

                                                        add 1 to {_rank}

                                                        add 1 to {_previousrank}

                                set {_time} to {parkour::time::%player%}

                                set {_minutes} to rounded down {_time}/60

                                set {_seconds} to {_time}-({_minutes}*60)

                                send "{@tag} &6Your time: &b%{_minutes}% &6minutes &b%{_seconds}% &6seconds."

                                teleport player to {parkour::lastlocation::%player%}

                                clear {parkour::lastlocation::%player%}

                                set {parkour::status::%player%} to false

                                set {parkour::counter::%player%} to false

                                set {parkour::time::%player%} to 0

                                set player's level to 0

 

 

#Mierzenie czasu

every 1 second:

        loop all players:

                if {parkour::status::%loop-player%} is true:

                        if {parkour::counter::%loop-player%} is true:

                                add 1 to {parkour::time::%loop-player%}

                                set loop-player's level to {parkour::time::%loop-player%}

 

#Blokada komend

on command:

        if {parkour::status::%player%} is true:

                if command is not "parkour" or "p":

                        cancel event

                        send "{@tag} &cThis command is not allowed on the arena."

                        stop

 

#Tworzenie tabliczek

on sign change:

        if line 1 is "[Parkour]":

                if player has permission "parkour.*" or "parkour.createsigns":

                        if line 2 is "Join":

                                if line 3 is not empty:

                                        set line 1 to "&1[Parkour]"

                                        set line 2 to "&3Join"

                                        if {parkour::arena::%line 3%} is set:

                                                set line 3 to "&a%line 3%"

                                                stop

                                        else:

                                                send "{@tag} &cArena &b%line 3% &cis not exist."

                                                cancel event

                                                stop

                                else:

                                        send "{@tag} &cLine 3 cannot be empty."

                                        cancel event

                                        stop

                        else if line 2 is "Leave":

                                if line 3 is empty:

                                        set line 1 to "&1[Parkour]"

                                        set line 2 to "&3Leave"

                                        stop

                                else:

                                        send "{@tag} &cLine 3 has to be empty."

                                        cancel event

                                        stop

                        else:

                                Send "{@tag} &cLine 2 cannot be other than &aJoin/Leave&c."

                                cancel event

                                stop

                else:

                        send "{@tag} &cYou do not have required permissions."

                        cancel event

                        stop

        else:

                stop

 

#Dolaczanie przez tabliczki

on rightclick on sign:

        if line 1 of clicked block is "&1[Parkour]":

                if player has permission "parkour.*" or "parkour.usesigns":

                        if line 2 of clicked block is "&3Leave":

                                execute player command "parkour leave"

                                stop

                        else if line 2 of clicked block is "&3Join":

                                execute player command "parkour join %uncoloured line 3 of clicked block%"

                                stop

on hunger bar change:

        if {parkour::status::%player%} is true:

                cancel event

on break of sign:s

        if line 1 of event-block is "&1[Parkour]":

                send "{@tag} &cYou do not have required permissions."

                cancel event

                stop
Bez-nazwy_sqxsspp.png
Opublikowano

@SIR1PACMAN

Jest dziwny błąd, wchodzę na ten block przykładowo green wool i się wnikam w niego, po prostu staje się jakby duchem i można przez niego przechodzić.

Proszę o pomoc :/
 

Edit: Zrobiłem już ze po przejściu nie wnika się w blok, ale nie daje mi XP po przejściu parkoura, a ustawiłem ile ma dawać.

Opublikowano

REFRESH:

 

Zrobiłem już ze po przejściu nie wnika się w blok, ale nie daje mi XP po przejściu parkoura, a ustawiłem ile ma dawać.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...