Skocz do zawartości
  • 0

/tpa cooldown


Marekp
 Udostępnij

Pytanie

Potrzebuję skrypt na tpa, tpaccept, tpdeny.

 

Robię serwer bungeecord i niestety SuiteTeleport, ani geSuit nie mają możliwości ustawienia teleportacji po 5 sekundach (czy ogólnie po wpisanym czasie).

 

Jest fork do geSuit ale nie chcę zmieniać już ogólnej konfiguracji serwera.

 

Także... skrypt ma obsługiwać polecenia /tpa, /tpaccept, /tpdeny z możliwością ustawienia dowolnego czasu, po którym nastąpi teleportacja.

 

Dodatkowo skrypt ma obsługiwać takie elementy jak tpdeny albo anulowanie tpa jeżeli któryś z graczy się ruszy.

 

Skrypt nie musi zawierać żadnych permisji. Kontrolę nad /tpa posiada SuiteTeleport.

 

Marek

Odnośnik do komentarza
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
command /tpa [<player&gt]:    trigger:        if arg 1 is set:            if {tpa.%arg%} is false:                set {tpa.%arg%} to true                set {tpa.%arg%.requester} to player                send "&aWyslales prosbe o teleportacje."                send "&e%player% &6wyslal tobie prosbe o teleportacje!"                send "&6Wpisz &a/tpaccept &6by akceptowac." to arg                send "&6Wpisz &a/tpdeny &6by anulowac." to arg                set {tpa.%arg%.accept} to true                stop            else:                send "&cTen gracz otrzymal juz prosbe od ciebie badz innego gracza!"                stopcommand /tpaccept:    trigger:        if {tpa.%player%} is true:            if {tpa.%player%.accept} is true:                set {tpa.%player%.accept} to false                send "&aZaakceptowales prosbe &2%{tpa.%arg%.requester}%&a!"                send "&2%player% &azaakceptowal twoja prosbe!" to {tpa.%player%.requester}                set {teleporting.%{tpa.%player%.requester}%} to true                send "&aNie ruszaj sie przez 5 sekund!" to player                wait 5 seconds                set {tpa.%player%} to false                set {teleporting.%{tpa.%player%.requester}%} to false                teleport {tpa.%player%.requester} to playercommand /tpdeny:    trigger:        if {tpa.%player%} is true:            set {tpa.%player%} to false            set {tpa.%player%.accept} to false            send "&cAnulowales prosbe o teleportacje!"            send "&c%player% &4anulowal twoja prosbe" to {tpa.%player%.requester}on any movement:    if {teleporting.%player%} is true:        cancel eventon quit:    if {teleporting.%player%} is true:        set {teleporting.%player%} to false#zabezpieczenie przed bugowaniem sie
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0
command /tpa [<player&gt]:    trigger:        if arg 1 is set:            if {tpa.%arg%} is false:                set {tpa.%arg%} to true                set {tpa.%arg%.requester} to player                send "&aWyslales prosbe o teleportacje."                send "&e%player% &6wyslal tobie prosbe o teleportacje!"                send "&6Wpisz &a/tpaccept &6by akceptowac." to arg                send "&6Wpisz &a/tpdeny &6by anulowac." to arg                set {tpa.%arg%.accept} to true                stop            else:                send "&cTen gracz otrzymal juz prosbe od ciebie badz innego gracza!"                stopcommand /tpaccept:    trigger:        if {tpa.%player%} is true:            if {tpa.%player%.accept} is true:                set {tpa.%player%.accept} to false                send "&aZaakceptowales prosbe &2%{tpa.%arg%.requester}%&a!"                send "&2%player% &azaakceptowal twoja prosbe!" to {tpa.%player%.requester}                set {teleporting.%{tpa.%player%.requester}%} to true                send "&aNie ruszaj sie przez 5 sekund!" to player                wait 5 seconds                set {tpa.%player%} to false                set {teleporting.%{tpa.%player%.requester}%} to false                teleport {tpa.%player%.requester} to playercommand /tpdeny:    trigger:        if {tpa.%player%} is true:            set {tpa.%player%} to false            set {tpa.%player%.accept} to false            send "&cAnulowales prosbe o teleportacje!"            send "&c%player% &4anulowal twoja prosbe" to {tpa.%player%.requester}on any movement:    if {teleporting.%player%} is true:        cancel eventon quit:    if {teleporting.%player%} is true:        set {teleporting.%player%} to false#zabezpieczenie przed bugowaniem sie
 
