CustomGames.ru - Dota 2 пользовательские игры

ссылка на имя игрока

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн UZzip

  • Продвинутый
  • 282
  • Мощь: 0
  • WorldEditor2
ссылка на имя игрока
« : 29-05-2016, 10:20:08 »
у меня во время игры выводится текст
Код
GameRules:SendCustomMessage("<font color='#FE2E2E'>Информация:</font> Вы получили рандомный УЛЬТ!", 0, 0)

Хочу заменить вы, на имя игрока.

Оффлайн Илья

  • Супермодератор
  • 1906
  • Мощь: 16
Re: ссылка на имя игрока
« Ответ #1 : 29-05-2016, 10:26:12 »
Мне в свое время не хватило разобраться с  этим: русские ники не отображались. Может ты разберешься и выложишь решение)

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Re: ссылка на имя игрока
« Ответ #2 : 29-05-2016, 10:39:24 »
В addon_game_mode.lua:
Код
GameRules:SendCustomMessage( "#sillka_v_addon_english.txt", GetPlayerID(), 0) 

В addon_english.txt:

Код
"sillka_v_addon_english.txt" "<font color='#FE2E2E'>Информация:</font> %s1 получил рандомный УЛЬТ!"


Вместо sillka_v_addon_english.txt, любое свое напиши.
« Последнее редактирование: 29-05-2016, 10:41:46 от I_GRIN_I »

Оффлайн Илья

  • Супермодератор
  • 1906
  • Мощь: 16
Re: ссылка на имя игрока
« Ответ #3 : 29-05-2016, 10:41:51 »
Ухты, русские ники тоже пишет?

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Re: ссылка на имя игрока
« Ответ #4 : 29-05-2016, 10:45:49 »
Илья, у меня да

Оффлайн Se7eN

  • Продвинутый
  • 298
  • Мощь: 11
  • King
Re: ссылка на имя игрока
« Ответ #5 : 29-05-2016, 11:03:34 »
ну так грин выкладывай как реализовал)

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Re: ссылка на имя игрока
« Ответ #6 : 29-05-2016, 11:12:08 »
Se7eN, ну так и реализовал

Оффлайн UZzip

  • Продвинутый
  • 282
  • Мощь: 0
  • WorldEditor2
Re: ссылка на имя игрока
« Ответ #7 : 29-05-2016, 17:28:24 »
даже с цветом, спасибо, репутацию апнул)

Оффлайн UZzip

  • Продвинутый
  • 282
  • Мощь: 0
  • WorldEditor2
Re: ссылка на имя игрока
« Ответ #8 : 29-05-2016, 18:00:37 »
а как бы в строчке ещё и название ульты отобразить?

Код
function main:GiveRandomAbility(hero)
   hero:AddAbility(random_ability_table[RandomInt(2, #random_ability_table)])
   
   GameRules:SendCustomMessage("<font color='#FE2E2E'>Информация:</font> %s1 получил рандомный УЛЬТ!", 0, 0)
end

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Re: ссылка на имя игрока
« Ответ #9 : 29-05-2016, 18:40:45 »
UZzip,
Код
GameRules:SendCustomMessage( "#sillka_v_addon_english.txt", GetPlayerID(), GetAbilityByIndex(сюда нужно передавать индекс абилки)) 
либо:
Код
GameRules:SendCustomMessage( "#sillka_v_addon_english.txt", GetPlayerID(), GetAbility(сюда нужно передавать имя абилки)) 
А в локализации:
Код
"<font color='#FE2E2E'>Информация:</font> %s1 получил способность %s2!"
« Последнее редактирование: 29-05-2016, 18:42:19 от I_GRIN_I »

Оффлайн UZzip

  • Продвинутый
  • 282
  • Мощь: 0
  • WorldEditor2
Re: ссылка на имя игрока
« Ответ #10 : 29-05-2016, 19:19:27 »
Цитировать
сюда нужно передавать индекс абилки))

а  как?

Оффлайн I_GRIN_I

  • Продвинутый
  • 389
  • Мощь: 6
  • Научиться бы скриптить...
Re: ссылка на имя игрока
« Ответ #11 : 29-05-2016, 20:41:14 »
UZzip, ну я же не знаю, как ты получаешь абилку. Тебе нужно как то получать индекс с абилки, которая нарандомилась в этот момент и передавать его уже в тот блок.

Оффлайн UZzip

  • Продвинутый
  • 282
  • Мощь: 0
  • WorldEditor2
Re: ссылка на имя игрока
« Ответ #12 : 30-05-2016, 14:39:57 »
Цитировать
I_GRIN_I, ну я же не знаю, как ты получаешь абилку.
Код
function main:GiveRandomAbility(hero)
   hero:AddAbility(random_ability_table[RandomInt(2, #random_ability_table)])
   
   GameRules:SendCustomMessage("<font color='#FE2E2E'>Информация:</font> %s1 получил рандомный УЛЬТ!", 0, 0)
end
вот так и у меня ещё есть таблица со спелами из которой берётся один рандомом

Оффлайн Илья

  • Супермодератор
  • 1906
  • Мощь: 16
Re: ссылка на имя игрока
« Ответ #13 : 30-05-2016, 18:44:59 »
Ну так чуть подкорректируй:

Код
function main:GiveRandomAbility(hero)
   local abrakadabra = RandomInt(2, #random_ability_table)
   hero:AddAbility(random_ability_table[abrakadabra])
   local  id = hero:FindAbilityByName(random_ability_table[abrakadabra]):GetAbilityIndex()
   GameRules:SendCustomMessage("<font color='#FE2E2E'>Информация:</font> %s1 получил %s2", 0, GetAbilityByIndex(id))
end
Если я правильно понял.
« Последнее редактирование: 30-05-2016, 18:48:08 от Илья »

Оффлайн UZzip

  • Продвинутый
  • 282
  • Мощь: 0
  • WorldEditor2
Re: ссылка на имя игрока
« Ответ #14 : 31-05-2016, 14:16:52 »
Илья,  консоль:
Код
[ W VScript              ]: Script Runtime Error: ...me\dota_addons\zipn\scripts\vscripts\addon_game_mode.lua:89: attempt to call global 'GetAbilityByIndex' (a nil value)
[ W VScript              ]: stack traceback:
[ W VScript              ]:    ...me\dota_addons\zipn\scripts\vscripts\addon_game_mode.lua:89: in function 'GiveRandomAbility'
[ W VScript              ]:    ...me\dota_addons\zipn\scripts\vscripts\addon_game_mode.lua:68: in function <...me\dota_addons\zipn\scripts\vscripts\addon_game_mode.lua:66>


89
Код
 GameRules:SendCustomMessage("<font color='#FE2E2E'>Информация:</font> %s1 получил %s2", 0, GetAbilityByIndex(id))
66
Код
function main:OnHeroPicked (event)
68
Код
main:GiveRandomAbility(hero)