Здравствуйте.
Есть файла формата *.ai (ИИ скрипт).
Я хочу в него добавить Debug сообщение/(я)
Использую call DisplayTextToPlayer(...)
Но вот вопрос каким образом возможно заставить ИИ скрипт читать переменные
    local integer variable = 5
    call DisplayTextToPlayer(GetLocalPlayer(), 0.0, 0.0, "Hello " + I2S(variable))
Не работает

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

Vitamin,
нету
можешь написать свою I2S
для этого надо разбить число на цифры и каждую цифру перевести в строку согласно массиву строк (в массиве должны быть цифры-строки от 0 до 9 в соответствующих индексах)
а потом сложить все эти строки
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
28
8 лет назад
0
в комонаи вроде есть свои функции для дебага
0
3
8 лет назад
0
Да так и есть, но данные функции возможны только в каком-то Development game.dll, а его нету в интернете.
0
28
8 лет назад
0
Vitamin, а функций для вывода сообщений на экран нету?
Vitamin, и что значит не работает
эта строка кода игнорится или вообще весь скрипт отваливается
0
3
8 лет назад
0
Отображается только Статическая фраза Hello, сама переменная не выводиться вместе с Hello
Все что есть:
native DebugS takes string str returns nothing
native DebugFI takes string str, integer val returns nothing
native DebugUnitID takes string str, integer val returns nothing
native DisplayText takes integer p, string str returns nothing
native DisplayTextI takes integer p, string str, integer val returns nothing
native DisplayTextII takes integer p, string str, integer v1, integer v2 returns nothing
native DisplayTextIII takes integer p, string str, integer v1, integer v2, integer v3 returns nothing
native DoAiScriptDebug takes nothing returns boolean
Но как их заставить работать ума не приложу.
Они ничего не выводят (поэтому они работают только в Developer version game.dll)
0
32
8 лет назад
0
попробуй добавить в карту кастом common.ai куда засунь нативки из common.j
а именно
	native	DisplayTextToPlayer	takes player toPlayer, real x, real y, string message returns nothing
0
3
8 лет назад
Отредактирован Vitamin
0
quq_CCCP:
попробуй добавить в карту кастом common.ai куда засунь нативки из common.j
а именно
	native	DisplayTextToPlayer	takes player toPlayer, real x, real y, string message returns nothing
Можно пожалуйста ссылку на статью как правильно импортировать данную вещь в карту ?
Не знаю просто как сделать правильный запрос в поисковике, чтобы выдал мне это.
0
28
8 лет назад
0
quq_CCCP, судя по тому что он писал нативка у него работает
Vitamin, а со строковыми переменными та же фигня?
и попробуй вместо локалплеер юзать Player(0)
0
3
8 лет назад
0
Данный код работает:
local string test = "Hello"
call DisplayTextToPlayer(Player(0), 0.0, 0.0, "Hello " + test)
Я так понимаю функцию I2S отказывается конвертировать (неправильно работает в AI скрипте)
0
28
8 лет назад
0
Vitamin, а тоже самое но с I2S(variable) не работает? (мб проблема в локал плеере была)
если да то проверь R2S
если и она не работает то юзай массив слов и используй variable как индекс к этому массиву
0
3
8 лет назад
Отредактирован Vitamin
0
local string array variable
variable[0] = "Test #1"
variable[1] = "Test #2"
Я правильно понял ?
P.S. Ни I2S, ни R2S не работают в AI скрипте
Вообще нашелся один способ решения моей проблемы:
Не реклама
Но вопрос: Неужели ничего проще нету ...
1
28
8 лет назад
Отредактирован nvc123
1
Vitamin,
нету
можешь написать свою I2S
для этого надо разбить число на цифры и каждую цифру перевести в строку согласно массиву строк (в массиве должны быть цифры-строки от 0 до 9 в соответствующих индексах)
а потом сложить все эти строки
Принятый ответ
0
3
8 лет назад
0
Все понял, а как насчет метода, который я привел (по ссылке) ?
Но метод с массивами это конечно просто убого .... Если мне надо к примеру получить значение из функции мне вместо "0" использовать к примеру так ?
variable[1] = GetLastCommand()
0
28
8 лет назад
0
Vitamin, ты похоже прочёл старую версию комментария
обнови страницу
0
3
8 лет назад
0
nvc123:
Vitamin, ты похоже прочёл старую версию комментария
обнови страницу
Все, я понял, спасибо
Чтобы оставить комментарий, пожалуйста, войдите на сайт.