Z SCP: Secret Laboratory Polish Official Wiki

Interpolacja komend nazwy serwera

Interpolacja komend nazwy serwera (SNCI) to funkcja zawarta w Megapatch II.

Zapewnia prostą i łatwą formę skryptowania nazwy serwerów. Można ich również używać w tytule listy graczy.

Jak używać SNCI

Składnia poleceń umieszczanych w nazwie serwera to {command_name,arg1,arg2,arg...}. Aby użyć znaków { , } , lub , w nazwie należy użyć symbolu backslash (\) przed { , } , lub ,. Białe znaki nazwy polecenia lub argumentów nie są obcinane.

Przykłady

W tym scenariuszu nazwa serwera będzie następująca:

<color=#b0b>Mój serwer SCP:SL</color>\n<color=#{random_list,b00,0b0,b0b}>Anarchia bez zasad</color>\n<color=#fc0><size=10>
{scp_counter} SCP | {add,{alive_team,1},{alive_team,3}} Personel fundacji | {add,{alive_team,2},{alive_team,4}}
Powstańców/Więźniów {warhead_detonated,| ☢ GŁOWICA ZDETONOWANA ☢,}\n[{round_duration_minutes}:{round_duration_seconds}]
</size></color>

Na liście serwerów jest on wyświetlany jako serwer 20/20 z nazwą:

<color=#b0b>Mój serwer SCP:SL</color>

<color=#b00>Anarchia bez zasad</color>

<color=#fc0><size=10>3/5 SCP | 12 Personel fundacji | 4 Powstańców/Więźniów | ☢ GŁOWICA ZDETONOWANA ☢ [8:29]</size></color>

Przyczyną wyświetlania jest:

  1. Interpolator napotyka {random_list,b00,0b0,b0b}.
    1. Interpolator wybiera losową liczbę z zakresu 1-3 (liczba elementów).
    2. Interpolator rozwiązuje ten element na wypadek, gdyby zawierał w sobie zamknięcia.
    3. Zwraca b00.
  2. Następnie interpolator przechodzi do {scp_counter}.
    1. Na początku było 5 SCP.
    2. Teraz są tylko 3.
    3. Zwraca 3/5.
  3. Interpolator porusza się dalej i znajduje {add,{alive_team,MTF},{alive_team,RSC}}.
    1. Interpolator rozwiązuje argumenty.
      1. {alive_team,1} rozwiązuje się do 9.
      2. {alive_team,3} rozwiązuje się do 3.
    2. Interpolator dodaje wyniki do siebie.
    3. Zwraca 12.
  4. Interpolator przewija i widzi {add,{alive_team,2},{alive_team,4}}. To jest to samo co #3, więc zwrócił 4 i pominiemy to.
  5. Interpolator przechodzi do następnego zamknięcia: {warhead_detonated,| ☢ WARHEAD DETONATED ☢,}
    1. Głowica została zdetonowana, więc wybiera pierwszy argument.
    2. Interpolator rozwiązuje pierwszy argument.
    3. Zwraca | ☢ GŁOWICA ZDETONOWANA ☢
  6. Interpolator dociera do {round_duration_minutes}.
    1. Runda trwa już 8 minut i 29 sekund.
    2. Zwraca 8.
  7. Interpolator w końcu osiąga {round_duration_seconds}.
    1. Runda trwa już 8 minut i 29 sekund.
    2. Zwraca 29.

Komendy

Informacje o serwerze

Nazwa Argumenty Wynik
ip Brak Adres IP serwera.
port Brak Port serwera.
number Brak Zakładając, że port zaczyna się od 7777, jest to numer serwera.
version Brak Wiodąca kompatybilna wersja.

Liczby graczy

Nazwa Argumenty Wynik
player_count Brak Aktualna liczba graczy na serwerze
full_player_count Brak; [full] Aktualna maksymalna liczba graczy na serwerze lub full, jeśli serwer jest pełny.
max_players Brak Maksymalna liczba graczy na serwerze.

Informacje o rundzie

