Skocz do zawartości
  • 0

Skrypt na czasowe uprawnienia


Pytanie

Witam. Potrzebuje skryptu, który sprawi, że jeśli posiadamy przedmiot STONE z nazwą ELOMELO i trzymamy go w rączce to gdy naciśniemy prawy przycisk myszki trzymając go wykona się komenda:- pex user %sender% add essentials.repair po czym przedmiot zniknie nam z ekwipunku. Jednocześnie gdy dostaniemy uprawnienie zacznie odliczać się czas np. 3minuty i gdy czas minie wykona się komenda /pex user %sender% remove essentials.repair i gracz straci uprawnienie do komendy /repair. 

 

Samemu udało mi się zrobić coś takiego:

on right click with stone:
    if player's tool's name is "ELOMELO":
        execute console command "pex user %sender% add essentials.repair"
        remove 1 stone named "" from player
        wait 3 minutes
        execute console command "pex user %sender% remove essentials.repair"
command /ssdd1:
    permission: ssdd1
    permission message: &cNie Masz Dostepu Do Tej Komendy!
    trigger:
        execute console command "give %sender% stone name:ELOMELO"

Niestety podczas przeładowania całego serwera (wyłączenia i włączenie) czas przestaje się odliczać i gracz ostatecznie będzie miał uprawnienie na zawsze. 

 

Chciałbym jednak aby czas się dalej odliczał i ostatecznie gdy minie określony czas wykona się komenda związana z zabieraniem uprawnienia.

Odnośnik do komentarza
https://skript.pl/temat/25978-skrypt-na-czasowe-uprawnienia/
Udostępnij na innych stronach

11 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
on right click holding stone:
    if player's tool's name is "ELOMELO":
        execute console command "pex user %player% add essentials.repair"
        remove 1 stone named "ELOMELO" from player
        wait 3 minutes
        execute console command "pex user %player% remove essentials.repair"
command /ssdd1:
    permission: ssdd1
    permission message: &cNie Masz Dostepu Do Tej Komendy!
    trigger:
        execute console command "give %player% stone name:ELOMELO"

:) nie testowane ale licze na Plusss + :D jak cos nie dziala to pisz kumplu

Edytowane przez xxTrollPLxx
Odnośnik do komentarza
https://skript.pl/temat/25978-skrypt-na-czasowe-uprawnienia/#findComment-171446
Udostępnij na innych stronach

  • 0

@xxTrollPLxx mu chodzi o to ze gdy wylaczy serwer to te 'wait 3 minutes' wgl nie dziala.

@topic

mozesz zrobic po prostu cos typu

{minutes::%player%}, ustawiac to na 60*3, i w every second loopowac graczy z zmiennej grupowej (wczesniej ich dodasz do tej zmiennej - {minutes.list::**}), sprawdzasz czy ta zmienna '{minutes::%player%}' jest, jezeli nie to ustawiasz na te 60*3, i co sekunde usuwasz z niej jeden, wtedy po uruchomieniu serwera zostanie po prostu czas do odczekania taki jaki byl przed wylaczeniem serwera, gdy bedzie czas na 0 usuwasz uprawnienie, usuwasz gracza ze zmiennej grupowej i usuwasz zmienna {minutes::%player%}

Odnośnik do komentarza
https://skript.pl/temat/25978-skrypt-na-czasowe-uprawnienia/#findComment-171469
Udostępnij na innych stronach

  • 0

@yooniks Czy to przypadkiem nie będzie mocno spowalniać działanie serwera? 

 

gdy bedzie czas na 0 usuwasz uprawnienie, usuwasz gracza ze zmiennej grupowej i usuwasz zmienna {minutes::%player%}

Sam będę musiał to robić czy popełniłeś po prostu błąd pisząc "(usuwasz) uprawnienie" i chodzi ci, że samo będzie się usuwało?

 

Nie ma innych sposobów by to zrobić? 

Odnośnik do komentarza
https://skript.pl/temat/25978-skrypt-na-czasowe-uprawnienia/#findComment-171530
Udostępnij na innych stronach

  • 0

@yooniks Mógłbyś podesłać cały kod? Sam raczej dobrze tego nie zrobię

 

 

 

#EDIT:

 

Można zamknąć. Zobaczyłem, że w samym pluginie permissionsex jest taka opcja nadawania uprawnień na czas.

/pex user <user> timed add <permission> <lifetime in seconds> [world]

 

 

@yooniks Posiadam teraz kod:

on right click with firework star:
    if player's tool's name is "&6&ltest":
        execute console command "pex user %player% timed add essentials.repair 20"
        execute console command "broadcast &aGracz &c%sender% &auzyl przepustki i otrzymal komende &c/repair "
        remove 1 firework star named "&6&ltest" from player
        send "&8>> &aOtrzymales uprawnienie do komendy &c/repair &ana "

Jak przekształcić kod by najpierw skrypt sprawdzał czy gracz ma uprawnienia do komendy repair a dopiero wtedy gdy gracz nie posiada uprawnienia do komendy /repair może użyć ten przedmiot.

Edytowane przez DreaMPL
Odnośnik do komentarza
https://skript.pl/temat/25978-skrypt-na-czasowe-uprawnienia/#findComment-171535
Udostępnij na innych stronach

  • 0

Aktualnie posiadam w miarę działający kod lecz chciałbym by skrypt jeszcze sprawdzał czy opis przedmiotu (lore) był np. "elo"

Mój kod:

on right click with firework star:
    if player's tool's name is "test":
        if player has permission "essentials.repair":
            send "e2"
            stop
        execute console command "pex user %player% timed add essentials.repair 20"
        execute console command "broadcast &aGracz &c%sender%"
        remove 1 firework star named "test" from player
        send "e1"

 

Odnośnik do komentarza
https://skript.pl/temat/25978-skrypt-na-czasowe-uprawnienia/#findComment-171722
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ę...