Skocz do zawartości
  • 0

Gadżety po starcie areny [BEDWARS]


Pytanie

Witam, potrzebuję skryptu który umożliwi działanie wszystkich dodatków (Z GadgetsMenu) 2minuty po starcie areny (bedwars). Aktualnie na bedwars używam pluginu Bedwars1058.
Ktoś by się podją? z góry, dziękuje i pozdrawiam.

Edytowane przez pet36837
Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/
Udostępnij na innych stronach

Rekomendowane odpowiedzi

  • 0
Teraz, pet36837 napisał:

Witam, potrzebuję skryptu który umożliwi działanie wszystkich dodatków (Z GadgetsMenu) 2minuty po starcie areny (bedwars). Aktualnie na bedwars używam pluginu Bedwars1058.
Ktoś by się podją? z góry, dziękuje i pozdrawiam.

A jak ty chciałbyś to zrobić? Kiedy jest start areny? Jak się używa tych gadżetów?

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282729
Udostępnij na innych stronach

  • 0

Nie słyszałem o żadnym addonie, który połączy ten plugin ze Skryptem, co za tym idzie nie ma możliwości dowiedzieć się, kiedy gra się rozpoczyna.

Zostaje skript-mirror https://forums.skunity.com/threads/skript-mirror-bedwars-plugin.7874/

 

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282732
Udostępnij na innych stronach

  • 0

chcę aby po evencie PlayerJoinArenaEvent po uplywie 2minut dzialaly gadzety, lecz jezeli gracz po wejsciu, i wysjciu (Event: PlayerLeaveArenaEvent) czas sie resetuje i gracz moze uzywac gadzetow bez czekania.

 

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282737
Udostępnij na innych stronach

  • 0
Teraz, pet36837 napisał:

dzięki, lecz nie za bardzo umiem używać skript-mirrora

 

Nie używaj skript-mirror, użyj skript-reflect.

Poradnik znajdziesz na stronie dodatku.

I tak...

1. Patrzysz jaki package ma dany event.

2. Importujesz go w sekcji 'import'.

3. Używasz eventu 'on [nazwa eventu]'.

4. Ustawiasz zmienną globalną (np. 'set {blockGadgets} to now').