[11:34:56 INFO]: [skript] Reloading newtpa.sk...
[11:34:56 ERROR]: This command doesn't have any arguments (newtpa.sk, line 21: send "&aZaakceptowales prosbe &2%{tpa.%arg%.requester}%&a!"')
[11:34:56 ERROR]: can't understand this event: 'on any movement' (newtpa.sk, line 36: on any movement:')
[11:34:56 INFO]: [skript] Encountered 2 errors while reloading newtpa.sk!
 
>skript update check
[11:37:59 INFO]: [skript] You're currently running the latest stable version of Skript.
 
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

 

 
[11:34:56 INFO]: [skript] Reloading newtpa.sk...
[11:34:56 ERROR]: This command doesn't have any arguments (newtpa.sk, line 21: send "&aZaakceptowales prosbe &2%{tpa.%arg%.requester}%&a!"')
[11:34:56 ERROR]: can't understand this event: 'on any movement' (newtpa.sk, line 36: on any movement:')
[11:34:56 INFO]: [skript] Encountered 2 errors while reloading newtpa.sk!
 
>skript update check
[11:37:59 INFO]: [skript] You're currently running the latest stable version of Skript.
 

 

21 linia na

send "&aZaakceptowales prosbe &2%{tpa.%player%.requester}%&a!"

i wymaga skQuery (on any movement)

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

 

Wszystko jest dobrze jaki masz skript spróbuj na 2.1.2

 

 

[19:38:25 INFO]: [skript] You're currently running the latest stable version of Skript. (mam 2.1.2)

 

21 linia na

send "&aZaakceptowales prosbe &2%{tpa.%player%.requester}%&a!"

i wymaga skQuery (on any movement)

 

Wgrałem skQuery skQuery 4.0 prerelease:

 

>skript disable newtpa
 
[19:35:15 INFO]: [skript] Successfully disabled newtpa.sk.
 
>skript enable newtpa
 
[19:35:23 INFO]: [skript] Enabling newtpa.sk...
[19:35:23 WARN]: Unexpected exception while parsing console command "skript enable newtpa"
org.bukkit.command.CommandException: Unhandled exception executing command 'skript' in plugin Skript v2.1.2
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
Caused by: java.lang.NoSuchMethodError: ch.njol.util.NonNullPair.getSecond()Ljava/lang/Object;
        at ch.njol.skript.command.Commands.loadCommand(Commands.java:379) ~[?:?]
        at ch.njol.skript.ScriptLoader.loadScript(ScriptLoader.java:462) ~[?:?]
        at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:262) ~[?:?]
        at ch.njol.skript.SkriptCommand.onCommand(SkriptCommand.java:200) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        ... 8 more
 
Wgrałem dla wersji 1.7.9
 
>skript disable newtpa
 
[19:38:41 INFO]: [skript] Successfully disabled newtpa.sk.
 
>skript enable newtpa
 
[19:38:48 INFO]: [skript] Enabling newtpa.sk...
[19:38:48 ERROR]: This command doesn't have any arguments (newtpa.sk, line 21: send "&aZaakceptowales prosbe &2%{tpa.%arg%.requester}%&a!"')
[19:38:48 INFO]: [skript] Encountered 1 error while parsing newtpa.sk!
 
Dla rozjaśnienia tematu mam spigota 1.8. Może jakaś wersja skript bez skQuery ? Mam z 3 róże wersje skryptów, jeden nie wypluwa błędów ale przy tpa teleportuje na odwrót. Osobę akceptującą tpa do osoby wysyłającej, a nie na odwrót. (Tak jakby to było polecenie tpahere).
 
Marek
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

 

[19:38:25 INFO]: [skript] You're currently running the latest stable version of Skript. (mam 2.1.2)

 

 

Wgrałem skQuery skQuery 4.0 prerelease:

 

>skript disable newtpa
 
[19:35:15 INFO]: [skript] Successfully disabled newtpa.sk.
 
>skript enable newtpa
 
