DEKLARACJA ZMIENNYCH I STAŁYCH, ORAZ PRZYPISYWANI IM WARTOŚCI
W skryptach gothica (zresztą jak i w każdym języku programowania) zmienne (schowki w pamięci komputera przechowujące dane, które możemy modyfikować) i stałe (to samo co zmienne - tyle, że nie można modyfikować, kiedy gramy w gothica) mogą mieć różne typy, które dopasowujemy przy deklaracji. A więc:
Zmienne deklarujemy tak:
var [typ zmiennej] [nazwa zmiennej];
1. Dzięki wyrazowi VAR wiemy iż deklarujemy zmienną, nie stałą
2. Tam gdzie mamy '[typ zmiennej]' możemy wpisać:
- 'int' - jest to typ zmiennej lub stałej zawierający wartość LICZBOWĄ - np. 12313
- 'string' - jest to typ zmiennej lub stałej zawierający wartość TEKSTOWĄ - np. "Zbroja"
* Takich typów jest na pewno dużo więcej, ale te powinny w zupełności wystarczyć do sprawnego poruszania się po skryptach gothica
3. Tam gdzie mamy '[nazwa zmiennej]' wpisujemy nazwę naszej zmiennej bez polskich znaków i spacji - np. "NaszaZmienna"
Stałe deklarujemy tak:
const [typ stałej] [nazwa stałej] = [wartość stałej];
1. Dzięki wyrazowi CONST wiemy iż deklarujemy stałą, nie zmienną
2. Tam gdzie mamy '[typ zmiennej]' możemy wpisać - podobnie jak jak w zmiennej:
- 'int' - jest to typ zmiennej lub stałej zawierający wartość LICZBOWĄ - np. 12313
- 'string' - jest to typ zmiennej lub stałej zawierający wartość TEKSTOWĄ - np. "Zbroja"
3. Tam gdzie mamy '[nazwa stałej]' wpisujemy nazwę naszej stałej bez polskich znaków i spacji - np. "NaszaStala"
4. Tam gdzie mamy '[wartość stałej]' wpisujemy wartość naszej stałej zależnie od jej typu.
- Dla typu 'int' - jak już wspomniałem - wpisujemy wartość liczbową - np. 242342
- Dla typu 'string' - jak już wspomniałem - wpisujemy wartość tekstową - np. "tekst"
Wartości zmiennych w przeciwieństwie do wartości stałych nie przypisujemy od razu. Możemy je przypisać zaraz po deklaracji, w następnej linijce, a wygląda to tak:
[nazwa zmiennej] = [wartość zmiennej];
1. '[nazwa zmiennej]' zastępujemy nazwą zmiennej, którą wcześniej zdeklarowaliśmy.
2. '[wartość zmiennej]' zastępujemy wartością naszej zmiennej zależną od jej typu (podobnie jak w stałych).
- Dla typu 'int' - jak już wspomniałem - wpisujemy wartość liczbową - np. 242342
- Dla typu 'string' - jak już wspomniałem - wpisujemy wartość tekstową - np. "tekst"
ZASTOSOWANIE ZMIENNYCH I STAŁYCH
Zmienne stosowane są na przeróżne sposoby - to na nich oparta jest gra i dzięki nim funkcjonuje. Współczesne gry zawierają tysiące zmiennych. W gothicu zmienne wykorzystywane są do np. przechowywania ilości doświadczenia, które posiadamy. Możemy je zauważyć w takich plikach jak Story_Globals - gdzie są one deklarowane. Nam jako 'przerabiaczom' gothic'owych skryptów są one BARDZO potrzebne. Możemy je wykorzystać do np. liczenia ilości zabitych stworów. Deklarujemy zmienną o typie 'int', przypisujemy jej wartość 0 i dodajemy do niej 1 przy każdym zabiciu potwora. Plik odpowiedzialny za zabicie potwora to (o ile się nie mylę) to 'B_GiveDeathInv', czyli tam wklejamy nasz skrypt.
Stałe zwykle używane są by ułatwić sobie pracę. Przykładowo jeśli często korzystamy z liczby PI ~ 3,141592653589793238462643383279502884197 to możemy zdeklarować stałą o nazwie PI, która przechowuje nam wartość liczby pi i zamiast wszędzie wklejać kilkudziesto cyfrową liczbę piszemy nazwę naszej stałej, czyli pi. Czyli zamiast:
zmienna = 3,141592653589793238462643383279502884197 * 3,141592653589793238462643383279502884197
piszemy
const int PI = 3,141592653589793238462643383279502884197;
zmienna = PI * PI
Takie stałe możemy znaleźć chociażby w pliku 'Text' gdzie zdeklarowane są zmienne typu string, które przechowują między innymi polskie nazwy przedmiotów. Robione jest to, by ułatwić tłumaczom przetłumaczenie gry na inne języki.
Zmienne można modyfikować na przeróżne sposoby. Ja przedstwię te najpopularniejsze, np.
Przykład 1
var int NaszaZmienna;
NaszaZmienna = 2;
NaszaZmienna = NaszaZmienna + 1
W praktyce
2 = 2 + 1 // czyli 3
* Dodaje nam do wartości zmiennej 'NaszaZmienna' liczbę 1
Przykład 2
var int NaszaZmienna1;
var int NaszaZmienna2;
var int NaszaZmienna3;
NaszaZmienna1 = 2;
NaszaZmienna2 = 3;
NaszaZmienna3 = NaszaZmienna1 * NaszaZmienna2
W praktyce
NaszaZmienna3 = 2 * 3 // czyli 6
* Mnoży nam dwie pierwsze zmienne przez siebie podając wynik w 3 zmiennej
Przykład 3
var int NaszaZmienna1;
var int NaszaZmienna2;
var int NaszaZmienna3;
NaszaZmienna1 = 2;
NaszaZmienna2 = 2;
NaszaZmienna3 = NaszaZmienna1 ^ NaszaZmienna2
W praktyce
NaszaZmienna3 = 2 do potęgi 2 (do kwadratu) // czyli 4
* Zmienna trzecia przechowuje wynik - pierwsza zmienna do potęgi drugiej zmiennej
Znaki operujące działaniami
Mam nadzieję, że już wiadomo o co chodzi - czysta matematyka.
Ja zawsze mówiłem, że programowanie to znajomość regułek, a potem to już czysta matematyka i logika.
Dla pewności podam jeszcze jakimi znakami operujemy (podam te podstawowe) :
- Znak '+' czyli znak dodawania
- Myślnik '-' czyli znak odejmowania
- Gwiazdka '*' czyli znak mnożenia
- Ukośnik w prawo '/' czyli znak dzielenia z resztą
- Ukośnik w lewo '\' czyli znak dzielenia całościowego (otrzymujemy wynik bez reszty)
- Daszek '^' czyli znak potęgowania
Warunki ze zmiennymi
Jak w każdym języku programowania tak i w skryptach gothica możemy pisać sobie warunki ze zmiennymi używając krótkiego słowa 'if' (z ang. JEŚLI).
Opiszę wszystko na podstawie przykładu.
const int stala1 = 3,14;
var int zmienna1;
var int zmienna2;
zmienna1 = 33,3;
zmienna2 = stala1 * zmienna1;
If (zmienna2 >= 100)
{
zmienna2 = zmienna2 * 5;
};
Napisałem przykład prostego obliczenia i warunku.
* 'If zmienna2 >= 100' - Jeśli zmienna2 jest większa lub równa 100
* Znaczek '{' oznacza rozpoczęcie warunku (po tym znaczku piszemy co ma się stać jeśli warunek zostanie spełniony)
* 'zmienna2 = zmienna2 * 5;' to co ma się stać jeśli - w moim przypadku - zmienna2 jest większa lub równa 100. U mnie jest to pomnożenie zmiennej 'zmienna2' przez 5
* Znaczek '};" oznacza zamknięcie warunku (jest to absolutnie konieczne !)
Operatory
W warunkach przydadzą nam się podstawowe operatory. W przypadku skryptów gothica są to:
- "==" - jeśli coś jest równe czemuś
- "<>" - jeśli coś jest RÓŻNE czemuś (nie jestem pewien czy w skryptach gothica to działa)
- "<=" - jeśli coś jest mniejsze, lub równe czemuś (nie mylić kolejności znaczka mniejszości ze znakiem równości)
- ">=" - jeśli coś jest większe, lub równe czemuś (nie mylić kolejności znaczka większości ze znakiem równości)
I to tyle jeśli chodzi o ten tutorial - jeśli popełniłem jakiś kategoryczny błąd to proszę mnie poprawić - ja sam jestem dość 'początkujące' a to jest mój - zdaje się - pierwszy tutorial, więc proszę o wyrozumiałość xD[/size][/font]
//Edit by Bula: Dodano do spisu.