Ребята, пытаюсь вывести на экран в игре составную строку, часть которой находится в war3map.wts (STRING 1)
STRING 1
{
Дистанция камеры:
}
Вторая часть получается через:
I2S(R2I(GetCameraField(CAMERA_FIELD_TARGET_DISTANCE)))
А вывожу вот так:
1-й способ через GetLocalizedString()
call DisplayTimedTextToPlayer(GetTriggerPlayer(),0,0, 5.0, GetLocalizedString("TRIGSTR_1" + " " + I2S(R2I(GetCameraField(CAMERA_FIELD_TARGET_DISTANCE)))))
2-й способ обычный
call DisplayTimedTextToPlayer(GetTriggerPlayer(),0,0, 5.0, "TRIGSTR_1" + " " + I2S(R2I(GetCameraField(CAMERA_FIELD_TARGET_DISTANCE))))
В обоих случая на экран выводится:
"Дистанция камеры: "
Без конкатенации строк, если отдельно выводить I2S(R2I(GetCameraField(CAMERA_FIELD_TARGET_DISTANCE)))
то число конвертированное в строку выводится, например 1650
Есть идеи где я накосячил?

Принятый ответ

В GetLocalizedString отправляй только идентификатор строки из базы wts, а соединяй уже результат вызова функции

И не стесняйся выделять под промежуточные результаты временные переменные - повысит читаемость кода.
Или красиво форматировать:
Локалка = Вызов1(
    Вызов2(
        Аргумент
    )
)
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
37
3 года назад
Отредактирован ScorpioT1000
1
В GetLocalizedString отправляй только идентификатор строки из базы wts, а соединяй уже результат вызова функции

И не стесняйся выделять под промежуточные результаты временные переменные - повысит читаемость кода.
Или красиво форматировать:
Локалка = Вызов1(
    Вызов2(
        Аргумент
    )
)
Принятый ответ
0
2
3 года назад
0
Спасибо, помогло.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.