Проверка через PlayerResource:GetSelectedHeroEntity для 1 героя

  • Автор темы Автор темы den4iccc
  • Дата начала Дата начала

den4iccc

Друзья CG
20 Сен 2014
440
1
Проект
Survival in Taiga XE
Мне надо сделать проверку только для 1 героя, тут есть выбор для кого будет действовать данный скрипт мне надо сделать так что бы выбиралось только для 1 героя а не для DOTA_MAX_TEAM_PLAYERS-1 (всех) это скрипт из моддоты на систему дропа вещей с мобов я добавил условие если у героя есть предмет в инвентаре, то при убйстве дропается с него шмот тоетсь активируется это условие которе отправляется в OnEntityKilled,
Код:
 if killedUnit:IsCreature() then RollDrops_fat(killedUnit) end
мне надо обозначить переменную hero так что бы только для 1 героя бьла проверка

Код:
function RollDrops_fat(event)
	for playerID = 0, DOTA_MAX_TEAM_PLAYERS-1 do
  if PlayerResource:IsValidPlayerID(playerID) then
  local hero = PlayerResource:GetSelectedHeroEntity(playerID)

  local DropInfo_fat = GameRules.DropTable_fat[event:GetUnitName()]
  if DropInfo_fat then
    for k,ItemTable in pairs(DropInfo_fat) do
      local chance = ItemTable.Chance or 100
      local max_drops = ItemTable.Multiple or 1
      local item_name = ItemTable.Item
      for i=1,max_drops do
			if hero:HasItemInInventory("item_scalp") then
        if RollPercentage(chance) then
          print("Creating "..item_name)
          local item = CreateItem(item_name, nil, nil)
          item:SetPurchaseTime(0)
          local pos = event:GetAbsOrigin()
          local drop = CreateItemOnPositionSync( pos, item )
          local pos_launch = pos+RandomVector(RandomFloat(150,200))
          item:LaunchLoot(false, 200, 0.75, pos_launch)
        end
			 end	
      end
    end
  end
end
end
end
 
Последнее редактирование модератором:
den4iccc, передавай в функцию кроме убитого юнита еще и героя, в чем проблема?
 
Реклама: