а, точно, блин... ладно буду что-то думать) спсТебе бы выскочило предупреждение вроде, либо в консоли бы написало
а, точно, блин... ладно буду что-то думать) спсТебе бы выскочило предупреждение вроде, либо в консоли бы написало
function sf1_2(keys)
local caster = keys.caster
local player = caster:GetPlayerOwnerID()
local team = caster:GetTeam()
local unit_position = caster:GetAbsOrigin()
if caster.HasModifier(caster, "modifier_lvlup") then
ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,})
local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 60)), true, caster, caster, team)
unit:SetControllableByPlayer(player, true)
unit:SetOwner(caster)
end
if not caster.HasModifier(caster, "modifier_lvlup") then
return
end
end
Очевидно, что ты сначала убиваешь юнита, а потом новому хозяином выставляешь этого самого уже мертвого юнита.создал пасивную абилку для юнита, которая при получении модификатора заменяет этого юнита на другого, но почему то не дает контроль над вторым, в чем причина?
Lua:function sf1_2(keys) local caster = keys.caster local player = caster:GetPlayerOwnerID() local team = caster:GetTeam() local unit_position = caster:GetAbsOrigin() if caster.HasModifier(caster, "modifier_lvlup") then ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,}) local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 60)), true, caster, caster, team) unit:SetControllableByPlayer(player, true) unit:SetOwner(caster) end if not caster.HasModifier(caster, "modifier_lvlup") then return end end
не подскажешь как исправить?Очевидно, что ты сначала убиваешь юнита, а потом новому хозяином выставляешь этого самого уже мертвого юнита.
Другого овнера выставить лолне подскажешь как исправить?
вот тебе абилка, которая проверяет колво ентити на карте общее и каждого по отдельностиа, точно, блин... ладно буду что-то думать) спс
test_entities = class({})
function test_entities:OnSpellStart()
local savedEntities = {}--savedEntities or {}
local current = Entities:First()
local newEntities = {}
local index = 0
while current do
local classname = current:GetClassname()
savedEntities[classname] = savedEntities[classname] and savedEntities[classname] + 1 or 1
savedEntities["total_enities"] = savedEntities["total_enities"] and savedEntities["total_enities"] + 1 or 1
current = Entities:Next(current)
end
print("total entities = "..savedEntities["total_enities"])
DeepPrintTable( savedEntities )
end
почему ты так уверен, что у него есть DeepPrintTable?вот тебе абилка, которая проверяет колво ентити на карте общее и каждого по отдельности
Код:test_entities = class({}) function test_entities:OnSpellStart() local savedEntities = {}--savedEntities or {} local current = Entities:First() local newEntities = {} local index = 0 while current do local classname = current:GetClassname() savedEntities[classname] = savedEntities[classname] and savedEntities[classname] + 1 or 1 savedEntities["total_enities"] = savedEntities["total_enities"] and savedEntities["total_enities"] + 1 or 1 current = Entities:Next(current) end print("total entities = "..savedEntities["total_enities"]) DeepPrintTable( savedEntities ) end
Потому что он по дефолту у всех есть, лолпочему ты так уверен, что у него есть DeepPrintTable?
все равно не дает контроль, это крип созданный от крипа, который тоже создан крипомДругого овнера выставить лол
function sf1_2(keys)
local caster = keys.caster
local team = caster:GetTeam()
local unit_position = caster:GetAbsOrigin()
local owner = caster:GetOwner()
if caster.HasModifier(caster, "modifier_lvlup") then
local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 50)), true, caster, caster, team)
unit:SetControllableByPlayer(caster:GetPlayerOwnerID(), true)
unit:SetOwner(owner)
ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,})
end
if not caster.HasModifier(caster, "modifier_lvlup") then
return
end
end
Героя передавай тудавсе равно не дает контроль, это крип созданный от крипа, который тоже создан крипом
Lua:function sf1_2(keys) local caster = keys.caster local team = caster:GetTeam() local unit_position = caster:GetAbsOrigin() local owner = caster:GetOwner() if caster.HasModifier(caster, "modifier_lvlup") then local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 50)), true, caster, caster, team) unit:SetControllableByPlayer(caster:GetPlayerOwnerID(), true) unit:SetOwner(owner) ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,}) end if not caster.HasModifier(caster, "modifier_lvlup") then return end end
У тебя крип умирает, я же сказал тебе омгвсе равно не дает контроль, это крип созданный от крипа, который тоже создан крипом
Lua:function sf1_2(keys) local caster = keys.caster local team = caster:GetTeam() local unit_position = caster:GetAbsOrigin() local owner = caster:GetOwner() if caster.HasModifier(caster, "modifier_lvlup") then local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 50)), true, caster, caster, team) unit:SetControllableByPlayer(caster:GetPlayerOwnerID(), true) unit:SetOwner(owner) ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,}) end if not caster.HasModifier(caster, "modifier_lvlup") then return end end
Получить его по плеер idчет я тупняк словил, как передать героя?
сделал как ты когда-то, спасибо! может кому понадобитсяУ тебя крип умирает, я же сказал тебе омг
function sf1_2(keys)
local caster = keys.caster
local team = caster:GetTeam()
local unit_position = caster:GetAbsOrigin()
if caster.HasModifier(caster, "modifier_lvlup") and PlayerResource:IsValidPlayer(0) then
local player = PlayerResource:GetSelectedHeroEntity(0)
local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 50)), true, player, player:GetOwner(), team)
unit:SetControllableByPlayer(0, true)
unit:SetOwner(player)
ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,})
end
if not caster.HasModifier(caster, "modifier_lvlup") then
return
end
end
спасибо, но не понятно, что оно мне даст? total entities = 11109 и список энтити.. и что?)вот тебе абилка, которая проверяет колво ентити на карте общее и каждого по отдельности
Код:test_entities = class({}) function test_entities:OnSpellStart() local savedEntities = {}--savedEntities or {} local current = Entities:First() local newEntities = {} local index = 0 while current do local classname = current:GetClassname() savedEntities[classname] = savedEntities[classname] and savedEntities[classname] + 1 or 1 savedEntities["total_enities"] = savedEntities["total_enities"] and savedEntities["total_enities"] + 1 or 1 current = Entities:Next(current) end print("total entities = "..savedEntities["total_enities"]) DeepPrintTable( savedEntities ) end
А то что у тебя превышение в 1109 км/ч, ваша остановачка, заплотите штрафспасибо, но не понятно, что оно мне даст? total entities = 11109 и список энтити.. и что?)
У тебя игрок 1? Если нет, то где нули ты должен плеер айди вставлятьсделал как ты когда-то, спасибо! может кому понадобится
Lua:function sf1_2(keys) local caster = keys.caster local team = caster:GetTeam() local unit_position = caster:GetAbsOrigin() if caster.HasModifier(caster, "modifier_lvlup") and PlayerResource:IsValidPlayer(0) then local player = PlayerResource:GetSelectedHeroEntity(0) local unit = CreateUnitByName("npc_dota_sf_2", unit_position + RandomVector( RandomFloat( 0, 50)), true, player, player:GetOwner(), team) unit:SetControllableByPlayer(0, true) unit:SetOwner(player) ApplyDamage({victim = keys.caster, attacker = keys.caster, damage = 999999999, damage_type = DAMAGE_TYPE_PURE,}) end if not caster.HasModifier(caster, "modifier_lvlup") then return end end
Хорошо, исправлюУ тебя игрок 1? Если нет, то где нули ты должен плеер айди вставлять
это понятно) прикол в том, что это не все) у меня по триггерам вызываются еще куча ентитиА то что у тебя превышение в 1109 км/ч, ваша остановачка, заплотите штраф
Ну оптимизируй тогда, убери лишних крипов, удаляй тех, что игрок уже не увидит, создавай крипов только когда герой рядом и тдэто понятно) прикол в том, что это не все) у меня по триггерам вызываются еще куча ентити