Zdarzenia: Różnice pomiędzy wersjami

Z wiki.skript.pl
Przejdź do nawigacji Przejdź do wyszukiwania
(Utworzono nową stronę "'''Event''' – jeden z podstawowych elementów Skript'a, wykonujący kod napisany przez gracza, jeżeli nastąpi jedno z wielu wydarzeń na serwerze, na przykład ''wyp...")
 
m
 
(Nie pokazano 13 wersji utworzonych przez 4 użytkowników)
Linia 1: Linia 1:
'''Event''' – jeden z podstawowych elementów Skript'a, wykonujący kod napisany przez gracza, jeżeli nastąpi jedno z wielu wydarzeń na serwerze, na przykład ''wypicie mikstury, śmierć, podczas łączenia z serwerem, dołączenie na serwer'' itp.
+
[[Category:Skript]]
 +
'''Zdarzenie''' (ang. event) Zdarzenia wywołują się, jeśli coś na serwerze się stanie, np. dołączenie na serwer, wpisanie komendy, wykopanie bloku, wypicie mikstury itd. Wydarzeń można użyć do egzekucji kodu w momencie, kiedy np. gracz dołączy na serwer.
  
= Lista eventów =
+
<pre>
Poniższa lista jest kompatybilna wraz z wersją Skript v2.2
+
on first join:
 +
    give 16 bread to player
 +
    give a stone axe to player
 +
</pre> Po pierwszym dołączeniu do gry gracz otrzymuje chleb i kamienną siekierę. W Javie używa się zdarzenia wywołanego dołączeniem, a dopiero później metodą sprawdza się, czy gracz grał wcześniej.
 +
<pre>
 +
@EventHandler
 +
public void onFirstJoin(PlayerJoinEvent event) {
  
{| class="wikitable" style="width: 50%; margin-left: 10px; float: center"
+
    Player p = event.getPlayer();
|+ Lista eventów
+
     if ( !(p.hasPlayedBefore()) ) {
! style="width: 150px;" | Eventy
+
 
! Wydane
+
        private final ItemStack chleb = new ItemStack(Material.BREAD, 16);
! Opis
+
        private final ItemStack siekiera = new ItemStack(Material.STONE_AXE);
! Przykłady
+
         p.getInventory().addItem(chleb);
|-
+
        p.getInventory().addItem(siekiera);
! at time
+
 
| Skript 1.3.4
+
     }
| Aktywuje się o podanej godzinie na danym świecie
+
 
| <pre>at 18:00:
+
}
    broadcast "Minęła 18:00!"</pre>
+
</pre>
|-
+
 
! on area cloud effect
+
== Lista zdarzeń ==
| Skript 2.2-dev21
+
Skript, oraz wiele innych dodatków oferuje masę nowych zdarzeń, którymi można urozmaicić swój serwer.
| Aktywuje się jeżeli gracz otrzyma efekty z mikstury przewlekłej
+
 
| <pre>on area cloud effect:
+
* [https://skripthub.net/docs/ SkriptHub Documentation]
    cancel event</pre>
+
* [https://docs.skunity.com/syntax/events skDocs Documentation]
|-
+
 
! on bed enter
+
== Użycie innych zdarzeń z Skript-mirror ==
| Skript 1.0
+
{{Main|Skript-mirror}}
| Aktywuje się wtedy, kiedy gracz wejdzie do łóżka
+
Jeśli Skript nie oferuje zdarzenia takiego, jakiego chcemy, wtedy należy sięgnąć po [[skript-mirror]]. Przykład: Skript nie ma w sobie zdarzenia 'EntityBreedEvent', który chcemy użyć do systemu umiejętności rolnictwa.
| <pre>on bed enter:
+
 
     apply blindness to player
+
<pre>
    send "Miłych snów!"</pre>
+
import:
|-
+
     org.bukkit.event.entity.EntityBreedEvent
! on bed leave
+
 
| Skript 1.0
+
on EntityBreedEvent:
| Aktywuje się wtedy, kiedy gracz wyjdzie z łóżka
+
     set {_e} to event.getBreeder()
| <pre>on bed leave:
+
     add 5 to {breedingXP::%{_e}%}
    remove blindness to player
+
     send action bar "&3Farming: %{breedingXP::%{_e}%}%&3/%{breedingMaxXP::%{_e}%}%" to {_e}
    send "Dzień dobry!"</pre>
+
</pre>
|-
+
 
! on block damage
+
Lista zdarzeń jest zawarta w dokumentacji większości pluginów.
| Skript 1.0
+
* [https://hub.spigotmc.org/javadocs/spigot Dokumentacja Spigot]
| Aktywuje się wtedy, kiedy gracz zacznie niszczyć blok
 
| <pre>on block damage:
 
    cancel event
 
    send "Aby to zniszczyć potrzebujesz drewniany kilof!"</pre>
 
|-
 
! on block growth
 
| Skript 2.2-Fixes-V10
 
| Aktywuje się wtedy, kiedy nasiono urośnie
 
| <pre>on block growth:
 
    loop blocks in radius 2 around the event-block:
 
         if loop-block is not water:
 
            cancel event</pre>
 
|-
 
! on book edit
 
| Skript 2.2-dev31
 
| Aktywuje się wtedy, kiedy gracz edytuje treść książki
 
| <pre>on book edit:
 
    if name of player's tool contains "%player%":
 
        add 100 to player's balance
 
        send "Gratulacje, dostałeś 100$ za edycję książki"
 
    else:
 
        remove player's tool from player's inventory
 
        send "Ta książka nie należy do ciebie :("</pre>
 
|-
 
! on book sign
 
| Skript 2.2-dev31
 
| Aktywuje się wtedy, kiedy gracz podpisze książkę
 
| <pre>on book sign:
 
    send "Stworzyłeś arcydzieło"</pre>
 
|-
 
! on break / mine
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz zniszczy / wykopie (odpowiednim narzędziem dla ''mine'') blok
 
| <pre>on mine:
 
    if event-block is stone:
 
        chance of 50%:
 
            drop 1 of iron ingot at event-block
 
            send "Natrafiłeś na sztabkę żelaza!"</pre>
 
|-
 
! on bucket empty
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz opróżni wiadro
 
| <pre>on bucket empty:
 
     if {zapasywiader::%player%} > 0:
 
        remove player's tool from player's inventory
 
        give 1 of water bucket to player
 
        remove 1 from {zapasywiader::%player%}
 
    else:
 
        send "Nie masz już wiader!"</pre>
 
|-
 
! on bucket fill
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz napełni wiadro
 
| <pre>on bucket fill:
 
    add 1 to {zapasywiader::%player%}</pre>
 
|-
 
! on burn
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy blok zostanie zniszczony przez ogień
 
| <pre>on burn:
 
    create fake explosion at event-block</pre>
 
|-
 
! on can build check
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz położy blok i czy może go tutaj położyć
 
| <pre>on can build check:
 
    cancel event</pre>
 
|-
 
! on chat
 
| Skript 1.4.1
 
| Aktywuje się wtedy, kiedy gracz napisze wiadomość na czacie
 
| <pre>on chat:
 
    if {staff::%player%} is false:
 
        if {chat} is false:
 
            cancel event
 
            send "Czat został wyłączony, nie możesz tu pisać!"</pre>
 
|-
 
! on chunk generate
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy chunk zostanie odkryty
 
| <pre>on chunk generate:
 
    add 1 to {odkrytechunki}
 
    broadcast "Odkryto już %{odkrytechunki}% chunków"</pre>
 
|-
 
! on chunk load
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy chunk zostanie załadowany
 
| <pre>on chunk load:
 
    send "Załadowano chunk!"
 
    </pre>
 
|-
 
! on chunk unload
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy chunk zostanie odładowany
 
| <pre>on chunk unload:
 
     send "Odładowano chunk!"</pre>
 
|-
 
! on click
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz kliknie w byt, blok, powietrze przyciskiem myszy
 
| <pre>on rightclick on a creeper:
 
     if player's tool is shears:
 
        kill event-entity
 
        set {_drop} to random integer between 1 and 3
 
        drop {_drop} of lime wool at event-entity</pre>
 
|-
 
! on combust
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy byt pali się, np. przez lawę, płomień, kulę ognia lub słońce (zombie, szkielety)
 
| <pre>on combust:
 
     if event-entity is skeleton:
 
        cancel event</pre>
 
|-
 
! on command
 
| Skript 2.0
 
| Aktywuje się wtedy, kiedy gracz wykona komendę
 
| <pre>on command "sk":
 
     if arguments contains "disable":
 
        cancel event
 
        send "Nie możesz wyłączyć Skripta, Skript jest wszędzie"</pre>
 
|-
 
! on connect
 
| Skript 2.0
 
| Aktywuje się wtedy, kiedy gracz połączy się z serwerem
 
| <pre>on connect:
 
    if {ban::%player%} is true:
 
        kick player due to "Masz bana"</pre>
 
|-
 
! on consume
 
| Skript 2.0
 
| Aktywuje się wtedy, kiedy gracz zje lub wypije cokolwiek
 
| <pre>on consume:
 
    if event-item is cooked porkchop:
 
        apply regeneration 1 to the player for 10 second
 
        send "Chrum!"</pre>
 
|-
 
! on craft
 
| Skript 2.0
 
| Aktywuje się wtedy, kiedy gracz wytworzy przedmiot
 
| <pre>on craft:
 
    if event-item is crafting table:
 
        cancel event
 
        send "Stół rzemieślniczy się tworzy z dziewięciu desek"</pre>
 
|-
 
! on creeper power
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy błyskawica uderzy w Creeper'a
 
| <pre>on creeper power:
 
    drop 1 of ghast tear of unbreaking 10 and sharpness 10 named "&cBłyskawica śmierci"</pre>
 
|-
 
! on damage
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy byt otrzyma obrażenia
 
| <pre>on damage of a player:
 
    set {_krew} to random integer between 6 and 12
 
    send "Krwawisz!" to victim
 
    drop {_krew} of redstone at victim</pre>
 
|-
 
! on can build check
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz położy blok i czy może go tutaj położyć
 
| <pre>on can build check:
 
    cancel event</pre>
 
|-
 
! on can build check
 
| Skript 1.0
 
| Aktywuje się wtedy, kiedy gracz położy blok i czy może go tutaj położyć
 
| <pre>on can build check:
 
    cancel event</pre>
 
|-
 
|}
 

Aktualna wersja na dzień 00:48, 27 sie 2020

Zdarzenie (ang. event) – Zdarzenia wywołują się, jeśli coś na serwerze się stanie, np. dołączenie na serwer, wpisanie komendy, wykopanie bloku, wypicie mikstury itd. Wydarzeń można użyć do egzekucji kodu w momencie, kiedy np. gracz dołączy na serwer.

on first join:
    give 16 bread to player
    give a stone axe to player

Po pierwszym dołączeniu do gry gracz otrzymuje chleb i kamienną siekierę. W Javie używa się zdarzenia wywołanego dołączeniem, a dopiero później metodą sprawdza się, czy gracz grał wcześniej.

@EventHandler
public void onFirstJoin(PlayerJoinEvent event) {

    Player p = event.getPlayer();
    if ( !(p.hasPlayedBefore()) ) {

        private final ItemStack chleb = new ItemStack(Material.BREAD, 16);
        private final ItemStack siekiera = new ItemStack(Material.STONE_AXE);
        p.getInventory().addItem(chleb);
        p.getInventory().addItem(siekiera);

    }

}

Lista zdarzeń

Skript, oraz wiele innych dodatków oferuje masę nowych zdarzeń, którymi można urozmaicić swój serwer.

Użycie innych zdarzeń z Skript-mirror

Information.png Artykuł główny: Skript-mirror Jeśli Skript nie oferuje zdarzenia takiego, jakiego chcemy, wtedy należy sięgnąć po skript-mirror. Przykład: Skript nie ma w sobie zdarzenia 'EntityBreedEvent', który chcemy użyć do systemu umiejętności rolnictwa.

import:
    org.bukkit.event.entity.EntityBreedEvent

on EntityBreedEvent:
    set {_e} to event.getBreeder()
    add 5 to {breedingXP::%{_e}%}
    send action bar "&3Farming: %{breedingXP::%{_e}%}%&3/%{breedingMaxXP::%{_e}%}%" to {_e}

Lista zdarzeń jest zawarta w dokumentacji większości pluginów.