Zmienne globalne, jak sama nazwa sugeruje, działają w całym skrypcie, niezależnie od wątku (thread). Raz ustawiona zmienna globalna może zostać użyta w dowolnym miejscu skryptu. Ten rodzaj zmiennej można utworzyć wstawiając znak dolara przed jej nazwą, lub używając bezpośrednio jej numeru:
Kod:
$ZMIENNA = 4
$421 = 4.2
$INNA_ZMIENNA = 6.9
s$KROTKI_CIAG_ZNAKOW = 'HELLO'
v$2495 = "FALL_FALL"
Warto zaznaczyć, że zmienne przechowujące krótkie ciągi znaków (
s$) zajmują dwa ID (czyli jeśli zmienna
s$KROTKI_CIAG_ZNAKOW jest przypisana przez Sanny Builder przykładowo na ID 5400, zajmowane są ID 5400 i 5401) oraz zmienne z długimi ciągami znaków (
v$) zajmują cztery ID (na przykładzie
v$2495 = 2495, 2496, 2497 i 2498).
UWAGA! Zmienne globalne nie działają między skryptami CLEO, a stosowanie niezadeklarowanych nazw może nadpisać inne zmienne globalne występujące w main.scm!
Zmienne lokalne działają tylko w wątku (thread), w którym zostały użyte. Tworzy je się dodając
@ na końcu liczby:
Kod:
1@ = 4
42@ = 11.5
102@ = 862
0@s = 'HI'
4@v = "DAM_LEG_L"
Tak samo jak w przypadku zmiennych globalnych, zmienne z krótkimi ciągami znaków (
@s) zajmują dwie kolejne zmienne, a zmienne z długimi ciągami znaków (
@v) cztery.
Zmienne
32@ i
33@ są zarezerwowane na wewnętrzne timery. Więcej o nich w
tym tutorialu.
W skryptach CLEO (.cs) oraz wątkach w SCM można użyć zmiennych tylko z przedziału
0@ - 33@. Wyższe zmienne są dostępne wyłącznie w misjach (jest ich aż 1024).
CLEO posiada specjalnie wyznaczone miejsce do przechowywania zmiennych, z których można dalej korzystać nawet po ponownym uruchomieniu gry. Ich przedział to
0-999, lecz takich zmiennych można utworzyć maksymalnie 100.
Ustawianie wartości:
Kod:
Odczytywanie wartości:
Kod: