Zmienne: Różnice pomiędzy wersjami

Z wiki.skript.pl
Przejdź do nawigacji Przejdź do wyszukiwania
m (Libter przeniósł stronę Zmienna do Zmienne: trzymajmy się liczby mnogiej)
m (dodano " w tekst)
 
(Nie pokazano 4 wersji utworzonych przez 3 użytkowników)
Linia 1: Linia 1:
'''Zmienne''' są konstrukcjami programistycznymi pozwalającymi na zapis informacji, i jak sama nazwa wskazuje ich wartości mogą być zmienne. W '''Skripcie''' wyróżniamy zmienne, które mogą być przypisane danemu graczowi, serwerowi, zmienne tymczasowe i listy.
+
'''Zmienne''' są konstrukcjami programistycznymi pozwalającymi na zapis informacji, i jak sama nazwa wskazuje ich wartości mogą być zmienne. W '''Skripcie''' wyróżniamy zmienne, które mogą być przypisane danemu obiektowi, zmienne tymczasowe i listy.
  
 
{| class="wikitable" style="width: 70%; margin-left: 1px; float: center"
 
{| class="wikitable" style="width: 70%; margin-left: 1px; float: center"
Linia 14: Linia 14:
 
         send "Czat jest wyłączony."</pre>
 
         send "Czat jest wyłączony."</pre>
 
  |-
 
  |-
  !{zmienna.%ekspresja%}
+
  !{zmienna::%ekspresja%}
 
  |Zmienne zwykłe przypisane obiektowi
 
  |Zmienne zwykłe przypisane obiektowi
 
  |<pre>on mine of stone:
 
  |<pre>on mine of stone:
     add 5 to {money.%player%}</pre>
+
     add 5 to {money::%player%}</pre>
 
  |-
 
  |-
 
  !{_zmienna}
 
  !{_zmienna}
Linia 35: Linia 35:
 
|}
 
|}
  
== Budowa i zastosowanie ==
+
==Budowa i zastosowanie==
  
Aby dodać zmienną do '''tekstu''' należy wstawić ją między '''procenty (%)''' (tak samo się robi z [[Ekspresja|ekspresjami]].
+
Aby dodać zmienną do '''tekstu''' należy wstawić ją między '''procenty (%)''' (tak samo się robi z [[Wyrażenia|wyrażeniami]]).
 
<pre>command /money:
 
<pre>command /money:
 
     trigger:
 
     trigger:
 
         send "Masz obecnie $%{money::%player%}%"</pre>
 
         send "Masz obecnie $%{money::%player%}%"</pre>
  
Zmienne można usuwać za pomocą wyrażenia <code>delete {zmienna::%player%}</code>.
+
Zmienne można usuwać za pomocą wyrażenia <code>delete {zmienna::%player%}</code> lub  <code>clear {zmienna::%player%}</code>.
Zmienne tymczasowe usuwają się same po wykonaniu zdarzenia, w którym zostały zadeklarowane
+
Zmienne tymczasowe usuwają się same po wykonaniu zdarzenia, w którym zostały zadeklarowane.
  
 
Wszystkie zmienne zostają zapisane w pliku ''variables.csv'' wraz z typem zmiennej oraz jej wartością.
 
Wszystkie zmienne zostają zapisane w pliku ''variables.csv'' wraz z typem zmiennej oraz jej wartością.
Linia 53: Linia 53:
 
     {money::%player%} = 100</pre>
 
     {money::%player%} = 100</pre>
  
 +
==Specjalnie wyrażenia==
 +
{| class="wikitable"
 +
|+
 +
!Zmienna
 +
!Typ zmiennej
 +
!Wyrażenie
 +
!Opis
 +
|-
 +
|Zmienna grupowa
 +
|*
 +
|<code>size of {zmienna::*}</code>
 +
|Zwraca ilość elementów w liście
 +
|-
 +
|Zmienna
 +
|String
 +
|<code>lenght of {zmienna}</code>
 +
|Zwraca długość tekstu w zmiennej
 +
|-
 +
|Zmienna grupowa
 +
|*
 +
|<code>first element of {zmienna::*}</code>
 +
|Zwróci pierwszy element w liście
 +
|-
 +
|Zmienna grupowa
 +
|*
 +
|<code>last element of {zmienna::*}</code>
 +
|Zwróci ostatni element z listy
 +
|}
 +
 +
== Typy zmiennych ==
 +
{| class="wikitable"
 +
|+
 +
!Typ
 +
!Opis
 +
!Przykład
 +
|-
 +
|String / Text
 +
|Jest to tekst
 +
|<code>set {_tekst} to "tekst"</code>
 +
|-
 +
|Number
 +
|Określa liczbe zmiennoprzecinkową
 +
|set {_number} to 2.23
 +
|-
 +
|Integer
 +
|Określa liczbe całkowitą
 +
|set {_integer} to 2
 +
|-
 +
|Player
 +
|Określa gracza
 +
|set {_player} to "xAxee" parsed as player
 +
|-
 +
|Item
 +
|Określa przedmiot
 +
|set {_item} to diamond
 +
|-
 +
|Inventory
 +
|Określa inventory
 +
|set {_inv} to player's inventory
 +
|}
 
[[Kategoria: Skript]]
 
[[Kategoria: Skript]]

Aktualna wersja na dzień 21:28, 8 kwi 2021

Zmienne są konstrukcjami programistycznymi pozwalającymi na zapis informacji, i jak sama nazwa wskazuje ich wartości mogą być zmienne. W Skripcie wyróżniamy zmienne, które mogą być przypisane danemu obiektowi, zmienne tymczasowe i listy.

Parametry
Zmienne Opis Przykłady
{zmienna} Zmienne zwykłe globalne, które nie są przypisane do niczego
on chat:
    if {chat} is false:
        cancel event
        send "Czat jest wyłączony."
{zmienna::%ekspresja%} Zmienne zwykłe przypisane obiektowi
on mine of stone:
    add 5 to {money::%player%}
{_zmienna} Zmienne tymczasowe lokalne, czyli takie, które mogą być użyte w jednej sekcji kodu i zostają usuwane po jego zakończeniu
on chat:
    set {_t} to message
    broadcast "%{_t}%"
{zmienna::%ekspresja%} Zmienne grupowe, do nich można przypisać kilka obiektów
add "libter" to {staff::*}
add "bvcz" to {staff::*}
add "szifter" to {staff::*}
add "takijakty" to {staff::*}
broadcast "%{staff::*}%"

add 5 to {money::%player%}

Budowa i zastosowanie

Aby dodać zmienną do tekstu należy wstawić ją między procenty (%) (tak samo się robi z wyrażeniami).

command /money:
    trigger:
        send "Masz obecnie $%{money::%player%}%"

Zmienne można usuwać za pomocą wyrażenia delete {zmienna::%player%} lub clear {zmienna::%player%}. Zmienne tymczasowe usuwają się same po wykonaniu zdarzenia, w którym zostały zadeklarowane.

Wszystkie zmienne zostają zapisane w pliku variables.csv wraz z typem zmiennej oraz jej wartością.

W Skripcie można stworzyć oddzielną sekcję variables: w której opcjonalnie można zdefiniować ich domyślną wartość. Przydaje się to przy ustalaniu domyślnych wartości, jeżeli nie zostaną utworzone.

variables:
    {vanish::%player%} = false
    {money::%player%} = 100

Specjalnie wyrażenia

Zmienna Typ zmiennej Wyrażenie Opis
Zmienna grupowa * size of {zmienna::*} Zwraca ilość elementów w liście
Zmienna String lenght of {zmienna} Zwraca długość tekstu w zmiennej
Zmienna grupowa * first element of {zmienna::*} Zwróci pierwszy element w liście
Zmienna grupowa * last element of {zmienna::*} Zwróci ostatni element z listy

Typy zmiennych

Typ Opis Przykład
String / Text Jest to tekst set {_tekst} to "tekst"
Number Określa liczbe zmiennoprzecinkową set {_number} to 2.23
Integer Określa liczbe całkowitą set {_integer} to 2
Player Określa gracza set {_player} to "xAxee" parsed as player
Item Określa przedmiot set {_item} to diamond
Inventory Określa inventory set {_inv} to player's inventory