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

#1 Skript - Event "on command"


Δvy

Rekomendowane odpowiedzi

Opublikowano

bqmU1tL.png

 

Siemaneczko, w dzisiejszym poradniku nauczę was, lub podszkolę wasze informacje na temat eventu "on command".

Zacznijmy od samego pojęcia "event", czym to się je? Event, jest to czynność wykonana po danej czynności, masło maślane? :O
Może łatwiej wam będzie zrozumieć w praktyce:

on command:
       if player has permission "*":
              send "Wysylasz wiadomosc z poziomu administratora"
       else:
              cancel event
              send " Nie mozesz wylac wiadomosci"

Zacznijmy od wytłumaczenia wszystkich linii.

1. on chat < akcja, wykonana po wysłaniu wiadomości

2. if player has permission "*" < jeżeli posiada permissie "*"

3. send "Wysylasz wiadomosc z poziomu administratora" <wysyla informacje do wykonującej komendę

4. else < jeżeli nie, dotyczy to ostatniego "if", z tym samym TAB-em (tej samej odległosći od brzegu), w tym przypadku "if player has permission "*":"

5. cancel event < blokuje wszystkie możliwe akcje

6. send " Nie mozesz wylac wiadomosci"< znowu wysyła informacje do osoby wykonującej komendę , tym razem o innej treści

 

Przejdźmy do blokady komendy, w moim przypadku "plugins".

on command "/plugins":
       if player dosen't has permission "*":
              cancel event
              send "Ta komenda zostala zablokowana"              

Tłumaczenie  wszystkich linii:

1. on command "/plugins": < jeżeli zostanie wykorzystana komenda "plugins"

2. if player dosen't has permission "*": <jeżeli gracz nie ma permissi "*"

3. cancel event < blokuje akcje

4. send < wysyla informacje

 

Hm, no dobra, ale konsola nie ma permissi! Nie wpisze plugins, poprzez konsole!

Co w takim razie?

on command "/plugins":
       if sender is player:
              if player dosen't has permission "*":
                    cancel event
                     send "Ta komenda zostala zablokowana"              

Tutaj pozostaje tylko do wytłumaczenia linia 2, "if sender is player" - jeżeli komenda jest wykonywana przez gracza.

 

No, fajnie, ale komend jest wiele, nie chce mieć "3 tony" kodu.

W tym przypadku, podczas jednego eventu wykorzystamy parę komend.

W moim przypadku "pl", "plugins", "?" i "help".

on command "/plugins" or "/pl" or "/?" or "/help":
       if player dosen't has permission "*":
              cancel event
              send "Ta komenda zostala zablokowana"              

Do wytłumaczenia zostaje 1 linia, gdzie oddzielimy komendy "or" - tj. "lub".

Więc, brzmi to mniej więcej tak -

Jeżeli zostanie użyta komenda "plugins" lub "pl" lub "?" lub "help":
       jeżeli gracz nie posiada permissi "*":
            zablokuj wszystko
            wyślij "Ta komenda zostala zablokowana"

Teraz może, by gracz nie mógł wykonywać komend po 15 sekundach od zalogowania.

on command:
        if {komenda.%player%} is true:
              cancel event
              send "Nie mozesz uzywac komend 15 sekun po zalogowaniu"
on join:
       set {komenda.%player%} to true
       wait 15 seconds
       set {komenda.%player%} to false
on skript reload:
       loop all players:
              if {komenda.%loop-player%} is true:
                     set {komenda.%loop-player%} to false

Na starcie wyjaśnie wam wszystko.

1. on command  < jeżeli komenda zostanie użyta

2. if {komenda.%player%} is true < jeżeli opcja gracza "komenda" jest "true"

3. cancel event < zablokuj event

4. send < wyslij informacje

 

1. on join < po dolaczenia do gry

2. set {komenda.%player%} to true < ustaw opcje gracza "komenda" na "true"

3. wait 15 seconds < odczekaj 15 realnych sekund

4. set {komenda.%player%} to false < ustaw opcje gracza "komenda" na "false"

 

*1. on skript reload < po przeladowaniu skryptu

*2. loop all players < zaznacz wszystkich graczy

*3. if {komenda.%loop-player%} is true <jeśli opcja zaznaczonych graczy jest ustawiona na "true"

*4. set {komenda.%loop-player%} to false < ustaw opcje zaznaczonych graczy na "false"

 

Część skryptu, zaznaczona * jest dodatkowa, pełni funkcje anty-bugu.

 

I o to koniec poradnika, widzimy się w następnych. :)

  • 1 rok później...
Opublikowano

Jak dla mnie dość słabe te poradniki - nie mówię, że nic nie zrozumie się. Jak poświęcasz cały temat jednemu zdarzeniu (on command) to chociaż go jak najdokładniej opisz, a nie przepiszesz dokumentacje, spolszczysz + podasz bardziej zaawansowany przykład.
W tym poradniku brakuje np. jak odwołać się do komendy, tj. wg. przykładu:
 

on command:
  if event-command is "tp":
    message "Wywolano komende tp"

Tylko przykład (ps: Nie działa chyba ;f)

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...