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

Узнать команду

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

Оффлайн tasman208

  • 128
  • Мощь: 0
Узнать команду
« : 01-04-2016, 15:40:25 »
Есть ли способ узнать команду героя который использовал определенный предмет?
Crusade Commanders

Оффлайн CryDeS

  • Друзья CG
  • 1194
  • Мощь: 11
Re: Узнать команду
« Ответ #1 : 01-04-2016, 16:09:42 »
Есть ли способ узнать команду героя который использовал определенный предмет?
Код
hero:GetTeamNumber()
и юзай эвент dota_player_used_ability
подробнее:
https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/Built-In_Engine_Events
https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/API#CDOTA_BaseNPC

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Узнать команду
« Ответ #2 : 01-04-2016, 16:26:32 »
А есть какой то пример? Не работал еще с ивентами, не знаю как все построить
Crusade Commanders

Оффлайн CryDeS

  • Друзья CG
  • 1194
  • Мощь: 11
Re: Узнать команду
« Ответ #3 : 01-04-2016, 17:07:27 »
А есть какой то пример? Не работал еще с ивентами, не знаю как все построить
https://developer.valvesoftware.com/wiki/Dota_2_Workshop_Tools/Scripting/Listening_to_game_events#More_examples

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Узнать команду
« Ответ #4 : 04-04-2016, 08:27:11 »
У меня все никак не получается узнать id игрока, который использовал предмет, чтобы узнать его команду. Как это сделать?
Код
 function Activate()
    ListenToGameEvent("dota_player_used_ability", OnUsed, nil)
 end
 
 function OnUsed()
  --Тут нужно узнать id игрока
      local player = PlayerResource:GetPlayer(id)
      local num = player:GetTeamNumber()
      local name =  GetTeamName(num)
        if name == "#DOTA_GoodGuys" then
          _G.team = 1
        else
          _G.team = 2
        end
    end
 end
Crusade Commanders

Оффлайн CryDeS

  • Друзья CG
  • 1194
  • Мощь: 11
Re: Узнать команду
« Ответ #5 : 04-04-2016, 09:45:52 »
У меня все никак не получается узнать id игрока, который использовал предмет, чтобы узнать его команду. Как это сделать?

Я тебе в другой теме ответил подробно довольно
http://customgames.ru/forum/index.php?topic=806.0

Оффлайн tasman208

  • 128
  • Мощь: 0
Re: Узнать команду
« Ответ #6 : 04-04-2016, 09:50:15 »
На самом деле не зря эти вопросы в разных темах, это совершенно разные вещи. А распознавание команды я реализовал, спасибо за помощь.
Код
function Activate()
    ListenToGameEvent("dota_player_used_ability", OnUsed, nil)
 end

function OnUsed(keys)
      local player = PlayerResource:GetPlayer(keys.PlayerID)
      local num = player:GetTeamNumber()
      local name =  GetTeamName(num)
        if name == "#DOTA_GoodGuys" then
          _G.team = 1
        else
          _G.team = 2
        end
 end
Crusade Commanders