5. Przy próbie użycia jakiegokolwiek gadżetu sprawdzasz czy różnica w czasie między 'now', a czasem w zmiennej jest mniejszy niż 2 minuty - jeżeli tak, anulujesz event i wysyłasz graczowi wiadomość, że nie może go jeszcze użyć (jeżeli gadżety są zawsze w jednym slocie, wystarczy sprawdzać 'player's current hotbar slot').

To by było właściwie na tyle.

Teraz, pet36837 napisał:

chcę aby po evencie PlayerJoinArenaEvent po uplywie 2minut dzialaly gadzety, lecz jezeli gracz po wejsciu, i wysjciu (Event: PlayerLeaveArenaEvent) czas sie resetuje i gracz moze uzywac gadzetow bez czekania.

 

To są player eventy, więc będą wywoływane osobno dla każdego gracza. Lepiej użyć jakiegoś typowo serwerowego/gameplayowego.

 

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282738
Udostępnij na innych stronach

  • 0

Napisałem coś takiego, czy jest to dobre? mam problem z 5. nie jestem az tak zaawansowany w skripcie.

import:
    java.lang.System
    org.bukkit.event.Event.GeneratorUpgradeEvent
on GeneratorUpgradeEvent:
set {blockGadgets} to now
command /g:
    trigger:
        if {blockGadgets} is now:
set {_czas} to difference between {czasczekania::%player%} and now
if {_czas} isn't less than 2 minutes:
        execute player command "say dziala"
    set {czasczekania::%player%} to now
else:
    send "Poczekaj 2 minuty"

 

Edytowane przez xNightPower_
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282747
Udostępnij na innych stronach

  • 0
Teraz, pet36837 napisał:

Napisałem coś takiego, czy jest to dobre? mam problem z 5. nie jestem az tak zaawansowany w skripcie.

Masz źle wytabowany kod. Dodatkowo użyłeś złego eventu, gdyż ten event jest wywoływany przy każdym ulepszeniu generatora. Znajdź jakiś event, który jest wywoływany na samym początku gry.

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282748
Udostępnij na innych stronach

  • 0

a teraz?, z góry dzięki że pomagasz.

import:
   java.lang.System
   org.bukkit.event.Event.ArenaEnableEvent

on ArenaEnableEvent:
            set {blockGadgets} to now
command /g:
    trigger:
    if {blockGadgets} is now:
            set {_czas} to difference between {czasczekania::%player%} and now
            if {_czas} isn't less than 2 minutes:
        execute player command "say dziala"
    set {czasczekania::%player%} to now
        else:
    send "Poczekaj 2 minuty"

 

 

Edytowane przez xNightPower_
zle tabowanie importu
Nieaktywny

Umieszczam kod w code.

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282749
Udostępnij na innych stronach

  • 0

trudno określić wytabowanie skryptu, jeśli nie wstawiasz kodu w formatowanie code.

Na pierwszy rzut oka to tu są spacje nie taby, w linijce 6 są ze 4 taby, wszystko źle. 

 

zasada jest taka: po każdym dwukropku dajesz w następnej linii jeden tabulator więcej

Edytowane przez CoFFeIN04
Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282750
Udostępnij na innych stronach

  • 0
import:
  java.lang.System
  org.bukkit.event.Event.ArenaEnableEvent

on ArenaEnableEvent:
            set {blockGadgets} to now
command /g:
	trigger:
    if {blockGadgets} is now:
            set {_czas} to difference between {czasczekania::%player%} and now
            if {_czas} isn't less than 2 minutes:
        execute player command "say dziala"
    set {czasczekania::%player%} to now
        else:
	send "Poczekaj 2 minuty"

Jak zle, ktos poradzi? nie umiem zbytnio tabowac, ani pisac skriptu a potrzebne...

 

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282751
Udostępnij na innych stronach

  • 0
2 minuty temu, CoFFeIN04 napisał:

zasada jest taka: po każdym dwukropku dajesz w następnej linii jeden tabulator więcej

a teraz zastosuj się do tej zasady. 
Nie bardzo wiem, dlaczego każda linia jest dosłownie inaczej wytabowana.

2 minuty temu, pet36837 napisał:

java.lang.System
org.bukkit.event.Event.ArenaEnableEvent

tutaj powinieneś zastosować jeden tabulator

2 minuty temu, pet36837 napisał:

on ArenaEnableEvent:

bez tabulatorów

2 minuty temu, pet36837 napisał:

set {blockGadgets} to now

tu też jeden

3 minuty temu, pet36837 napisał:

trigger:

jeden tabulator

3 minuty temu, pet36837 napisał:

if {blockGadgets} is now:

2 tabluatory

3 minuty temu, pet36837 napisał:

execute player command "say dziala"

jak widać, poprzednia linijka kończyła się dwukropkiem, czyli tutaj powinien być jeden więcej tabulator, a nie mniej

4 minuty temu, pet36837 napisał:

else:

else musi być wytabowany tak samo jak warunek do którego się odnosi

4 minuty temu, pet36837 napisał:

send "Poczekaj 2 minuty"

po else jest dwukropek, zatem jeden tab więcej

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282754
Udostępnij na innych stronach

  • 0
3 minuty temu, pet36837 napisał:

a teraz?, z góry dzięki że pomagasz.

Ciągle masz źle wytabowany kod.

Najlepiej byłoby użyć eventu GameStateChangeEvent, w którym sprawdzamy enuma GameState z pomocą metody getNewState() (jego też trzeba zaimportować). Tutaj należy sprawdzić czy getNewState() to jest 'GameState.starting' (tak mi się wydaje, że to jest to - ewentualnie będzie to 'GameState.playing').

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282755
Udostępnij na innych stronach

  • 0
import:
	java.lang.System
	org.bukkit.event.Event.GameStateChangeEvent
    getNewState()
on GameStateChangeEvent:
	set {blockGadgets} to now
command /g:
	trigger:
    if getNewState() is GameState.starting:
            set {_czas} to difference between {czasczekania::%player%} and now
            if {_czas} isn't less than 2 minutes:
        execute player command "say dziala"
    set {czasczekania::%player%} to now
    else:
	send "Poczekaj 2 minuty"

tak o?

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282756
Udostępnij na innych stronach

  • 0

nie wiem co jest u mnie nie tak, przyznam ze lepiej bym wzia gotowca z neta, ale chce sam sie pomeczyc, a czegos takiego pewnie nie znajde. Blad jest w tabowaniu, czy caly skrypt jest nie tak? kod jest dobry, ale tabowanie zle?

 

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282765
Udostępnij na innych stronach

  • 0

Na składnię aktualnie nie będę zwracać uwagi,

14 minut temu, pet36837 napisał:

        trigger:
    if getNewState() is GameState.starting:

Spójrz w swój kod, dlaczego trigger: ma dwukropek na końcu linijki, a w następnej linijce nie dałeś jednego więcej tabulatora.

 

Odnośnik do komentarza
https://skript.pl/temat/44972-gad%C5%BCety-po-starcie-areny-bedwars/#findComment-282769
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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