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