Как правильно использовать переменнную типа Строка. То есть зачем сохранять данные списком, если они и так хранятся в переменных?
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
2 года назад
0
Похожие вопросы:

ответ
сделать базу даных по названию...
строка[1] = "пехотинец"
строка[2] = "паладин"
тип юнита[1] = пехотинец
тип юнита[2] = паладин
цыкл
если введенная строка == строка[А]
создать юнита тип юнита[А]
ответ
Потому что у триггеров нет имен.
Создаем массив строк name_array;
Создаем массив триггеров trigger_array;
Создаем инт name_array_index;
Создаем функцию
register_trigger(Trigger trigger, string name) {
    name_array[name_array_index] = name;
    trigger_array[name_array_index] = trigger;
    name_array_index = name_array_index + 1;
}
Создаем функцию
name_to_trigger(string name) {
    for (integer index = 0; index < name_array_index; index++) {
        if name_array[index] == name {
            return trigger_array[index];
        }
    }
}
Затем регистрируем все триггеры через register_trigger.
А после этого думаем, реально ли у нас столько абилок, что простая последовательность if name == "my_ability" then RunTrigger(my_ability) хуже этого решения
ответ
common.j
-- String Utility API

---@param i integer
---@return real
function I2R(i) end

---@param r real
---@return integer
function R2I(r) end

---@param i integer
---@return string
function I2S(i) end

---@param r real
---@return string
function R2S(r) end

---@param r real
---@param width integer
---@param precision integer
---@return string
function R2SW(r, width, precision) end

---@param s string
---@return integer
function S2I(s) end

---@param s string
---@return real
function S2R(s) end

---@param h handle
---@return integer
function GetHandleId(h) end

---@param source string
---@param start integer
---@param ending integer
---@return string
function SubString(source, start, ending) end

---@param s string
---@return integer
function StringLength(s) end

---@param source string
---@param upper boolean
---@return string
function StringCase(source, upper) end

---@param s string
---@return integer
function StringHash(s) end


---@param source string
---@return string
function GetLocalizedString(source) end

---@param source string
---@return integer
function GetLocalizedHotkey(source) end
ответ
Eternal soul,
Способ что предложил я - вы формируете БД и далее циклом пробегаетесь по массиву unit_type_string[i] и сравниваете его с вашей строкой. Если сравнение прошло успешно то по индексу unit_type[i] находите нужного юнита. Конечно конвертировать было бы более проффесионально, но это способ тоже будет работать.
ответ
Так правильно всё, а GroupEnumUnitsInRange какой тип возвращает? правильно никакой, поэтому и ругается g ибо она null

0
14
2 года назад
0
По яснее можно?
0
13
2 года назад
0
Странный вопрос, если честно. Разные случаи могут быть когда нужна сохраненная строка.
Лично я редко юзаю переменные строки. Как правило, сохраняю ее под хэндл некоторых юнитов для подобия коассификации.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.