[19:35:23 INFO]: [skript] Enabling newtpa.sk...
[19:35:23 WARN]: Unexpected exception while parsing console command "skript enable newtpa"
org.bukkit.command.CommandException: Unhandled exception executing command 'skript' in plugin Skript v2.1.2
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchCommand(CraftServer.java:646) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        at org.bukkit.craftbukkit.v1_8_R1.CraftServer.dispatchServerCommand(CraftServer.java:632) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.aM(DedicatedServer.java:353) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.DedicatedServer.z(DedicatedServer.java:317) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.y(MinecraftServer.java:623) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:526) [spigot.jar:git-Spigot-952179b-bbf72f3]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_25]
Caused by: java.lang.NoSuchMethodError: ch.njol.util.NonNullPair.getSecond()Ljava/lang/Object;
        at ch.njol.skript.command.Commands.loadCommand(Commands.java:379) ~[?:?]
        at ch.njol.skript.ScriptLoader.loadScript(ScriptLoader.java:462) ~[?:?]
        at ch.njol.skript.ScriptLoader.loadScripts(ScriptLoader.java:262) ~[?:?]
        at ch.njol.skript.SkriptCommand.onCommand(SkriptCommand.java:200) ~[?:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-952179b-bbf72f3]
        ... 8 more
 
Wgrałem dla wersji 1.7.9
 
>skript disable newtpa
 
[19:38:41 INFO]: [skript] Successfully disabled newtpa.sk.
 
>skript enable newtpa
 
[19:38:48 INFO]: [skript] Enabling newtpa.sk...
[19:38:48 ERROR]: This command doesn't have any arguments (newtpa.sk, line 21: send "&aZaakceptowales prosbe &2%{tpa.%arg%.requester}%&a!"')
[19:38:48 INFO]: [skript] Encountered 1 error while parsing newtpa.sk!
 
Dla rozjaśnienia tematu mam spigota 1.8. Może jakaś wersja skript bez skQuery ? Mam z 3 róże wersje skryptów, jeden nie wypluwa błędów ale przy tpa teleportuje na odwrót. Osobę akceptującą tpa do osoby wysyłającej, a nie na odwrót. (Tak jakby to było polecenie tpahere).
 
Marek

 

moznaby dodac tylko, aby dostal slowness 255, i nie mogl sie ruszyc (bez skQuery)

a z tym na odwrót to dziwne

Edytowane przez kondziu156
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