Nazwa Argumenty Wynik
round_duration_minutes Brak Długość rundy w minutach.
round_duration_seconds Brak Długość rundy w sekundach z ignoracją minut (zawsze <60).
kills Brak Łączna liczba zabójstw w rundzie.
kills_frag Brak Łącznie granaty odłamkowe zabite w rundzie.
mtf_respawns Brak Łączna liczba odrodzeń MTF w rundzie.
warhead_detonated Brak;[detonated][undetonated] Zdetonowana lub niezdetonowana (domyślnie "☢ WARHEAD DETONATED☢" lub pusta) w zależności od tego, czy głowica została zdetonowana.

Żywi gracze

Nazwa Argumenty Wynik
alive_role [ID Roli] Liczba graczy z daną rolą przy życiu. Identyfikator roli może być nazwą lub liczbą całkowitą.
alive_team [ID Drużyny] Liczba żywych graczy w tej drużynie. Identyfikator drużyny może być nazwą lub liczbą całkowitą.

Numery drużyn dla alive_team

Nazwa drużyny Numer drużyny
SCP 0
MTF & Facility Guard 1
Chaos Insurgency 2
Scientist 3
ClassD 4
Spectator 5
Tutorial 6

Informacje o SCP

Nazwa Argumenty Wynik
scp_counter Brak Żywe SCP (z wyjątkiem zombie) z początku rundy.
scp_start Brak Początkowa liczba SCP.
scp_killed Brak Liczba zabitych SCP w rundzie.
scp_kills Brak Liczba zabitych przez SCP w rundzie.
zombies_recalled Brak Liczba wskrzeszonych zombie.

Informacje o Klasie D

Nazwa Argumenty Wynik
classd_counter Brak Escaped Class Ds out of initial Class Ds of the round.
classd_start Brak Początkowa liczba Klas D w rundy.
classd_escaped Brak Class Ds escapees this round.

Informacje o naukowcach

Nazwa Argumenty Wynik
scientist_counter Brak Escaped scientists out of initial scientists of the round.
scientist_start Brak Initial scientists of the round.
scientist_escaped Brak Scientist escapees this round

Losowość

Nazwa Argumenty Wynik
random [max]; [min] [max] Losowa liczba dziesiętna pomiędzy wartością minimalną (domyślnie 0) i maksymalną.
random_list [przedmiot 1] [przedmiot 2] […] Losowy przedmiot

Stałe

Nazwa Argumenty Wynik
constant_e Brak Liczba Eulera
constant_pi Brak Pi (π).

Operacie

Nazwa Argumenty Wynik
add [a] [b] a + b
subtract [a] [b] a - b
multiply [a] [b] a * b
division [a] [b] a / b
power [a] [b] a ^ b
log [value]; [base] [value] Log [base] (podstawowo 10) z [value].
ln [value] Logarytm naturalny z [value]

Zaokrąglenia

Nazwa Argumenty Wynik
round [value] Zaokrągla do najbliższej liczby całkowitej.
round_up [value] Zaokrągla w górę do najbliższej liczby całkowitej.
round_down [value] Zaokrągla w dół do najbliższej liczby całkowitej.

Porównania

Nazwa Argumenty Wynik
equals [a] [b] Checks equality of [a] and [b] by string representation.
greater [a] [b] "True" if [a] > [b], else "False".
lesser [a] [b] "True" if [a] < [b], else "False".
greater_or_equal [a] [b] "True" if [a] >= [b], else "False".
lesser_or_equal [a] [b] "True" if [a] <= [b], else "False".

Boolean Logic

Nazwa Argumenty Wynik
not [wartość] Inverts [wartość].
or [a] [b] "True" if [a] OR [b] are true, else "False".
and [a] [b] "True" if [a] AND [b] are true, else "False".
xor [a] [b] "True" if [a] OR [b] but NOT [a] AND [B], else "False".
if [condition] [a]; [condition] [a] [b] [a] if [condition] is true else [b] (default empty)
Ciasteczka pomagają nam dostarczać nasze usługi. Korzystając z naszych usług, zgadzasz się na wykorzystywanie ciasteczek.