|
|
| (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>
| |
| − | |-
| |
| − | |}
| |
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
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.