Новая пачка вопросов

MeowHellYeah

Пользователь
4 Июл 2015
66
0
1. Переменная caster хранит героя, его игрок-владелец - я. Необходимо через героя узнать мой никнейм. Попробовал использовать такую команду:
Код:
GetPlayerName(caster:GetPlayerOwnerID())
Вместо никнейма выдаёт ошибку:
attempt to call global 'GetPlayerName' (a nil value)
На сколько я понимаю, функция возвращает строковую переменную?
Что не так?

2. Можно ли как-то узнать причину краша доты? Какой-нибудь exitcode? Или мб есть какой-нибудь компилятор с режимом пошаговой отладки?

3. Какой командой воспроизводить звуки? Как это правильно делать? Где-то видел статью, да потерял. К тому же не всё понял, она на английском была.

4. Как поменять названия команд в лобби? Менял строки в addon_english.txt:
"DOTA_GoodGuys"
"DOTA_Scoreboard_GoodGuys"
"DOTA_GoodGuysCaps"
Аналогично с BadGuys - всё не то. Во время занятия слотов в лобби команды называются по дефолту.

5. Можно ли как-нибудь изменить положение источника света? Чтобы тени отбрасывались в другую сторону. Можно ли это сделать кодом Lua?
 
Последнее редактирование модератором:
1. Функция возвращает нулевое значение. Попробуй так:

Код:
GetPlayerName(GetPlayerOwnerID(caster))

MeowHellYeah, пока оставь.
 
-ExotiC-, не помогает. Вряд ли в GetPlayerOwnerID нужно что-то отдавать, синтаксис LuaDota не подсказывает никаких параметров. Эта функция через двоеточие работает, выводит мой ID = 0.
Как-то не так я понял принцип работы этой GetPlayerName, она ошибку даёт даже если в неё голую цифру положить. Хотя на гитхабе вроде пользуются люди...
 
Обычно краш доты возникает, когда например ошибся в датадривен.

Например вместе OnAttackLanded забыл и поставил OnAttack

или когда пытаешься из получить какое-то значение из ничего)
 
Se7eN, тоже не работает. Датадрайвен я закончил давно, дело не в нём.
Фу, у тебя подпись некультурная :-* На датадрайвене далеко не уедешь.
 
Реклама: