-
Notifications
You must be signed in to change notification settings - Fork 0
API StrComp uk
Русский · English · Українська · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
ClassicUO • Runtime API
Перевіряє точну рівність і порядок назв або команд.
StrComp(left:String, right:String) -> Integer
-
left— Ліва String. -
right— Права String; обидва аргументи обов’язкові, третього режиму немає.
Integer -1/0/1: раніше/рівні/пізніше, порядково за UTF-16 з урахуванням регістру. Це не Boolean: рівність — result = 0; If StrComp(...) істинний для різних рядків.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
- Не залежить від мови та не виконує мовного сортування. Для ігнорування регістру явно використовуйте LCase/UCase; аргументи не змінюються.
String.Compare у режимі Ordinal, потім Math.Sign повертає -1, 0 або 1.
String.Compare у режимі Ordinal, потім Math.Sign повертає -1, 0 або 1.
Integer -1/0/1: раніше/рівні/пізніше, порядково за UTF-16 з урахуванням регістру. Це не Boolean: рівність — result = 0; If StrComp(...) істинний для різних рядків.
Код проєкту: external/InjectionScript/src/InjectionScript/Runtime/InjectionApi.cs; функція BasicStrComp / String.Compare / Math.Sign.
Не залежить від мови та не виконує мовного сортування. Для ігнорування регістру явно використовуйте LCase/UCase; аргументи не змінюються.
# Розпізнати команду
#
# Перевіряє точну рівність і порядок назв або команд.
#
# Integer -1/0/1: раніше/рівні/пізніше, порядково за UTF-16 з урахуванням регістру. Це не
# Boolean: рівність — result = 0; If StrComp(...) істинний для різних рядків.
SUB Main()
# Trim/LCase перетворюють " STOP " на stop; порівняння з 0 дає True (1), не зупиняючи скрипт.
# Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат,
# не зупиняють скрипти та не звертаються до сервера.
Dim action = LCase(Trim(" STOP "))
If StrComp(action, "stop") = 0 Then
Return True
End If
Return False
END SUBПояснення параметрів і виконання:
- Trim/LCase перетворюють " STOP " на stop; порівняння з 0 дає True (1), не зупиняючи скрипт.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
# Впорядкувати дві назви
#
# Перевіряє точну рівність і порядок назв або команд.
#
# Integer -1/0/1: раніше/рівні/пізніше, порядково за UTF-16 з урахуванням регістру. Це не
# Boolean: рівність — result = 0; If StrComp(...) істинний для різних рядків.
SUB Main()
# zinc іде після iron, тому змінні міняються місцями; результат iron|zinc.
# Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат,
# не зупиняють скрипти та не звертаються до сервера.
Dim first = "zinc"
Dim second = "iron"
If StrComp(first, second) > 0 Then
Dim saved = first
first = second
second = saved
End If
Return first & "|" & second
END SUBПояснення параметрів і виконання:
- zinc іде після iron, тому змінні міняються місцями; результат iron|zinc.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
# Точне дозволене ім’я
#
# Перевіряє точну рівність і порядок назв або команд.
#
# Integer -1/0/1: раніше/рівні/пізніше, порядково за UTF-16 з урахуванням регістру. Це не
# Boolean: рівність — result = 0; If StrComp(...) істинний для різних рядків.
SUB Main()
# ContainsExact перебирає список через |. Ore знайдено точно, результат True (1); ore не
# дорівнює Ore.
# Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат,
# не зупиняють скрипти та не звертаються до сервера.
Return ContainsExact("ore|Ore|wood", "Ore")
END SUB
Function ContainsExact(names, wanted)
For index = 0 To GetWordCount(names, "|") - 1
If StrComp(GetWord(names, index, "|"), wanted) = 0 Then
Return True
End If
Next
Return False
End FunctionПояснення параметрів і виконання:
- ContainsExact перебирає список через |. Ore знайдено точно, результат True (1); ore не дорівнює Ore.
- Виконується локально. Приклади повертають результат обробки заданих даних, не надсилають чат, не зупиняють скрипти та не звертаються до сервера.
ClassicUO
Bad Newbie & Basic IDE
Найти в справочнике
Клиент и скрипты
Каталоги значений
Разработка и помощь