command /tpa [<text&gt]:        trigger:                if arg 1 is not set:                        send "Podaj nick gracza."                        stop                set {_arg1} to arg 1                set {_arg1} to {_arg1} parsed as offlineplayer                if {_arg1} is online:                        send "Gracz %player% wysyla Tobie zapytanie o teleportacje." to {_arg1}                        send "Wpisz &e/tpaccept &raby akceptowac" to {_arg1}                        send "Wpisz &e/tpdeny &raby anulowac" to {_arg1}                        send "Wyslales zapytanie o akceptowanie teleportacji do: %{_arg1}%"                        set {tpa::%{_arg1}%::sendAsk} to name of player                        set {tpa::%player%::toTeleport} to {_arg1}on quit:        if {tpa::%player%::toTeleport} is set:                clear {tpa::%{tpa::%player%::toTeleport}%::toTeleport}                 clear {tpa::%player%::toTeleport}        if {tpa::%player%::sendAsk} is set:                clear {tpa::%{tpa::%player%::sendAsk}%::sendAsk}                clear {tpa::%player%::sendAsk}command /tpaccept:        trigger:                if {tpa::%player%::sendAsk} is set:                        set {_p} to {tpa::sendAsk::%player%}                        set {_p} to {_p} parsed as offlineplayer                        if {_p} is online:                                send "Gracz %player% akceptowal twoje zapytanie o teleportacje." to {_p}                                send "Nie ruszaj sie przez 5 sekund." to {_p}                                send "Akceptowales zapytanie o teleportacje do Ciebie od %{_p}%"                                clear {tpa::%{_p}%::toTeleport}                                clear {tpa::%player%::toTeleport}                                clear {tpa::%{_p}%::sendAsk}                                clear {tpa::%player%::sendAsk}                                set {_x} to x-location of {_p}                                set {_y} to y-location of {_p}                                set {_z} to z-location of {_p}                                loop 5 times:                                        if difference between x-location of {_p} and {_x} is larger than 0.5:                                                send "Ruszyles sie. Teleportacja przerwana." to {_p}                                                stop                                        if difference between y-location of {_p} and {_y} is larger than 0.5:                                                send "Ruszyles sie. Teleportacja przerwana." to {_p}                                                stop                                        if difference between z-location of {_p} and {_z} is larger than 0.5:                                                send "Ruszyles sie. Teleportacja przerwana." to {_p}                                                stop                                        wait 1 second                                teleport _p} to player                                stop                        clear {tpa::%{_p}%::toTeleport}                        clear {tpa::%player%::toTeleport}                        clear {tpa::%{_p}%::sendAsk}                        clear {tpa::%player%::sendAsk}                        send "Nie ma od kogo akceptowac teleportacji."                        stop                send "Nie dostales prosby o teleporacje."command /tpdeny:        trigger:                if {tpa::%player%::sendAsk} is set:                        set {_p} to {tpa::%player%::sendAsk}                        set {_p} to {_p} parsed as offlineplayer                        if {_p} is online:                                clear {tpa::%{_p}%::toTeleport}                                clear {tpa::%player%::toTeleport}                                clear {tpa::%{_p}%::sendAsk}                                clear {tpa::%player%::sendAsk}                                send "Odrzucono prosbe o teleportacje od gracza %player%" to {_p}                                send "Odrzuciles prosbe o teleportacje do gracza %{_p}%"                                stop                        clear {tpa::%{_p}%::toTeleport}                        clear {tpa::%player%::toTeleport}                        clear {tpa::%{_p}%::sendAsk}                        clear {tpa::%player%::sendAsk}                        send "Nie ma od kogo odrzucic teleportacji."                        stop                send "Nie dostales prosby o teleporacje."
Ciekawie to zrobiłeś, ale dałeś teleport player to {_p}

czyli teleportuje tego co akceptuje do tego co wysłał :)

zmieniłem na teleport {_p} to player

Edytowane przez kondziu156
Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Ciekawie to zrobiłeś, ale dałeś teleport player to {_p}

czyli teleportuje tego co akceptuje do tego co wysłał :)

zmieniłem na teleport {_p} to player

 

To nie mój skrypt tylko z internetu.

 

Twój skrypt wgl nie działa. Wysyłam /tpa nick, dostaję na drugim nicku informację, że otrzymałem zapytanie o teleportację. Wpisuję /tpaccept i dostaję komunikat "Nie ma od kogo zaakceptować teleportacji"

 

Marek

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Ciekawie to zrobiłeś, ale dałeś teleport player to {_p}

czyli teleportuje tego co akceptuje do tego co wysłał :)

zmieniłem na teleport {_p} to player

 

To nie mój skrypt tylko z internetu.

 

Twój skrypt wgl nie działa. Wysyłam /tpa nick, dostaję na drugim nicku informację, że otrzymałem zapytanie o teleportację. Wpisuję /tpaccept i dostaję komunikat "Nie ma od kogo zaakceptować teleportacji"

 

Marek

No to przepraszam,

ale pisałem go na szybko.

To w końcu ten skrypt zadziałał (z netu), czy nie ?

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

A zrobiłeś tą poprawkę co napisałem ?

teleport player to {_p} na teleport {_p} to player

 

Napisałem ci wyżej przecież ...

 

"Twój skrypt wgl nie działa. Wysyłam /tpa nick, dostaję na drugim nicku informację, że otrzymałem zapytanie o teleportację. Wpisuję /tpaccept i dostaję komunikat "Nie ma od kogo zaakceptować teleportacji""

 

Marek

Odnośnik do komentarza
Udostępnij na innych stronach

  • 0

Napisałem ci wyżej przecież ...

 

"Twój skrypt wgl nie działa. Wysyłam /tpa nick, dostaję na drugim nicku informację, że otrzymałem zapytanie o teleportację. Wpisuję /tpaccept i dostaję komunikat "Nie ma od kogo zaakceptować teleportacji""

 

Marek

w skrypcie z neta...

Edytowane przez kondziu156
Odnośnik do komentarza
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...